@jsii/runtime 1.86.1 → 1.88.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jsii/runtime",
3
- "version": "1.86.1",
3
+ "version": "1.88.0",
4
4
  "description": "jsii runtime kernel process",
5
5
  "license": "Apache-2.0",
6
6
  "author": {
@@ -34,14 +34,14 @@
34
34
  "package": "package-js"
35
35
  },
36
36
  "dependencies": {
37
- "@jsii/kernel": "^1.86.1",
38
- "@jsii/check-node": "1.86.1",
39
- "@jsii/spec": "^1.86.1"
37
+ "@jsii/kernel": "^1.88.0",
38
+ "@jsii/check-node": "1.88.0",
39
+ "@jsii/spec": "^1.88.0"
40
40
  },
41
41
  "devDependencies": {
42
- "@scope/jsii-calc-base": "^1.86.1",
43
- "@scope/jsii-calc-lib": "^1.86.1",
44
- "jsii-build-tools": "^1.86.1",
42
+ "@scope/jsii-calc-base": "^1.88.0",
43
+ "@scope/jsii-calc-lib": "^1.88.0",
44
+ "jsii-build-tools": "^1.88.0",
45
45
  "jsii-calc": "^3.20.120",
46
46
  "source-map-loader": "^4.0.1",
47
47
  "webpack": "^5.88.2",
@@ -9328,7 +9328,7 @@ var __webpack_modules__ = {
9328
9328
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
9329
9329
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
9330
9330
  };
9331
- var _DiskCache_instances, _a, _DiskCache_CACHE, _DiskCache_root, _DiskCache_entries, _Entry_instances, _Entry_lockFile_get, _Entry_markerFile_get;
9331
+ var _DiskCache_instances, _a, _DiskCache_CACHE, _DiskCache_root, _DiskCache_entries, _Entry_instances, _Entry_lockFile_get, _Entry_markerFile_get, _Entry_touchMarkerFile;
9332
9332
  Object.defineProperty(exports, "__esModule", {
9333
9333
  value: true
9334
9334
  });
@@ -9440,13 +9440,49 @@ var __webpack_modules__ = {
9440
9440
  get pathExists() {
9441
9441
  return (0, fs_1.existsSync)(this.path);
9442
9442
  }
9443
+ get isComplete() {
9444
+ return (0, fs_1.existsSync)(__classPrivateFieldGet(this, _Entry_instances, "a", _Entry_markerFile_get));
9445
+ }
9446
+ retrieve(cb) {
9447
+ if (this.isComplete) {
9448
+ __classPrivateFieldGet(this, _Entry_instances, "m", _Entry_touchMarkerFile).call(this);
9449
+ return {
9450
+ path: this.path,
9451
+ cache: "hit"
9452
+ };
9453
+ }
9454
+ let cache = "miss";
9455
+ this.lock((lock => {
9456
+ if (this.isComplete) {
9457
+ cache = "hit";
9458
+ return;
9459
+ }
9460
+ (0, fs_1.mkdirSync)(this.path, {
9461
+ recursive: true
9462
+ });
9463
+ try {
9464
+ cb(this.path);
9465
+ } catch (error) {
9466
+ (0, fs_1.rmSync)(this.path, {
9467
+ force: true,
9468
+ recursive: true
9469
+ });
9470
+ throw error;
9471
+ }
9472
+ lock.markComplete();
9473
+ }));
9474
+ return {
9475
+ path: this.path,
9476
+ cache
9477
+ };
9478
+ }
9443
9479
  lock(cb) {
9444
9480
  (0, fs_1.mkdirSync)((0, path_1.dirname)(this.path), {
9445
9481
  recursive: true
9446
9482
  });
9447
- (0, lockfile_1.lockSync)(__classPrivateFieldGet(this, _Entry_instances, "a", _Entry_lockFile_get), {
9483
+ lockSyncWithWait(__classPrivateFieldGet(this, _Entry_instances, "a", _Entry_lockFile_get), {
9448
9484
  retries: 12,
9449
- stale: 5e3
9485
+ stale: 1e4
9450
9486
  });
9451
9487
  let disposed = false;
9452
9488
  try {
@@ -9469,18 +9505,11 @@ var __webpack_modules__ = {
9469
9505
  });
9470
9506
  (0, fs_1.writeFileSync)((0, path_1.join)(this.path, name), content);
9471
9507
  },
9472
- touch: () => {
9508
+ markComplete: () => {
9473
9509
  if (disposed) {
9474
9510
  throw new Error(`Cannot touch ${this.path} once the lock block was returned!`);
9475
9511
  }
9476
- if (this.pathExists) {
9477
- if ((0, fs_1.existsSync)(__classPrivateFieldGet(this, _Entry_instances, "a", _Entry_markerFile_get))) {
9478
- const now = new Date;
9479
- (0, fs_1.utimesSync)(__classPrivateFieldGet(this, _Entry_instances, "a", _Entry_markerFile_get), now, now);
9480
- } else {
9481
- (0, fs_1.writeFileSync)(__classPrivateFieldGet(this, _Entry_instances, "a", _Entry_markerFile_get), "");
9482
- }
9483
- }
9512
+ __classPrivateFieldGet(this, _Entry_instances, "m", _Entry_touchMarkerFile).call(this);
9484
9513
  }
9485
9514
  });
9486
9515
  } finally {
@@ -9504,6 +9533,18 @@ var __webpack_modules__ = {
9504
9533
  return `${this.path}.lock`;
9505
9534
  }, _Entry_markerFile_get = function _Entry_markerFile_get() {
9506
9535
  return (0, path_1.join)(this.path, MARKER_FILE_NAME);
9536
+ }, _Entry_touchMarkerFile = function _Entry_touchMarkerFile() {
9537
+ if (this.pathExists) {
9538
+ try {
9539
+ const now = new Date;
9540
+ (0, fs_1.utimesSync)(__classPrivateFieldGet(this, _Entry_instances, "a", _Entry_markerFile_get), now, now);
9541
+ } catch (e) {
9542
+ if (e.code !== "ENOENT") {
9543
+ throw e;
9544
+ }
9545
+ (0, fs_1.writeFileSync)(__classPrivateFieldGet(this, _Entry_instances, "a", _Entry_markerFile_get), "");
9546
+ }
9547
+ }
9507
9548
  };
9508
9549
  function* directoriesUnder(root, recursive = false, ignoreErrors = true) {
9509
9550
  for (const file of (0, fs_1.readdirSync)(root)) {
@@ -9523,6 +9564,34 @@ var __webpack_modules__ = {
9523
9564
  }
9524
9565
  }
9525
9566
  }
9567
+ function lockSyncWithWait(path, options) {
9568
+ var _b;
9569
+ let retries = (_b = options.retries) !== null && _b !== void 0 ? _b : 0;
9570
+ let sleep = 100;
9571
+ while (true) {
9572
+ try {
9573
+ (0, lockfile_1.lockSync)(path, {
9574
+ retries: 0,
9575
+ stale: options.stale
9576
+ });
9577
+ return;
9578
+ } catch (e) {
9579
+ if (retries === 0) {
9580
+ throw e;
9581
+ }
9582
+ retries--;
9583
+ if (e.code === "EEXIST") {
9584
+ sleepSync(Math.floor(Math.random() * sleep));
9585
+ sleep *= 1.5;
9586
+ } else {
9587
+ sleepSync(5);
9588
+ }
9589
+ }
9590
+ }
9591
+ }
9592
+ function sleepSync(ms) {
9593
+ Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, ms);
9594
+ }
9526
9595
  },
9527
9596
  7202: function(__unused_webpack_module, exports, __webpack_require__) {
9528
9597
  "use strict";
@@ -10435,30 +10504,41 @@ var __webpack_modules__ = {
10435
10504
  });
10436
10505
  exports.link = void 0;
10437
10506
  const fs_1 = __webpack_require__(7147);
10507
+ const os = __webpack_require__(2037);
10438
10508
  const path_1 = __webpack_require__(4822);
10439
10509
  const PRESERVE_SYMLINKS = process.execArgv.includes("--preserve-symlinks");
10440
- function link(existing, destination) {
10510
+ function link(existingRoot, destinationRoot) {
10511
+ (0, fs_1.mkdirSync)((0, path_1.dirname)(destinationRoot), {
10512
+ recursive: true
10513
+ });
10441
10514
  if (PRESERVE_SYMLINKS) {
10442
- (0, fs_1.mkdirSync)((0, path_1.dirname)(destination), {
10443
- recursive: true
10444
- });
10445
- (0, fs_1.symlinkSync)(existing, destination);
10446
- return;
10447
- }
10448
- const stat = (0, fs_1.statSync)(existing);
10449
- if (!stat.isDirectory()) {
10450
10515
  try {
10451
- (0, fs_1.linkSync)(existing, destination);
10452
- } catch {
10453
- (0, fs_1.copyFileSync)(existing, destination);
10516
+ (0, fs_1.symlinkSync)(existingRoot, destinationRoot);
10517
+ return;
10518
+ } catch (e) {
10519
+ const winNoSymlink = e.code === "EPERM" && os.platform() === "win32";
10520
+ if (!winNoSymlink) {
10521
+ throw e;
10522
+ }
10454
10523
  }
10455
- return;
10456
10524
  }
10457
- (0, fs_1.mkdirSync)(destination, {
10458
- recursive: true
10459
- });
10460
- for (const file of (0, fs_1.readdirSync)(existing)) {
10461
- link((0, path_1.join)(existing, file), (0, path_1.join)(destination, file));
10525
+ recurse(existingRoot, destinationRoot);
10526
+ function recurse(existing, destination) {
10527
+ const stat = (0, fs_1.statSync)(existing);
10528
+ if (!stat.isDirectory()) {
10529
+ try {
10530
+ (0, fs_1.linkSync)(existing, destination);
10531
+ } catch {
10532
+ (0, fs_1.copyFileSync)(existing, destination);
10533
+ }
10534
+ return;
10535
+ }
10536
+ (0, fs_1.mkdirSync)(destination, {
10537
+ recursive: true
10538
+ });
10539
+ for (const file of (0, fs_1.readdirSync)(existing)) {
10540
+ recurse((0, path_1.join)(existing, file), (0, path_1.join)(destination, file));
10541
+ }
10462
10542
  }
10463
10543
  }
10464
10544
  exports.link = link;
@@ -11463,32 +11543,12 @@ var __webpack_modules__ = {
11463
11543
  default_cache_root_1.defaultCacheRoot)();
11464
11544
  const dirCache = disk_cache_1.DiskCache.inDirectory(cacheRoot);
11465
11545
  const entry = dirCache.entryFor(file, ...comments);
11466
- const {path, cache} = entry.lock((lock => {
11467
- let cache = "hit";
11468
- if (!entry.pathExists) {
11469
- (0, fs_1.mkdirSync)(entry.path, {
11470
- recursive: true
11471
- });
11472
- try {
11473
- untarInto({
11474
- ...options,
11475
- cwd: entry.path,
11476
- file
11477
- });
11478
- } catch (error) {
11479
- (0, fs_1.rmSync)(entry.path, {
11480
- force: true,
11481
- recursive: true
11482
- });
11483
- throw error;
11484
- }
11485
- cache = "miss";
11486
- }
11487
- lock.touch();
11488
- return {
11489
- path: entry.path,
11490
- cache
11491
- };
11546
+ const {path, cache} = entry.retrieve((path => {
11547
+ untarInto({
11548
+ ...options,
11549
+ cwd: path,
11550
+ file
11551
+ });
11492
11552
  }));
11493
11553
  (0, link_1.link)(path, outDir);
11494
11554
  return {
@@ -17366,7 +17426,7 @@ var __webpack_modules__ = {
17366
17426
  },
17367
17427
  4147: module => {
17368
17428
  "use strict";
17369
- module.exports = JSON.parse('{"name":"@jsii/runtime","version":"1.86.1","description":"jsii runtime kernel process","license":"Apache-2.0","author":{"name":"Amazon Web Services","url":"https://aws.amazon.com"},"homepage":"https://github.com/aws/jsii","bugs":{"url":"https://github.com/aws/jsii/issues"},"repository":{"type":"git","url":"https://github.com/aws/jsii.git","directory":"packages/@jsii/runtime"},"engines":{"node":">= 14.17.0"},"main":"lib/index.js","types":"lib/index.d.ts","bin":{"jsii-runtime":"bin/jsii-runtime"},"scripts":{"build":"tsc --build && chmod +x bin/jsii-runtime && npx webpack-cli && npm run lint","watch":"tsc --build -w","lint":"eslint . --ext .js,.ts --ignore-path=.gitignore --ignore-pattern=webpack.config.js","lint:fix":"yarn lint --fix","test":"jest","test:update":"jest -u","package":"package-js"},"dependencies":{"@jsii/kernel":"^1.86.1","@jsii/check-node":"1.86.1","@jsii/spec":"^1.86.1"},"devDependencies":{"@scope/jsii-calc-base":"^1.86.1","@scope/jsii-calc-lib":"^1.86.1","jsii-build-tools":"^1.86.1","jsii-calc":"^3.20.120","source-map-loader":"^4.0.1","webpack":"^5.88.2","webpack-cli":"^5.1.4"}}');
17429
+ module.exports = JSON.parse('{"name":"@jsii/runtime","version":"1.88.0","description":"jsii runtime kernel process","license":"Apache-2.0","author":{"name":"Amazon Web Services","url":"https://aws.amazon.com"},"homepage":"https://github.com/aws/jsii","bugs":{"url":"https://github.com/aws/jsii/issues"},"repository":{"type":"git","url":"https://github.com/aws/jsii.git","directory":"packages/@jsii/runtime"},"engines":{"node":">= 14.17.0"},"main":"lib/index.js","types":"lib/index.d.ts","bin":{"jsii-runtime":"bin/jsii-runtime"},"scripts":{"build":"tsc --build && chmod +x bin/jsii-runtime && npx webpack-cli && npm run lint","watch":"tsc --build -w","lint":"eslint . --ext .js,.ts --ignore-path=.gitignore --ignore-pattern=webpack.config.js","lint:fix":"yarn lint --fix","test":"jest","test:update":"jest -u","package":"package-js"},"dependencies":{"@jsii/kernel":"^1.88.0","@jsii/check-node":"1.88.0","@jsii/spec":"^1.88.0"},"devDependencies":{"@scope/jsii-calc-base":"^1.88.0","@scope/jsii-calc-lib":"^1.88.0","jsii-build-tools":"^1.88.0","jsii-calc":"^3.20.120","source-map-loader":"^4.0.1","webpack":"^5.88.2","webpack-cli":"^5.1.4"}}');
17370
17430
  },
17371
17431
  5277: module => {
17372
17432
  "use strict";