@dotcom-tool-kit/serverless 3.4.3 → 3.5.0

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.
@@ -1,5 +1,6 @@
1
1
  import { Task, TaskRunContext } from '@dotcom-tool-kit/base';
2
2
  import type ServerlessSchema from '../schema';
3
+ import { ChildProcess } from 'child_process';
3
4
  import * as z from 'zod';
4
5
  declare const ServerlessRunSchema: z.ZodObject<{
5
6
  ports: z.ZodDefault<z.ZodArray<z.ZodNumber, "many">>;
@@ -16,6 +17,8 @@ export default class ServerlessRun extends Task<{
16
17
  task: typeof ServerlessRunSchema;
17
18
  plugin: typeof ServerlessSchema;
18
19
  }> {
20
+ child?: ChildProcess;
19
21
  run({ cwd, config }: TaskRunContext): Promise<void>;
22
+ stop(): Promise<void>;
20
23
  }
21
24
  //# 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,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,KAAK,gBAAgB,MAAM,WAAW,CAAA;AAM7C,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAExB,QAAA,MAAM,mBAAmB;;;;;;;;;EAYsB,CAAA;AAC/C,OAAO,EAAE,mBAAmB,IAAI,MAAM,EAAE,CAAA;AAExC,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,IAAI,CAAC;IAC9C,IAAI,EAAE,OAAO,mBAAmB,CAAA;IAChC,MAAM,EAAE,OAAO,gBAAgB,CAAA;CAChC,CAAC;IACM,GAAG,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;CAiD1D"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/tasks/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,KAAK,gBAAgB,MAAM,WAAW,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAS,MAAM,eAAe,CAAA;AAKnD,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAExB,QAAA,MAAM,mBAAmB;;;;;;;;;EAYsB,CAAA;AAC/C,OAAO,EAAE,mBAAmB,IAAI,MAAM,EAAE,CAAA;AAExC,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,IAAI,CAAC;IAC9C,IAAI,EAAE,OAAO,mBAAmB,CAAA;IAChC,MAAM,EAAE,OAAO,gBAAgB,CAAA;CAChC,CAAC;IACA,KAAK,CAAC,EAAE,YAAY,CAAA;IAEd,GAAG,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAkDnD,IAAI;CAMX"}
package/lib/tasks/run.js CHANGED
@@ -24,6 +24,7 @@ const ServerlessRunSchema = z
24
24
  .describe('Run serverless functions locally');
25
25
  exports.schema = ServerlessRunSchema;
26
26
  class ServerlessRun extends base_1.Task {
27
+ child;
27
28
  async run({ cwd, config }) {
28
29
  const { useDoppler, ports } = this.options;
29
30
  const { configPath } = this.pluginOptions;
@@ -41,7 +42,7 @@ class ServerlessRun extends base_1.Task {
41
42
  if (configPath) {
42
43
  args.push('--config', './serverless.yml');
43
44
  }
44
- const child = (0, child_process_1.spawn)('serverless', args, {
45
+ this.child = (0, child_process_1.spawn)('serverless', args, {
45
46
  env: {
46
47
  ...dopplerEnv,
47
48
  PORT: port.toString(),
@@ -49,7 +50,7 @@ class ServerlessRun extends base_1.Task {
49
50
  },
50
51
  cwd
51
52
  });
52
- (0, logger_1.hookFork)(this.logger, 'serverless', child);
53
+ (0, logger_1.hookFork)(this.logger, 'serverless', this.child);
53
54
  const unhook = (0, logger_1.hookConsole)(this.logger, 'wait-port');
54
55
  try {
55
56
  await (0, wait_port_1.default)({
@@ -61,5 +62,11 @@ class ServerlessRun extends base_1.Task {
61
62
  unhook();
62
63
  }
63
64
  }
65
+ async stop() {
66
+ if (this.child && (this.child.exitCode === null || !this.child.killed)) {
67
+ // SIGINT instead of SIGKILL so the process gets chance to exit gracefully
68
+ this.child.kill('SIGINT');
69
+ }
70
+ }
64
71
  }
65
72
  exports.default = ServerlessRun;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dotcom-tool-kit/serverless",
3
- "version": "3.4.3",
3
+ "version": "3.5.0",
4
4
  "description": "a plugin to manage and deploy apps using AWS Serverless",
5
5
  "main": "lib",
6
6
  "scripts": {
@@ -25,7 +25,7 @@
25
25
  "serverless-offline": "12.x || 13.x"
26
26
  },
27
27
  "dependencies": {
28
- "@dotcom-tool-kit/base": "^1.2.3",
28
+ "@dotcom-tool-kit/base": "^1.3.0",
29
29
  "@dotcom-tool-kit/doppler": "^2.2.3",
30
30
  "@dotcom-tool-kit/error": "^4.1.1",
31
31
  "@dotcom-tool-kit/logger": "^4.2.2",