1588 serverless follow ups 2 (#14998)
This commit is contained in:
-1
@@ -1 +0,0 @@
|
||||
export const COMMON_LAYER_NAME = 'common-layer';
|
||||
@@ -27,7 +27,6 @@ import {
|
||||
} from 'src/engine/core-modules/serverless/drivers/interfaces/serverless-driver.interface';
|
||||
|
||||
import { type FileStorageService } from 'src/engine/core-modules/file-storage/file-storage.service';
|
||||
import { COMMON_LAYER_NAME } from 'src/engine/core-modules/serverless/drivers/constants/common-layer-name';
|
||||
import { copyAndBuildDependencies } from 'src/engine/core-modules/serverless/drivers/utils/copy-and-build-dependencies';
|
||||
import { copyExecutor } from 'src/engine/core-modules/serverless/drivers/utils/copy-executor';
|
||||
import { createZipFile } from 'src/engine/core-modules/serverless/drivers/utils/create-zip-file';
|
||||
@@ -134,11 +133,7 @@ export class LambdaDriver implements ServerlessDriver {
|
||||
}
|
||||
|
||||
private getLayerName(serverlessFunction: ServerlessFunctionEntity) {
|
||||
if (isDefined(serverlessFunction?.serverlessFunctionLayer)) {
|
||||
return serverlessFunction?.serverlessFunctionLayer.checksum;
|
||||
}
|
||||
|
||||
return COMMON_LAYER_NAME;
|
||||
return serverlessFunction.serverlessFunctionLayer.checksum;
|
||||
}
|
||||
|
||||
private async createLayerIfNotExists(
|
||||
|
||||
@@ -1,15 +1,12 @@
|
||||
import { promises as fs } from 'fs';
|
||||
import { join } from 'path';
|
||||
|
||||
import { isDefined } from 'twenty-shared/utils';
|
||||
|
||||
import {
|
||||
type ServerlessDriver,
|
||||
type ServerlessExecuteResult,
|
||||
} from 'src/engine/core-modules/serverless/drivers/interfaces/serverless-driver.interface';
|
||||
|
||||
import { type FileStorageService } from 'src/engine/core-modules/file-storage/file-storage.service';
|
||||
import { COMMON_LAYER_NAME } from 'src/engine/core-modules/serverless/drivers/constants/common-layer-name';
|
||||
import { SERVERLESS_TMPDIR_FOLDER } from 'src/engine/core-modules/serverless/drivers/constants/serverless-tmpdir-folder';
|
||||
import { copyAndBuildDependencies } from 'src/engine/core-modules/serverless/drivers/utils/copy-and-build-dependencies';
|
||||
import { ConsoleListener } from 'src/engine/core-modules/serverless/drivers/utils/intercept-console';
|
||||
@@ -34,17 +31,9 @@ export class LocalDriver implements ServerlessDriver {
|
||||
private getInMemoryLayerFolderPath = (
|
||||
serverlessFunction: ServerlessFunctionEntity,
|
||||
) => {
|
||||
if (!isDefined(serverlessFunction?.serverlessFunctionLayer?.checksum)) {
|
||||
return join(
|
||||
SERVERLESS_TMPDIR_FOLDER,
|
||||
COMMON_LAYER_NAME,
|
||||
`${serverlessFunction.layerVersion}`,
|
||||
);
|
||||
}
|
||||
|
||||
return join(
|
||||
SERVERLESS_TMPDIR_FOLDER,
|
||||
serverlessFunction.serverlessFunctionLayer?.checksum,
|
||||
serverlessFunction.serverlessFunctionLayer.checksum,
|
||||
);
|
||||
};
|
||||
|
||||
|
||||
+8
-23
@@ -3,11 +3,8 @@ import { promisify } from 'util';
|
||||
import { exec } from 'child_process';
|
||||
import { join } from 'path';
|
||||
|
||||
import { isDefined } from 'twenty-shared/utils';
|
||||
|
||||
import { getLayerDependenciesDirName } from 'src/engine/core-modules/serverless/drivers/utils/get-layer-dependencies-dir-name';
|
||||
import type { ServerlessFunctionEntity } from 'src/engine/metadata-modules/serverless-function/serverless-function.entity';
|
||||
import { LAST_LAYER_VERSION } from 'src/engine/core-modules/serverless/drivers/layers/last-layer-version';
|
||||
|
||||
const execPromise = promisify(exec);
|
||||
|
||||
@@ -19,29 +16,17 @@ export const copyAndBuildDependencies = async (
|
||||
recursive: true,
|
||||
});
|
||||
|
||||
if (!isDefined(serverlessFunction.serverlessFunctionLayer)) {
|
||||
await fs.cp(
|
||||
getLayerDependenciesDirName(
|
||||
serverlessFunction.layerVersion || LAST_LAYER_VERSION,
|
||||
),
|
||||
buildDirectory,
|
||||
{
|
||||
recursive: true,
|
||||
},
|
||||
);
|
||||
} else {
|
||||
const packageJson = serverlessFunction.serverlessFunctionLayer.packageJson;
|
||||
const packageJson = serverlessFunction.serverlessFunctionLayer.packageJson;
|
||||
|
||||
const yarnLock = serverlessFunction.serverlessFunctionLayer.yarnLock;
|
||||
const yarnLock = serverlessFunction.serverlessFunctionLayer.yarnLock;
|
||||
|
||||
await fs.writeFile(
|
||||
join(buildDirectory, 'package.json'),
|
||||
JSON.stringify(packageJson, null, 2),
|
||||
'utf8',
|
||||
);
|
||||
await fs.writeFile(
|
||||
join(buildDirectory, 'package.json'),
|
||||
JSON.stringify(packageJson, null, 2),
|
||||
'utf8',
|
||||
);
|
||||
|
||||
await fs.writeFile(join(buildDirectory, 'yarn.lock'), yarnLock, 'utf8');
|
||||
}
|
||||
await fs.writeFile(join(buildDirectory, 'yarn.lock'), yarnLock, 'utf8');
|
||||
|
||||
await fs.cp(getLayerDependenciesDirName('engine'), buildDirectory, {
|
||||
recursive: true,
|
||||
|
||||
-18
@@ -1,10 +1,7 @@
|
||||
import fs from 'fs/promises';
|
||||
import { join } from 'path';
|
||||
|
||||
import { isDefined } from 'twenty-shared/utils';
|
||||
|
||||
import { getLayerDependenciesDirName } from 'src/engine/core-modules/serverless/drivers/utils/get-layer-dependencies-dir-name';
|
||||
import { type ServerlessFunctionEntity } from 'src/engine/metadata-modules/serverless-function/serverless-function.entity';
|
||||
import { LAST_LAYER_VERSION } from 'src/engine/core-modules/serverless/drivers/layers/last-layer-version';
|
||||
import { type PackageJson } from 'src/engine/core-modules/application/types/application.types';
|
||||
|
||||
@@ -24,18 +21,3 @@ export const getLastCommonLayerDependencies = async (
|
||||
|
||||
return { packageJson: JSON.parse(packageJson), yarnLock };
|
||||
};
|
||||
|
||||
export const getLayerDependencies = async (
|
||||
serverlessFunction: ServerlessFunctionEntity,
|
||||
): Promise<LayerDependencies> => {
|
||||
if (!isDefined(serverlessFunction.serverlessFunctionLayer)) {
|
||||
return getLastCommonLayerDependencies(
|
||||
serverlessFunction.layerVersion ?? undefined,
|
||||
);
|
||||
}
|
||||
|
||||
return {
|
||||
packageJson: serverlessFunction.serverlessFunctionLayer.packageJson,
|
||||
yarnLock: serverlessFunction.serverlessFunctionLayer.yarnLock,
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user