@koeroesi86/node-webserver 26.10.37633705232-master → 26.10.37819209137-master

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/README.md CHANGED
@@ -22,7 +22,7 @@ Please enter in a console/terminal:
22
22
  pnpm install
23
23
  pnpm start
24
24
 
25
- `pnpm start` compiles the TypeScript sources in `src/` to `dist/` and restarts on changes. `pnpm build` creates the published `dist/` output once, `pnpm test` runs the Jest suite and `pnpm lint` checks formatting.
25
+ `pnpm start` compiles the TypeScript sources in `src/` to `dist/` and restarts on changes. `pnpm build` creates the published `dist/` output once, `pnpm test` runs the Jest suite, `pnpm test:integration` starts the built server (run `pnpm build` first) with a worker, a lambda (both communications) and a child server from [integration/fixtures](integration/fixtures) and sends requests to them, and `pnpm lint` checks formatting.
26
26
 
27
27
 
28
28
  ### Compression
@@ -1,13 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const fs_1 = require("fs");
4
+ const promises_1 = require("fs/promises");
4
5
  /**
5
6
  * Example driver for Storage
6
7
  */
7
8
  const fileDriver = {
8
9
  save: (path, data) => new Promise((res, rej) => (0, fs_1.writeFile)(path, data, 'utf8', (err) => (err ? rej(err) : res()))),
9
10
  restore: (path) => new Promise((res, rej) => (0, fs_1.readFile)(path, 'utf8', (err, data) => (err ? rej(err) : res(data)))),
10
- destroy: (path) => new Promise((res, rej) => ((0, fs_1.existsSync)(path) ? (0, fs_1.unlink)(path, (err) => (err ? rej(err) : res())) : setTimeout(res, 0))),
11
+ // the file may be gone already, which is not an error
12
+ destroy: (path) => (0, promises_1.rm)(path, { force: true }),
11
13
  };
12
14
  exports.default = fileDriver;
13
15
  //# sourceMappingURL=fileDriver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fileDriver.js","sourceRoot":"","sources":["../../src/utils/fileDriver.ts"],"names":[],"mappings":";;AAAA,2BAA6D;AAG7D;;GAEG;AACH,MAAM,UAAU,GAAkB;IAChC,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,IAAA,cAAS,EAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACjH,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,IAAA,aAAQ,EAAC,IAAI,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjH,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,IAAA,eAAU,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAA,WAAM,EAAC,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;CACxI,CAAC;AAEF,kBAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"fileDriver.js","sourceRoot":"","sources":["../../src/utils/fileDriver.ts"],"names":[],"mappings":";;AAAA,2BAAyC;AACzC,0CAAiC;AAGjC;;GAEG;AACH,MAAM,UAAU,GAAkB;IAChC,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,IAAA,cAAS,EAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACjH,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,IAAA,aAAQ,EAAC,IAAI,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjH,sDAAsD;IACtD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,aAAE,EAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;CAC7C,CAAC;AAEF,kBAAe,UAAU,CAAC"}
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const ARGUMENT_PATTERN = /[-]{1,2}([a-zA-Z0-9-]+)[=]?["']?([a-zA-Z0-9/\\.\-:]+)*["']?/;
4
- const VALUE_PATTERN = /["']?([a-zA-Z0-9/\\.\-:]+)*["']?/;
3
+ // a value can hold any character, quotes around it are dropped
4
+ const ARGUMENT_PATTERN = /^[-]{1,2}([a-zA-Z0-9_-]+)(?:=["']?([^"']*)["']?)?/;
5
+ const VALUE_PATTERN = /["']?([^"']*)["']?/;
5
6
  function parseArgv(argv = process.argv) {
6
7
  let skipNext = false;
7
8
  return argv.reduce((result, current, index) => {
@@ -9,13 +10,13 @@ function parseArgv(argv = process.argv) {
9
10
  result[index] = current;
10
11
  return result;
11
12
  }
12
- if (current.indexOf('-') !== 0) {
13
- return result;
14
- }
15
13
  if (skipNext) {
16
14
  skipNext = false;
17
15
  return result;
18
16
  }
17
+ if (current.indexOf('-') !== 0) {
18
+ return result;
19
+ }
19
20
  const matches = current.match(ARGUMENT_PATTERN);
20
21
  if (!matches) {
21
22
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"parseArgv.js","sourceRoot":"","sources":["../../src/utils/parseArgv.ts"],"names":[],"mappings":";;AAIA,MAAM,gBAAgB,GAAG,6DAA6D,CAAC;AACvF,MAAM,aAAa,GAAG,kCAAkC,CAAC;AAEzD,SAAS,SAAS,CAAC,OAAiB,OAAO,CAAC,IAAI;IAC9C,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,OAAO,IAAI,CAAC,MAAM,CAAa,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QACxD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;YACxB,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,GAAG,KAAK,CAAC;YACjB,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAEhD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,GAAG,OAAO,CAAC;QACrC,MAAM,CAAC,GAAG,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC;QAElC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAErC,IAAI,WAAW,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACpE,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,gBAAgB;QAChB,QAAQ,GAAG,IAAI,CAAC;QAChB,MAAM,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACrD,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AAED,kBAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"parseArgv.js","sourceRoot":"","sources":["../../src/utils/parseArgv.ts"],"names":[],"mappings":";;AAIA,+DAA+D;AAC/D,MAAM,gBAAgB,GAAG,mDAAmD,CAAC;AAC7E,MAAM,aAAa,GAAG,oBAAoB,CAAC;AAE3C,SAAS,SAAS,CAAC,OAAiB,OAAO,CAAC,IAAI;IAC9C,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,OAAO,IAAI,CAAC,MAAM,CAAa,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QACxD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;YACxB,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,GAAG,KAAK,CAAC;YACjB,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAEhD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,GAAG,OAAO,CAAC;QACrC,MAAM,CAAC,GAAG,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC;QAElC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAErC,IAAI,WAAW,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACpE,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,gBAAgB;QAChB,QAAQ,GAAG,IAAI,CAAC;QAChB,MAAM,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACrD,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AAED,kBAAe,SAAS,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@koeroesi86/node-webserver",
3
- "version": "26.10.37633705232-master",
3
+ "version": "26.10.37819209137-master",
4
4
  "description": "A local Lambda implementation",
5
5
  "main": "dist/index.js",
6
6
  "typings": "dist/index.d.ts",
@@ -29,8 +29,8 @@
29
29
  },
30
30
  "license": "MIT",
31
31
  "dependencies": {
32
- "@koeroesi86/node-lambda-invoke": "26.10.37633705232-master",
33
- "@koeroesi86/node-worker-express": "26.10.37633705232-master",
32
+ "@koeroesi86/node-lambda-invoke": "26.10.37819209137-master",
33
+ "@koeroesi86/node-worker-express": "26.10.37819209137-master",
34
34
  "@types/express": "^4.17.21",
35
35
  "express": "^4.17.3",
36
36
  "find-free-port": "^2.0.0",
@@ -53,10 +53,11 @@
53
53
  "ts-jest": "^29.0.5",
54
54
  "typescript": "^5.9.3"
55
55
  },
56
- "gitHead": "df44146d25ab202ad04461024c6f67930c0e7026",
56
+ "gitHead": "99cc269db6ca7181af78a9c82756f52a5dd897a4",
57
57
  "scripts": {
58
58
  "build": "rimraf dist && tsc -p tsconfig.build.json",
59
59
  "test": "jest",
60
+ "test:integration": "jest -c integration/jest.config.js",
60
61
  "start:load-test": "node dist/scripts/load-test-server.js",
61
62
  "start": "nodemon --watch src --ext ts --exec \"npm run build --silent && node dist/scripts/server.js\""
62
63
  }