@dotcom-tool-kit/serverless 2.4.4 → 3.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.toolkitrc.yml +7 -0
- package/lib/tasks/deploy.d.ts +5 -4
- package/lib/tasks/deploy.d.ts.map +1 -1
- package/lib/tasks/deploy.js +4 -33
- package/lib/tasks/provision.d.ts +5 -4
- package/lib/tasks/provision.d.ts.map +1 -1
- package/lib/tasks/provision.js +11 -30
- package/lib/tasks/run.d.ts +7 -4
- package/lib/tasks/run.d.ts.map +1 -1
- package/lib/tasks/run.js +5 -5
- package/lib/tasks/teardown.d.ts +5 -4
- package/lib/tasks/teardown.d.ts.map +1 -1
- package/lib/tasks/teardown.js +4 -28
- package/package.json +11 -8
- package/readme.md +39 -18
- package/lib/index.d.ts +0 -3
- package/lib/index.d.ts.map +0 -1
- package/lib/index.js +0 -9
package/.toolkitrc.yml
CHANGED
package/lib/tasks/deploy.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { Task } from '@dotcom-tool-kit/
|
|
2
|
-
import { ServerlessSchema } from '@dotcom-tool-kit/
|
|
3
|
-
export default class ServerlessDeploy extends Task<
|
|
4
|
-
|
|
1
|
+
import { Task } from '@dotcom-tool-kit/base';
|
|
2
|
+
import { ServerlessSchema } from '@dotcom-tool-kit/schemas/lib/plugins/serverless';
|
|
3
|
+
export default class ServerlessDeploy extends Task<{
|
|
4
|
+
plugin: typeof ServerlessSchema;
|
|
5
|
+
}> {
|
|
5
6
|
run(): Promise<void>;
|
|
6
7
|
}
|
|
7
8
|
//# sourceMappingURL=deploy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/tasks/deploy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/tasks/deploy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iDAAiD,CAAA;AAGlF,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,IAAI,CAAC;IAAE,MAAM,EAAE,OAAO,gBAAgB,CAAA;CAAE,CAAC;IAC/E,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA0B3B"}
|
package/lib/tasks/deploy.js
CHANGED
|
@@ -1,36 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const error_1 = require("@dotcom-tool-kit/error");
|
|
4
3
|
const logger_1 = require("@dotcom-tool-kit/logger");
|
|
5
|
-
const
|
|
6
|
-
const doppler_1 = require("@dotcom-tool-kit/doppler");
|
|
7
|
-
const options_1 = require("@dotcom-tool-kit/options");
|
|
4
|
+
const base_1 = require("@dotcom-tool-kit/base");
|
|
8
5
|
const child_process_1 = require("child_process");
|
|
9
|
-
class ServerlessDeploy extends
|
|
6
|
+
class ServerlessDeploy extends base_1.Task {
|
|
10
7
|
async run() {
|
|
11
|
-
const {
|
|
12
|
-
const buildNum = process.env[buildNumVariable];
|
|
13
|
-
if (buildNum === undefined) {
|
|
14
|
-
throw new error_1.ToolKitError(`the ${logger_1.styles.task('ServerlessDeploy')} task requires the ${logger_1.styles.code(`$${buildNumVariable}`)} environment variable to be defined`);
|
|
15
|
-
}
|
|
16
|
-
let vaultEnv = {};
|
|
17
|
-
// HACK:20231124:IM We need to call Vault to check whether a project has
|
|
18
|
-
// migrated to Doppler yet, and sync Vault secrets if it hasn't, but this
|
|
19
|
-
// logic should be removed entirely once we drop support for Vault. We can
|
|
20
|
-
// skip this call if we find the project has already added options for
|
|
21
|
-
// doppler in the Tool Kit configuration.
|
|
22
|
-
const migratedToolKitToDoppler = Boolean((0, options_1.getOptions)('@dotcom-tool-kit/doppler')?.project);
|
|
23
|
-
if (useVault && !migratedToolKitToDoppler) {
|
|
24
|
-
const dopplerCi = new doppler_1.DopplerEnvVars(this.logger, 'ci');
|
|
25
|
-
const vaultCi = await dopplerCi.fallbackToVault();
|
|
26
|
-
// HACK:20231023:IM don't read secrets when the project has already
|
|
27
|
-
// migrated from Vault to Doppler – Doppler will instead sync secrets to
|
|
28
|
-
// Parameter Store for the Serverless config to reference
|
|
29
|
-
if (!vaultCi.MIGRATED_TO_DOPPLER) {
|
|
30
|
-
const dopplerEnvVars = new doppler_1.DopplerEnvVars(this.logger, 'prod');
|
|
31
|
-
vaultEnv = await dopplerEnvVars.fallbackToVault();
|
|
32
|
-
}
|
|
33
|
-
}
|
|
8
|
+
const { configPath, regions, systemCode } = this.pluginOptions;
|
|
34
9
|
for (const region of regions) {
|
|
35
10
|
this.logger.verbose('starting the child serverless process...');
|
|
36
11
|
const args = [
|
|
@@ -46,10 +21,7 @@ class ServerlessDeploy extends types_1.Task {
|
|
|
46
21
|
args.push('--config', configPath);
|
|
47
22
|
}
|
|
48
23
|
const child = (0, child_process_1.spawn)('serverless', args, {
|
|
49
|
-
env:
|
|
50
|
-
...process.env,
|
|
51
|
-
...vaultEnv
|
|
52
|
-
}
|
|
24
|
+
env: process.env
|
|
53
25
|
});
|
|
54
26
|
(0, logger_1.hookFork)(this.logger, 'serverless', child);
|
|
55
27
|
await (0, logger_1.waitOnExit)('serverless', child);
|
|
@@ -57,4 +29,3 @@ class ServerlessDeploy extends types_1.Task {
|
|
|
57
29
|
}
|
|
58
30
|
}
|
|
59
31
|
exports.default = ServerlessDeploy;
|
|
60
|
-
ServerlessDeploy.description = 'Deploys on AWS';
|
package/lib/tasks/provision.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { Task } from '@dotcom-tool-kit/
|
|
2
|
-
import { ServerlessSchema } from '@dotcom-tool-kit/
|
|
3
|
-
export default class ServerlessProvision extends Task<
|
|
4
|
-
|
|
1
|
+
import { Task } from '@dotcom-tool-kit/base';
|
|
2
|
+
import { ServerlessSchema } from '@dotcom-tool-kit/schemas/lib/plugins/serverless';
|
|
3
|
+
export default class ServerlessProvision extends Task<{
|
|
4
|
+
plugin: typeof ServerlessSchema;
|
|
5
|
+
}> {
|
|
5
6
|
run(): Promise<void>;
|
|
6
7
|
}
|
|
7
8
|
//# sourceMappingURL=provision.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provision.d.ts","sourceRoot":"","sources":["../../src/tasks/provision.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"provision.d.ts","sourceRoot":"","sources":["../../src/tasks/provision.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iDAAiD,CAAA;AAIlF,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,IAAI,CAAC;IAAE,MAAM,EAAE,OAAO,gBAAgB,CAAA;CAAE,CAAC;IAClF,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAkD3B"}
|
package/lib/tasks/provision.js
CHANGED
|
@@ -2,35 +2,20 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const error_1 = require("@dotcom-tool-kit/error");
|
|
4
4
|
const logger_1 = require("@dotcom-tool-kit/logger");
|
|
5
|
-
const
|
|
6
|
-
const doppler_1 = require("@dotcom-tool-kit/doppler");
|
|
5
|
+
const base_1 = require("@dotcom-tool-kit/base");
|
|
7
6
|
const child_process_1 = require("child_process");
|
|
8
|
-
const options_1 = require("@dotcom-tool-kit/options");
|
|
9
7
|
const state_1 = require("@dotcom-tool-kit/state");
|
|
10
|
-
class ServerlessProvision extends
|
|
8
|
+
class ServerlessProvision extends base_1.Task {
|
|
11
9
|
async run() {
|
|
12
|
-
const {
|
|
13
|
-
const
|
|
14
|
-
if (
|
|
15
|
-
throw new error_1.ToolKitError(`the ${logger_1.styles.task('
|
|
10
|
+
const { configPath, systemCode, regions } = this.pluginOptions;
|
|
11
|
+
const ciState = (0, state_1.readState)('ci');
|
|
12
|
+
if (!ciState) {
|
|
13
|
+
throw new error_1.ToolKitError(`the ${logger_1.styles.task('ServerlessDeploy')} should be run in CI, but no CI state was found. check you have a plugin installed that initialises the CI state.`);
|
|
16
14
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
// skip this call if we find the project has already added options for
|
|
22
|
-
// doppler in the Tool Kit configuration.
|
|
23
|
-
const migratedToolKitToDoppler = Boolean((0, options_1.getOptions)('@dotcom-tool-kit/doppler')?.project);
|
|
24
|
-
if (useVault && !migratedToolKitToDoppler) {
|
|
25
|
-
const dopplerCi = new doppler_1.DopplerEnvVars(this.logger, 'ci');
|
|
26
|
-
const vaultCi = await dopplerCi.fallbackToVault();
|
|
27
|
-
// HACK:20231023:IM don't read secrets when the project has already
|
|
28
|
-
// migrated from Vault to Doppler – Doppler will instead sync secrets to
|
|
29
|
-
// Parameter Store for the Serverless config to reference
|
|
30
|
-
if (!vaultCi.MIGRATED_TO_DOPPLER) {
|
|
31
|
-
const dopplerEnvVars = new doppler_1.DopplerEnvVars(this.logger, 'dev');
|
|
32
|
-
vaultEnv = await dopplerEnvVars.fallbackToVault();
|
|
33
|
-
}
|
|
15
|
+
const buildNum = ciState?.buildNumber;
|
|
16
|
+
if (!buildNum) {
|
|
17
|
+
const error = new error_1.ToolKitError(`the ${logger_1.styles.task('ServerlessDeploy')} requires a CI build number in the CI state.`);
|
|
18
|
+
error.details = `this is provided by plugins such as ${logger_1.styles.plugin('circleci')}, which populates it from the CIRCLE_BUILD_NUM environment variable.`;
|
|
34
19
|
}
|
|
35
20
|
const stageName = `ci${buildNum}`;
|
|
36
21
|
this.logger.verbose('starting the child serverless process...');
|
|
@@ -47,10 +32,7 @@ class ServerlessProvision extends types_1.Task {
|
|
|
47
32
|
args.push('--config', './serverless.yml');
|
|
48
33
|
}
|
|
49
34
|
const child = (0, child_process_1.spawn)('serverless', args, {
|
|
50
|
-
env:
|
|
51
|
-
...process.env,
|
|
52
|
-
...vaultEnv
|
|
53
|
-
}
|
|
35
|
+
env: process.env
|
|
54
36
|
});
|
|
55
37
|
(0, logger_1.hookFork)(this.logger, 'serverless', child);
|
|
56
38
|
await (0, logger_1.waitOnExit)('serverless', child);
|
|
@@ -60,4 +42,3 @@ class ServerlessProvision extends types_1.Task {
|
|
|
60
42
|
}
|
|
61
43
|
}
|
|
62
44
|
exports.default = ServerlessProvision;
|
|
63
|
-
ServerlessProvision.description = 'Provisions a job on AWS';
|
package/lib/tasks/run.d.ts
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
import { Task } from '@dotcom-tool-kit/
|
|
2
|
-
import { ServerlessSchema } from '@dotcom-tool-kit/
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { Task } from '@dotcom-tool-kit/base';
|
|
2
|
+
import { ServerlessSchema } from '@dotcom-tool-kit/schemas/lib/plugins/serverless';
|
|
3
|
+
import { ServerlessRunSchema } from '@dotcom-tool-kit/schemas/src/tasks/serverless-run';
|
|
4
|
+
export default class ServerlessRun extends Task<{
|
|
5
|
+
task: typeof ServerlessRunSchema;
|
|
6
|
+
plugin: typeof ServerlessSchema;
|
|
7
|
+
}> {
|
|
5
8
|
run(): Promise<void>;
|
|
6
9
|
}
|
|
7
10
|
//# sourceMappingURL=run.d.ts.map
|
package/lib/tasks/run.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/tasks/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/tasks/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iDAAiD,CAAA;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,mDAAmD,CAAA;AAOvF,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,IAAI,CAAC;IAC9C,IAAI,EAAE,OAAO,mBAAmB,CAAA;IAChC,MAAM,EAAE,OAAO,gBAAgB,CAAA;CAChC,CAAC;IACM,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA4C3B"}
|
package/lib/tasks/run.js
CHANGED
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
|
-
const
|
|
4
|
+
const base_1 = require("@dotcom-tool-kit/base");
|
|
5
5
|
const child_process_1 = require("child_process");
|
|
6
6
|
const doppler_1 = require("@dotcom-tool-kit/doppler");
|
|
7
7
|
const logger_1 = require("@dotcom-tool-kit/logger");
|
|
8
8
|
const get_port_1 = tslib_1.__importDefault(require("get-port"));
|
|
9
9
|
const wait_port_1 = tslib_1.__importDefault(require("wait-port"));
|
|
10
|
-
class ServerlessRun extends
|
|
10
|
+
class ServerlessRun extends base_1.Task {
|
|
11
11
|
async run() {
|
|
12
|
-
const {
|
|
12
|
+
const { useDoppler, ports } = this.options;
|
|
13
|
+
const { configPath } = this.pluginOptions;
|
|
13
14
|
let dopplerEnv = {};
|
|
14
|
-
if (
|
|
15
|
+
if (useDoppler) {
|
|
15
16
|
const doppler = new doppler_1.DopplerEnvVars(this.logger, 'dev');
|
|
16
17
|
dopplerEnv = await doppler.get();
|
|
17
18
|
}
|
|
@@ -45,4 +46,3 @@ class ServerlessRun extends types_1.Task {
|
|
|
45
46
|
}
|
|
46
47
|
}
|
|
47
48
|
exports.default = ServerlessRun;
|
|
48
|
-
ServerlessRun.description = 'Run serverless functions locally';
|
package/lib/tasks/teardown.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { Task } from '@dotcom-tool-kit/
|
|
2
|
-
import { ServerlessSchema } from '@dotcom-tool-kit/
|
|
3
|
-
export default class ServerlessTeardown extends Task<
|
|
4
|
-
|
|
1
|
+
import { Task } from '@dotcom-tool-kit/base';
|
|
2
|
+
import { ServerlessSchema } from '@dotcom-tool-kit/schemas/lib/plugins/serverless';
|
|
3
|
+
export default class ServerlessTeardown extends Task<{
|
|
4
|
+
plugin: typeof ServerlessSchema;
|
|
5
|
+
}> {
|
|
5
6
|
run(): Promise<void>;
|
|
6
7
|
}
|
|
7
8
|
//# sourceMappingURL=teardown.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"teardown.d.ts","sourceRoot":"","sources":["../../src/tasks/teardown.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"teardown.d.ts","sourceRoot":"","sources":["../../src/tasks/teardown.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iDAAiD,CAAA;AAIlF,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,IAAI,CAAC;IAAE,MAAM,EAAE,OAAO,gBAAgB,CAAA;CAAE,CAAC;IACjF,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAkC3B"}
|
package/lib/tasks/teardown.js
CHANGED
|
@@ -2,36 +2,16 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const error_1 = require("@dotcom-tool-kit/error");
|
|
4
4
|
const logger_1 = require("@dotcom-tool-kit/logger");
|
|
5
|
-
const
|
|
5
|
+
const base_1 = require("@dotcom-tool-kit/base");
|
|
6
6
|
const state_1 = require("@dotcom-tool-kit/state");
|
|
7
|
-
const doppler_1 = require("@dotcom-tool-kit/doppler");
|
|
8
7
|
const child_process_1 = require("child_process");
|
|
9
|
-
|
|
10
|
-
class ServerlessTeardown extends types_1.Task {
|
|
8
|
+
class ServerlessTeardown extends base_1.Task {
|
|
11
9
|
async run() {
|
|
12
|
-
const {
|
|
10
|
+
const { configPath, regions, systemCode } = this.pluginOptions;
|
|
13
11
|
const reviewState = (0, state_1.readState)('review');
|
|
14
12
|
if (!reviewState || !reviewState.stageName) {
|
|
15
13
|
throw new error_1.ToolKitError(`Could not find state for review, check that ${logger_1.styles.hook('deploy:review')} ran successfully`);
|
|
16
14
|
}
|
|
17
|
-
let vaultEnv = {};
|
|
18
|
-
// HACK:20231124:IM We need to call Vault to check whether a project has
|
|
19
|
-
// migrated to Doppler yet, and sync Vault secrets if it hasn't, but this
|
|
20
|
-
// logic should be removed entirely once we drop support for Vault. We can
|
|
21
|
-
// skip this call if we find the project has already added options for
|
|
22
|
-
// doppler in the Tool Kit configuration.
|
|
23
|
-
const migratedToolKitToDoppler = Boolean((0, options_1.getOptions)('@dotcom-tool-kit/doppler')?.project);
|
|
24
|
-
if (useVault && !migratedToolKitToDoppler) {
|
|
25
|
-
const dopplerCi = new doppler_1.DopplerEnvVars(this.logger, 'ci');
|
|
26
|
-
const vaultCi = await dopplerCi.fallbackToVault();
|
|
27
|
-
// HACK:20231023:IM don't read secrets when the project has already
|
|
28
|
-
// migrated from Vault to Doppler – Doppler will instead sync secrets to
|
|
29
|
-
// Parameter Store for the Serverless config to reference
|
|
30
|
-
if (!vaultCi.MIGRATED_TO_DOPPLER) {
|
|
31
|
-
const dopplerEnvVars = new doppler_1.DopplerEnvVars(this.logger, 'dev');
|
|
32
|
-
vaultEnv = await dopplerEnvVars.fallbackToVault();
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
15
|
this.logger.verbose('starting the child serverless process...');
|
|
36
16
|
const args = [
|
|
37
17
|
'remove',
|
|
@@ -46,14 +26,10 @@ class ServerlessTeardown extends types_1.Task {
|
|
|
46
26
|
args.push('--config', './serverless.yml');
|
|
47
27
|
}
|
|
48
28
|
const child = (0, child_process_1.spawn)('serverless', args, {
|
|
49
|
-
env:
|
|
50
|
-
...process.env,
|
|
51
|
-
...vaultEnv
|
|
52
|
-
}
|
|
29
|
+
env: process.env
|
|
53
30
|
});
|
|
54
31
|
(0, logger_1.hookFork)(this.logger, 'serverless', child);
|
|
55
32
|
await (0, logger_1.waitOnExit)('serverless', child);
|
|
56
33
|
}
|
|
57
34
|
}
|
|
58
35
|
exports.default = ServerlessTeardown;
|
|
59
|
-
ServerlessTeardown.description = 'Teardown existing serverless functions';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dotcom-tool-kit/serverless",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0-beta.1",
|
|
4
4
|
"description": "a plugin to manage and deploy apps using AWS Serverless",
|
|
5
5
|
"main": "lib",
|
|
6
6
|
"scripts": {
|
|
@@ -21,21 +21,24 @@
|
|
|
21
21
|
".toolkitrc.yml"
|
|
22
22
|
],
|
|
23
23
|
"peerDependencies": {
|
|
24
|
-
"dotcom-tool-kit": "
|
|
24
|
+
"dotcom-tool-kit": "4.0.0-beta.1",
|
|
25
25
|
"serverless-offline": "^12.0.4"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@dotcom-tool-kit/
|
|
29
|
-
"@dotcom-tool-kit/
|
|
30
|
-
"@dotcom-tool-kit/
|
|
31
|
-
"@dotcom-tool-kit/
|
|
32
|
-
"@dotcom-tool-kit/
|
|
28
|
+
"@dotcom-tool-kit/base": "4.0.0-beta.0",
|
|
29
|
+
"@dotcom-tool-kit/doppler": "2.0.0-beta.0",
|
|
30
|
+
"@dotcom-tool-kit/error": "4.0.0-beta.0",
|
|
31
|
+
"@dotcom-tool-kit/options": "4.0.0-beta.0",
|
|
32
|
+
"@dotcom-tool-kit/state": "4.0.0-beta.0",
|
|
33
33
|
"get-port": "^5.1.1",
|
|
34
34
|
"tslib": "^2.3.1",
|
|
35
35
|
"wait-port": "^0.2.9"
|
|
36
36
|
},
|
|
37
37
|
"engines": {
|
|
38
|
-
"node": "
|
|
38
|
+
"node": "18.x || 20.x",
|
|
39
39
|
"npm": "7.x || 8.x || 9.x || 10.x"
|
|
40
|
+
},
|
|
41
|
+
"devDependencies": {
|
|
42
|
+
"@dotcom-tool-kit/schemas": "2.0.0-beta.0"
|
|
40
43
|
}
|
|
41
44
|
}
|
package/readme.md
CHANGED
|
@@ -19,23 +19,44 @@ plugins:
|
|
|
19
19
|
- '@dotcom-tool-kit/serverless'
|
|
20
20
|
```
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
| Key | Description | Default value |
|
|
25
|
-
|-|-|-|
|
|
26
|
-
| `awsAccountId` | [required] the ID of the AWS account you wish to deploy to (account IDs can be found at the [FT login page](https://awslogin.in.ft.com/)) | none |
|
|
27
|
-
| `systemCode` | [required] the system code for your app | none |
|
|
28
|
-
| `region` | [require] what AWS region you want to deploy to (usually `eu-west-1`) | none |
|
|
29
|
-
| `configPath` | [optional] path to your serverless config file. If this is not provided aws defaults to `./serverless.yml` but [other config fomats are accepted](https://www.serverless.com/framework/docs/providers/aws/guide/intro#alternative-configuration-format)| |
|
|
30
|
-
| `useVault` | option to run the application with environment variables from Vault | `true` |
|
|
31
|
-
| `ports` | ports to try to bind to for this application | `[3001, 3002, 3003]` |
|
|
32
|
-
| `buildNumVariable` | an environment variable used to get a unique ID to use in the provisioning stage | `CIRCLE_BUILD_NUM` |
|
|
33
|
-
|
|
22
|
+
<!-- begin autogenerated docs -->
|
|
34
23
|
## Tasks
|
|
35
24
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
|
25
|
+
### `ServerlessRun`
|
|
26
|
+
|
|
27
|
+
Run serverless functions locally
|
|
28
|
+
#### Task options
|
|
29
|
+
|
|
30
|
+
| Property | Description | Type | Default |
|
|
31
|
+
| :----------- | :---------------------------------------------------------- | :-------------- | :----------------- |
|
|
32
|
+
| `ports` | ports to try to bind to for this application | `Array<number>` | `[3001,3002,3003]` |
|
|
33
|
+
| `useDoppler` | run the application with environment variables from Doppler | `boolean` | `true` |
|
|
34
|
+
|
|
35
|
+
_All properties are optional._
|
|
36
|
+
|
|
37
|
+
### `ServerlessDeploy`
|
|
38
|
+
|
|
39
|
+
Deploy a serverless function
|
|
40
|
+
|
|
41
|
+
### `ServerlessProvision`
|
|
42
|
+
|
|
43
|
+
Provision a review serverless function
|
|
44
|
+
|
|
45
|
+
### `ServerlessTeardown`
|
|
46
|
+
|
|
47
|
+
Tear down existing serverless functions
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
## Plugin-wide options
|
|
51
|
+
|
|
52
|
+
### `@dotcom-tool-kit/serverless`
|
|
53
|
+
|
|
54
|
+
| Property | Description | Type | Default |
|
|
55
|
+
| :---------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------- | :-------------- |
|
|
56
|
+
| **`awsAccountId`** (\*) | the ID of the AWS account you wish to deploy to (account IDs can be found at the [FT login page](https://awslogin.in.ft.com/)) | `string` | |
|
|
57
|
+
| **`systemCode`** (\*) | the system code for your app | `string` | |
|
|
58
|
+
| `regions` | an array of AWS regions you want to deploy to | `Array<string>` | `["eu-west-1"]` |
|
|
59
|
+
| `configPath` | path to your serverless config file. If this is not provided, Serverless defaults to `./serverless.yml` but [other config fomats are accepted](https://www.serverless.com/framework/docs/providers/aws/guide/intro#alternative-configuration-format) | `string` | |
|
|
60
|
+
|
|
61
|
+
_(\*) Required._
|
|
62
|
+
<!-- end autogenerated docs -->
|
package/lib/index.d.ts
DELETED
package/lib/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,MAAM,gBAAgB,CAAA;AAK7C,eAAO,MAAM,KAAK,6BAA6E,CAAA"}
|
package/lib/index.js
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.tasks = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const deploy_1 = tslib_1.__importDefault(require("./tasks/deploy"));
|
|
6
|
-
const provision_1 = tslib_1.__importDefault(require("./tasks/provision"));
|
|
7
|
-
const run_1 = tslib_1.__importDefault(require("./tasks/run"));
|
|
8
|
-
const teardown_1 = tslib_1.__importDefault(require("./tasks/teardown"));
|
|
9
|
-
exports.tasks = [run_1.default, deploy_1.default, provision_1.default, teardown_1.default];
|