@jsii/runtime 1.85.0 → 1.86.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.
@@ -9,7 +9,13 @@ const path_1 = require("path");
9
9
  // - No STDIN will be provided
10
10
  // - STDOUT and STDERR will be intercepted, contents wrapped & forward to STDERR
11
11
  // - FD#3 is the communication pipe to read & write jsii API messages
12
- const child = (0, child_process_1.spawn)(process.execPath, [...process.execArgv, (0, path_1.resolve)(__dirname, '..', 'lib', 'program.js')], { stdio: ['ignore', 'pipe', 'pipe', 'pipe'] });
12
+ const child = (0, child_process_1.spawn)(process.execPath, [
13
+ ...process.execArgv,
14
+ // Instruct the module loader to NOT resolve symbolic links, so we don't
15
+ // have to copy modules around all the time (which is expensive to do).
16
+ '--preserve-symlinks',
17
+ (0, path_1.resolve)(__dirname, '..', 'lib', 'program.js'),
18
+ ], { stdio: ['ignore', 'pipe', 'pipe', 'pipe'] });
13
19
  //#region Exit, error and signal forwarders
14
20
  child.once('end', (code, signal) => {
15
21
  var _a;
package/lib/host.d.ts CHANGED
@@ -8,6 +8,7 @@ export declare class KernelHost {
8
8
  debug?: boolean;
9
9
  debugTiming?: boolean;
10
10
  noStack?: boolean;
11
+ validateAssemblies?: boolean;
11
12
  });
12
13
  run(): void;
13
14
  once(event: 'exit', listener: (code: number) => void): void;
package/lib/host.js CHANGED
@@ -5,13 +5,14 @@ const kernel_1 = require("@jsii/kernel");
5
5
  const events_1 = require("events");
6
6
  class KernelHost {
7
7
  constructor(inout, opts = {}) {
8
- var _a, _b;
8
+ var _a, _b, _c;
9
9
  this.inout = inout;
10
10
  this.opts = opts;
11
11
  this.kernel = new kernel_1.Kernel(this.callbackHandler.bind(this));
12
12
  this.eventEmitter = new events_1.EventEmitter();
13
13
  this.kernel.traceEnabled = (_a = opts.debug) !== null && _a !== void 0 ? _a : false;
14
14
  this.kernel.debugTimingEnabled = (_b = opts.debugTiming) !== null && _b !== void 0 ? _b : false;
15
+ this.kernel.validateAssemblies = (_c = opts.validateAssemblies) !== null && _c !== void 0 ? _c : false;
15
16
  }
16
17
  run() {
17
18
  var _a;
package/lib/program.js CHANGED
@@ -10,6 +10,7 @@ const version = packageInfo.version;
10
10
  const noStack = !!process.env.JSII_NOSTACK;
11
11
  const debug = !!process.env.JSII_DEBUG;
12
12
  const debugTiming = !!process.env.JSII_DEBUG_TIMING;
13
+ const validateAssemblies = !!process.env.JSII_VALIDATE_ASSEMBLIES;
13
14
  // This assumes FD#3 is opened for reading and writing. This is normally
14
15
  // performed by`bin/jsii-runtime.js`, and we will not be verifying this once
15
16
  // again...Meaning that failure to have set this up correctly results in
@@ -24,7 +25,12 @@ const stdio = new sync_stdio_1.SyncStdio({
24
25
  writeFD: 3,
25
26
  });
26
27
  const inout = new in_out_1.InputOutput(stdio);
27
- const host = new host_1.KernelHost(inout, { debug, noStack, debugTiming });
28
+ const host = new host_1.KernelHost(inout, {
29
+ debug,
30
+ noStack,
31
+ debugTiming,
32
+ validateAssemblies,
33
+ });
28
34
  host.once('exit', process.exit.bind(process));
29
35
  // say hello
30
36
  inout.write({ hello: `${name}@${version}` });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jsii/runtime",
3
- "version": "1.85.0",
3
+ "version": "1.86.1",
4
4
  "description": "jsii runtime kernel process",
5
5
  "license": "Apache-2.0",
6
6
  "author": {
@@ -34,17 +34,17 @@
34
34
  "package": "package-js"
35
35
  },
36
36
  "dependencies": {
37
- "@jsii/kernel": "^1.85.0",
38
- "@jsii/check-node": "1.85.0",
39
- "@jsii/spec": "^1.85.0"
37
+ "@jsii/kernel": "^1.86.1",
38
+ "@jsii/check-node": "1.86.1",
39
+ "@jsii/spec": "^1.86.1"
40
40
  },
41
41
  "devDependencies": {
42
- "@scope/jsii-calc-base": "^1.85.0",
43
- "@scope/jsii-calc-lib": "^1.85.0",
44
- "jsii-build-tools": "^1.85.0",
42
+ "@scope/jsii-calc-base": "^1.86.1",
43
+ "@scope/jsii-calc-lib": "^1.86.1",
44
+ "jsii-build-tools": "^1.86.1",
45
45
  "jsii-calc": "^3.20.120",
46
46
  "source-map-loader": "^4.0.1",
47
- "webpack": "^5.87.0",
47
+ "webpack": "^5.88.2",
48
48
  "webpack-cli": "^5.1.4"
49
49
  }
50
50
  }
@@ -1577,7 +1577,7 @@ var __webpack_modules__ = {
1577
1577
  this.loose = !!options.loose;
1578
1578
  this.includePrerelease = !!options.includePrerelease;
1579
1579
  this.raw = range.trim().split(/\s+/).join(" ");
1580
- this.set = this.raw.split("||").map((r => this.parseRange(r))).filter((c => c.length));
1580
+ this.set = this.raw.split("||").map((r => this.parseRange(r.trim()))).filter((c => c.length));
1581
1581
  if (!this.set.length) {
1582
1582
  throw new TypeError(`Invalid SemVer Range: ${this.raw}`);
1583
1583
  }
@@ -1618,7 +1618,9 @@ var __webpack_modules__ = {
1618
1618
  range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace);
1619
1619
  debug("comparator trim", range);
1620
1620
  range = range.replace(re[t.TILDETRIM], tildeTrimReplace);
1621
+ debug("tilde trim", range);
1621
1622
  range = range.replace(re[t.CARETTRIM], caretTrimReplace);
1623
+ debug("caret trim", range);
1622
1624
  let rangeList = range.split(" ").map((comp => parseComparator(comp, this.options))).join(" ").split(/\s+/).map((comp => replaceGTE0(comp, this.options)));
1623
1625
  if (loose) {
1624
1626
  rangeList = rangeList.filter((comp => {
@@ -2502,10 +2504,12 @@ var __webpack_modules__ = {
2502
2504
  const MAX_LENGTH = 256;
2503
2505
  const MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;
2504
2506
  const MAX_SAFE_COMPONENT_LENGTH = 16;
2507
+ const MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6;
2505
2508
  const RELEASE_TYPES = [ "major", "premajor", "minor", "preminor", "patch", "prepatch", "prerelease" ];
2506
2509
  module.exports = {
2507
2510
  MAX_LENGTH,
2508
2511
  MAX_SAFE_COMPONENT_LENGTH,
2512
+ MAX_SAFE_BUILD_LENGTH,
2509
2513
  MAX_SAFE_INTEGER,
2510
2514
  RELEASE_TYPES,
2511
2515
  SEMVER_SPEC_VERSION,
@@ -2551,7 +2555,7 @@ var __webpack_modules__ = {
2551
2555
  module.exports = parseOptions;
2552
2556
  },
2553
2557
  9541: (module, exports, __webpack_require__) => {
2554
- const {MAX_SAFE_COMPONENT_LENGTH} = __webpack_require__(9041);
2558
+ const {MAX_SAFE_COMPONENT_LENGTH, MAX_SAFE_BUILD_LENGTH, MAX_LENGTH} = __webpack_require__(9041);
2555
2559
  const debug = __webpack_require__(5432);
2556
2560
  exports = module.exports = {};
2557
2561
  const re = exports.re = [];
@@ -2559,8 +2563,16 @@ var __webpack_modules__ = {
2559
2563
  const src = exports.src = [];
2560
2564
  const t = exports.t = {};
2561
2565
  let R = 0;
2566
+ const LETTERDASHNUMBER = "[a-zA-Z0-9-]";
2567
+ const safeRegexReplacements = [ [ "\\s", 1 ], [ "\\d", MAX_LENGTH ], [ LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH ] ];
2568
+ const makeSafeRegex = value => {
2569
+ for (const [token, max] of safeRegexReplacements) {
2570
+ value = value.split(`${token}*`).join(`${token}{0,${max}}`).split(`${token}+`).join(`${token}{1,${max}}`);
2571
+ }
2572
+ return value;
2573
+ };
2562
2574
  const createToken = (name, value, isGlobal) => {
2563
- const safe = value.split("\\s*").join("\\s{0,1}").split("\\s+").join("\\s");
2575
+ const safe = makeSafeRegex(value);
2564
2576
  const index = R++;
2565
2577
  debug(name, index, value);
2566
2578
  t[name] = index;
@@ -2569,15 +2581,15 @@ var __webpack_modules__ = {
2569
2581
  safeRe[index] = new RegExp(safe, isGlobal ? "g" : undefined);
2570
2582
  };
2571
2583
  createToken("NUMERICIDENTIFIER", "0|[1-9]\\d*");
2572
- createToken("NUMERICIDENTIFIERLOOSE", "[0-9]+");
2573
- createToken("NONNUMERICIDENTIFIER", "\\d*[a-zA-Z-][a-zA-Z0-9-]*");
2584
+ createToken("NUMERICIDENTIFIERLOOSE", "\\d+");
2585
+ createToken("NONNUMERICIDENTIFIER", `\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`);
2574
2586
  createToken("MAINVERSION", `(${src[t.NUMERICIDENTIFIER]})\\.` + `(${src[t.NUMERICIDENTIFIER]})\\.` + `(${src[t.NUMERICIDENTIFIER]})`);
2575
2587
  createToken("MAINVERSIONLOOSE", `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.` + `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.` + `(${src[t.NUMERICIDENTIFIERLOOSE]})`);
2576
2588
  createToken("PRERELEASEIDENTIFIER", `(?:${src[t.NUMERICIDENTIFIER]}|${src[t.NONNUMERICIDENTIFIER]})`);
2577
2589
  createToken("PRERELEASEIDENTIFIERLOOSE", `(?:${src[t.NUMERICIDENTIFIERLOOSE]}|${src[t.NONNUMERICIDENTIFIER]})`);
2578
2590
  createToken("PRERELEASE", `(?:-(${src[t.PRERELEASEIDENTIFIER]}(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`);
2579
2591
  createToken("PRERELEASELOOSE", `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`);
2580
- createToken("BUILDIDENTIFIER", "[0-9A-Za-z-]+");
2592
+ createToken("BUILDIDENTIFIER", `${LETTERDASHNUMBER}+`);
2581
2593
  createToken("BUILD", `(?:\\+(${src[t.BUILDIDENTIFIER]}(?:\\.${src[t.BUILDIDENTIFIER]})*))`);
2582
2594
  createToken("FULLPLAIN", `v?${src[t.MAINVERSION]}${src[t.PRERELEASE]}?${src[t.BUILD]}?`);
2583
2595
  createToken("FULL", `^${src[t.FULLPLAIN]}$`);
@@ -3936,7 +3948,7 @@ var __webpack_exports__ = {};
3936
3948
  const console_1 = __webpack_require__(6206);
3937
3949
  const os_1 = __webpack_require__(2037);
3938
3950
  const path_1 = __webpack_require__(4822);
3939
- const child = (0, child_process_1.spawn)(process.execPath, [ ...process.execArgv, (0,
3951
+ const child = (0, child_process_1.spawn)(process.execPath, [ ...process.execArgv, "--preserve-symlinks", (0,
3940
3952
  path_1.resolve)(__dirname, "..", "lib", "program.js") ], {
3941
3953
  stdio: [ "ignore", "pipe", "pipe", "pipe" ]
3942
3954
  });