@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 CHANGED
@@ -0,0 +1,7 @@
1
+ tasks:
2
+ ServerlessRun: './lib/tasks/run'
3
+ ServerlessDeploy: './lib/tasks/deploy'
4
+ ServerlessProvision: './lib/tasks/provision'
5
+ ServerlessTeardown: './lib/tasks/teardown'
6
+
7
+ version: 2
@@ -1,7 +1,8 @@
1
- import { Task } from '@dotcom-tool-kit/types';
2
- import { ServerlessSchema } from '@dotcom-tool-kit/types/lib/schema/serverless';
3
- export default class ServerlessDeploy extends Task<typeof ServerlessSchema> {
4
- static description: string;
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":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAA;AAK/E,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,IAAI,CAAC,OAAO,gBAAgB,CAAC;IACzE,MAAM,CAAC,WAAW,SAAmB;IAE/B,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAyD3B"}
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"}
@@ -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 types_1 = require("@dotcom-tool-kit/types");
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 types_1.Task {
6
+ class ServerlessDeploy extends base_1.Task {
10
7
  async run() {
11
- const { useVault, configPath, buildNumVariable, regions, systemCode } = this.options;
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';
@@ -1,7 +1,8 @@
1
- import { Task } from '@dotcom-tool-kit/types';
2
- import { ServerlessSchema } from '@dotcom-tool-kit/types/lib/schema/serverless';
3
- export default class ServerlessProvision extends Task<typeof ServerlessSchema> {
4
- static description: string;
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,wBAAwB,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAA;AAM/E,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,IAAI,CAAC,OAAO,gBAAgB,CAAC;IAC5E,MAAM,CAAC,WAAW,SAA4B;IAExC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA4D3B"}
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"}
@@ -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 types_1 = require("@dotcom-tool-kit/types");
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 types_1.Task {
8
+ class ServerlessProvision extends base_1.Task {
11
9
  async run() {
12
- const { useVault, configPath, buildNumVariable, systemCode, regions } = this.options;
13
- const buildNum = process.env[buildNumVariable];
14
- if (buildNum === undefined) {
15
- throw new error_1.ToolKitError(`the ${logger_1.styles.task('ServerlessProvision')} task requires the ${logger_1.styles.code(`$${buildNumVariable}`)} environment variable to be defined`);
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
- 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
- }
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';
@@ -1,7 +1,10 @@
1
- import { Task } from '@dotcom-tool-kit/types';
2
- import { ServerlessSchema } from '@dotcom-tool-kit/types/lib/schema/serverless';
3
- export default class ServerlessRun extends Task<typeof ServerlessSchema> {
4
- static description: string;
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
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/tasks/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAA;AAO/E,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,IAAI,CAAC,OAAO,gBAAgB,CAAC;IACtE,MAAM,CAAC,WAAW,SAAqC;IAEjD,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA2C3B"}
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 types_1 = require("@dotcom-tool-kit/types");
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 types_1.Task {
10
+ class ServerlessRun extends base_1.Task {
11
11
  async run() {
12
- const { useVault, ports, configPath } = this.options;
12
+ const { useDoppler, ports } = this.options;
13
+ const { configPath } = this.pluginOptions;
13
14
  let dopplerEnv = {};
14
- if (useVault) {
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';
@@ -1,7 +1,8 @@
1
- import { Task } from '@dotcom-tool-kit/types';
2
- import { ServerlessSchema } from '@dotcom-tool-kit/types/lib/schema/serverless';
3
- export default class ServerlessTeardown extends Task<typeof ServerlessSchema> {
4
- static description: string;
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,wBAAwB,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAA;AAM/E,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,IAAI,CAAC,OAAO,gBAAgB,CAAC;IAC3E,MAAM,CAAC,WAAW,SAA2C;IAEvD,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAwD3B"}
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"}
@@ -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 types_1 = require("@dotcom-tool-kit/types");
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
- const options_1 = require("@dotcom-tool-kit/options");
10
- class ServerlessTeardown extends types_1.Task {
8
+ class ServerlessTeardown extends base_1.Task {
11
9
  async run() {
12
- const { useVault, configPath, regions, systemCode } = this.options;
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": "2.4.4",
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": "3.x",
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/doppler": "^1.1.0",
29
- "@dotcom-tool-kit/error": "^3.2.0",
30
- "@dotcom-tool-kit/options": "^3.2.0",
31
- "@dotcom-tool-kit/state": "^3.3.0",
32
- "@dotcom-tool-kit/types": "^3.6.0",
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": "16.x || 18.x || 20.x",
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
- ## Options
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
- | Task | Description | Default hooks |
37
- |-|-|-|
38
- | `ServerlessRun` | Run application with `serverless` | `run:local` |
39
- | `ServerlessProvision` | Deploy review app with `serverless` | `deploy:review` |
40
- | `ServerlessTeardown` | Remove review app with `serverless` | `teardown:review` |
41
- | `ServerlessDeploy` | Deploy production app with `serverless` | `deploy:production` |
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
@@ -1,3 +0,0 @@
1
- import ServerlessDeploy from './tasks/deploy';
2
- export declare const tasks: (typeof ServerlessDeploy)[];
3
- //# sourceMappingURL=index.d.ts.map
@@ -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];