supplychain_security_sdk 1.1.5 → 1.1.6

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/dist/build.js CHANGED
@@ -36,7 +36,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
36
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.harden = exports.makeCompartment = void 0;
39
+ exports.scuttleOptionsPlaceholder = exports.scuttleGlobalThis = exports.loadScuttleOptions = exports.harden = exports.makeCompartment = void 0;
40
40
  exports.protectModuleRef = protectModuleRef;
41
41
  const t = __importStar(require("@babel/types"));
42
42
  const traverse_1 = __importDefault(require("@babel/traverse"));
@@ -113,6 +113,7 @@ const makeCompartment = (__rules, __moduleID = 0, __dev = false) => {
113
113
  const devResult = { allow: {}, disallow: {} };
114
114
  // 执行时this指向globalThis/undefined的函数
115
115
  const globalFuncs = [
116
+ "importScripts",
116
117
  "alert",
117
118
  "atob",
118
119
  "blur",
@@ -257,6 +258,9 @@ const harden = () => {
257
258
  "Promise",
258
259
  "String",
259
260
  "JSON",
261
+ "RegExp",
262
+ "Response",
263
+ "Request",
260
264
  ];
261
265
  const skipProps = new Set(["size", "length"]);
262
266
  for (const obj of objs) {
@@ -268,19 +272,44 @@ const harden = () => {
268
272
  if (skipProps.has(prop)) {
269
273
  return;
270
274
  }
271
- const value = o.prototype[prop];
272
- Object.defineProperty(o.prototype, prop, {
273
- get() {
274
- return value;
275
- },
276
- set(v) {
277
- if (this !== o.prototype) {
278
- Object.defineProperty(this, prop, {
279
- value: v,
280
- });
281
- }
282
- },
283
- });
275
+ const desc = Object.getOwnPropertyDescriptor(o.prototype, prop);
276
+ if (desc == null || !desc.configurable) {
277
+ return;
278
+ }
279
+ if (desc.value != null) {
280
+ const value = desc.value;
281
+ Object.defineProperty(o.prototype, prop, {
282
+ get() {
283
+ return value;
284
+ },
285
+ set(v) {
286
+ if (this !== o.prototype) {
287
+ Object.defineProperty(this, prop, {
288
+ value: v,
289
+ });
290
+ }
291
+ },
292
+ });
293
+ }
294
+ else {
295
+ const oget = desc.get, oset = desc.set;
296
+ Object.defineProperty(o.prototype, prop, {
297
+ get() {
298
+ if (oget == null) {
299
+ return undefined;
300
+ }
301
+ return oget.call(this);
302
+ },
303
+ set(v) {
304
+ if (oset == null) {
305
+ return;
306
+ }
307
+ if (this !== o.prototype) {
308
+ oset.call(this, v);
309
+ }
310
+ },
311
+ });
312
+ }
284
313
  });
285
314
  }
286
315
  // 然后冻结对象本身
@@ -324,6 +353,266 @@ const harden = () => {
324
353
  Object.freeze(Object);
325
354
  };
326
355
  exports.harden = harden;
356
+ const loadScuttleOptions = () => {
357
+ function deepFreeze(obj, seen = new WeakSet()) {
358
+ if (obj === null || typeof obj !== "object") {
359
+ return obj;
360
+ }
361
+ // 检测循环引用
362
+ if (seen.has(obj)) {
363
+ return obj;
364
+ }
365
+ seen.add(obj);
366
+ Object.freeze(obj);
367
+ for (const key of Reflect.ownKeys(obj)) {
368
+ const value = obj[key];
369
+ if (value && typeof value === "object") {
370
+ deepFreeze(value, seen);
371
+ }
372
+ }
373
+ return obj;
374
+ }
375
+ if (globalThis.__ru1n_qiuwen_scuttle_options__ == null) {
376
+ //@ts-expect-error
377
+ const options = PLACEHOLDER_SCUTTLE_OPTIONS;
378
+ Object.defineProperty(globalThis, "__ru1n_qiuwen_scuttle_options__", {
379
+ configurable: false,
380
+ enumerable: false,
381
+ writable: false,
382
+ value: deepFreeze(options),
383
+ });
384
+ }
385
+ };
386
+ exports.loadScuttleOptions = loadScuttleOptions;
387
+ const scuttleGlobalThis = () => {
388
+ // 如果不能访问Object, 说明已经scuttle过了
389
+ try {
390
+ const o = Object;
391
+ }
392
+ catch (e) {
393
+ return;
394
+ }
395
+ const getDesc = Object.getOwnPropertyDescriptor;
396
+ const defineProp = Object.defineProperty;
397
+ const getOwnPropNames = Object.getOwnPropertyNames;
398
+ const error = Error;
399
+ const log = (s) => { };
400
+ const set = Set;
401
+ const stringify = JSON.stringify;
402
+ const int = parseInt;
403
+ const slice = Array.prototype.slice;
404
+ const globalFuncs = [
405
+ "importScripts",
406
+ "alert",
407
+ "atob",
408
+ "blur",
409
+ "btoa",
410
+ "cancelAnimationFrame",
411
+ "cancelIdleCallback",
412
+ "captureEvents",
413
+ "clearInterval",
414
+ "clearTimeout",
415
+ "close",
416
+ "confirm",
417
+ "find",
418
+ "focus",
419
+ "getComputedStyle",
420
+ "getSelection",
421
+ "matchMedia",
422
+ "moveBy",
423
+ "moveTo",
424
+ "open",
425
+ "postMessage",
426
+ "print",
427
+ "prompt",
428
+ "queueMicrotask",
429
+ "releaseEvents",
430
+ "reportError",
431
+ "requestAnimationFrame",
432
+ "requestIdleCallback",
433
+ "resizeBy",
434
+ "resizeTo",
435
+ "setInterval",
436
+ "setTimeout",
437
+ "stop",
438
+ "structuredClone",
439
+ "webkitCancelAnimationFrame",
440
+ "webkitRequestAnimationFrame",
441
+ "fetchLater",
442
+ "webkitRequestFileSystem",
443
+ "webkitResolveLocalFileSystemURL",
444
+ "addEventListener",
445
+ "dispatchEvent",
446
+ "removeEventListener",
447
+ "when",
448
+ "fetch",
449
+ "scroll",
450
+ "scrollBy",
451
+ "scrollTo",
452
+ "getScreenDetails",
453
+ "queryLocalFonts",
454
+ "showDirectoryPicker",
455
+ "showOpenFilePicker",
456
+ "showSaveFilePicker",
457
+ ];
458
+ const myGlobal = {};
459
+ const og = globalThis;
460
+ const msgEvent = MessageEvent;
461
+ const oldSource = getDesc(msgEvent.prototype, "source").get;
462
+ defineProp(msgEvent.prototype, "source", {
463
+ get() {
464
+ const result = oldSource.call(this);
465
+ if (result === og) {
466
+ return myGlobal;
467
+ }
468
+ return result;
469
+ },
470
+ configurable: false,
471
+ enumerable: true,
472
+ });
473
+ const props = new set(getOwnPropNames(globalThis));
474
+ for (const k in globalThis) {
475
+ props.add(k);
476
+ }
477
+ const skipProps = [
478
+ "self",
479
+ "window",
480
+ "globalThis",
481
+ "__ru1n_qiuwen_myGlobal__",
482
+ "__proto__",
483
+ ];
484
+ if (globalThis.__ru1n_qiuwen_scuttle_options__ == null) {
485
+ log("No scuttle options found!!!!!");
486
+ throw new error("No scuttle options found");
487
+ }
488
+ const options = globalThis.__ru1n_qiuwen_scuttle_options__;
489
+ for (const prop of props) {
490
+ if (skipProps.includes(prop)) {
491
+ continue;
492
+ }
493
+ // on系列函数是事件响应函数, 需要被正确的绑定到globalThis上
494
+ if (prop.startsWith("on")) {
495
+ defineProp(myGlobal, prop, {
496
+ [prop]: {
497
+ get() {
498
+ return globalThis[prop];
499
+ },
500
+ set(value) {
501
+ globalThis[prop] = value;
502
+ },
503
+ enumerable: true,
504
+ configurable: false,
505
+ },
506
+ });
507
+ continue;
508
+ }
509
+ if (globalFuncs.includes(prop)) {
510
+ const originalFunc = globalThis[prop];
511
+ myGlobal[prop] = function (...args) {
512
+ if (this === myGlobal) {
513
+ return originalFunc.apply(undefined, args);
514
+ }
515
+ else {
516
+ return originalFunc.apply(this, args);
517
+ }
518
+ };
519
+ }
520
+ else {
521
+ myGlobal[prop] = globalThis[prop];
522
+ }
523
+ }
524
+ defineProp(globalThis, "__ru1n_qiuwen_myGlobal__", {
525
+ get() {
526
+ const stack = new error().stack;
527
+ if (stack == null) {
528
+ log("No call stack available.");
529
+ return null;
530
+ }
531
+ // 2. 按换行符分割成数组
532
+ const stackLines = stack.split("\n");
533
+ // 3. 找到第二层调用信息
534
+ let targetLine = "", cc = 0;
535
+ for (let i = 1; i < stackLines.length; i++) {
536
+ const line = stackLines[i].trim();
537
+ if (line.startsWith("at ")) {
538
+ if (cc === 1) {
539
+ targetLine = line;
540
+ break;
541
+ }
542
+ cc++;
543
+ }
544
+ }
545
+ if (!targetLine) {
546
+ log(`No valid call stack information found. ${stack}`);
547
+ return null; // 没有找到有效的调用栈信息
548
+ }
549
+ // 4. 使用正则表达式解析目标行
550
+ // 匹配格式: "at [函数名] (文件名:行号:列号)" 或 "at 文件名:行号:列号"
551
+ const regex1 = /at\s+.+\s+\((.+):(\d+):(\d+)\)/; // 有函数名和括号的情况
552
+ const regex2 = /at\s+(.+):(\d+):(\d+)/; // 没有函数名和括号的情况
553
+ let match = targetLine.match(regex1) || targetLine.match(regex2);
554
+ if (match == null || match.length < 4) {
555
+ log(`Unable to parse call stack line: ${targetLine}`);
556
+ return null;
557
+ }
558
+ const callerInfo = {
559
+ fileName: match[1],
560
+ lineNumber: int(match[2], 10),
561
+ columnNumber: int(match[3], 10),
562
+ rawLine: targetLine,
563
+ };
564
+ // 校验取值来源是否合法
565
+ for (const option of options) {
566
+ if (callerInfo.fileName.endsWith(option.file) &&
567
+ callerInfo.lineNumber === option.line &&
568
+ callerInfo.columnNumber === option.col) {
569
+ log(`Authorized access to __ru1n_qiuwen_myGlobal__: ${stringify(callerInfo)}`);
570
+ return myGlobal;
571
+ }
572
+ }
573
+ log(`Unauthorized access to __ru1n_qiuwen_myGlobal__: ${stringify(callerInfo)}`);
574
+ return null;
575
+ },
576
+ set(value) {
577
+ throw new error(`Setting global property "__ru1n_qiuwen_myGlobal__" is restricted.`);
578
+ },
579
+ configurable: false,
580
+ enumerable: false,
581
+ });
582
+ myGlobal.window = myGlobal;
583
+ myGlobal.self = myGlobal;
584
+ myGlobal.globalThis = myGlobal;
585
+ for (const prop of props) {
586
+ if (skipProps.includes(prop) || prop.startsWith("on")) {
587
+ continue;
588
+ }
589
+ const desc = getDesc(globalThis, prop);
590
+ if (!desc ||
591
+ !desc.configurable ||
592
+ desc.get ||
593
+ desc.set ||
594
+ [
595
+ "OffscreenCanvas",
596
+ "Reflect",
597
+ "__ru1n_qiuwen_scuttle_options__",
598
+ ].includes(prop)) {
599
+ continue;
600
+ }
601
+ defineProp(globalThis, prop, {
602
+ get() {
603
+ log(`Access to global property "${prop}" on globalThis is restricted.`);
604
+ throw new error(`Access to global property "${prop}" on globalThis is restricted.`);
605
+ },
606
+ set(value) {
607
+ log(`Setting global property "${prop}" on globalThis is restricted.`);
608
+ throw new error(`Setting global property "${prop}" on globalThis is restricted.`);
609
+ },
610
+ enumerable: true,
611
+ configurable: false,
612
+ });
613
+ }
614
+ };
615
+ exports.scuttleGlobalThis = scuttleGlobalThis;
327
616
  const analyzeRule = (map) => {
328
617
  //@ts-expect-error
329
618
  const rule = globalThis.__ru1nSecSDK;
@@ -353,10 +642,23 @@ const analyzeRule = (map) => {
353
642
  };
354
643
  const makeCompartmentFn = (0, parser_1.parseExpression)(exports.makeCompartment.toString());
355
644
  const hardenFn = (0, parser_1.parseExpression)(exports.harden.toString());
356
- function protectModuleRef(assetCode, moduleMap, policy, rootModuleIDs, dev, moduleDependencies, enableProto = true) {
645
+ exports.scuttleOptionsPlaceholder = "PLACEHOLDER_SCUTTLE_OPTIONS".repeat(100);
646
+ const loadScuttleOptionsFn = (0, parser_1.parseExpression)(exports.loadScuttleOptions
647
+ .toString()
648
+ .replace("PLACEHOLDER_SCUTTLE_OPTIONS", exports.scuttleOptionsPlaceholder));
649
+ const scuttleGlobalThisFn = (0, parser_1.parseExpression)(exports.scuttleGlobalThis.toString());
650
+ function protectModuleRef(assetCode, moduleMap, policy, rootModuleIDs, dev, moduleDependencies, enableScuttle, enableProto = true) {
357
651
  const ast = (0, parser_1.parse)(assetCode, {
358
652
  sourceType: "unambiguous",
359
653
  });
654
+ // 去除所有use strict
655
+ (0, traverse_1.default)(ast, {
656
+ Directive(path) {
657
+ if (path.node.value.value === "use strict") {
658
+ path.remove();
659
+ }
660
+ },
661
+ });
360
662
  // 判断是否为webpack打包产物
361
663
  let type = 0;
362
664
  if (t.isExpressionStatement(ast.program.body[0]) &&
@@ -375,7 +677,10 @@ function protectModuleRef(assetCode, moduleMap, policy, rootModuleIDs, dev, modu
375
677
  type = 2;
376
678
  }
377
679
  if (type === 0) {
378
- return;
680
+ addScuttle();
681
+ return new generator_1.CodeGenerator(ast, {
682
+ sourceMaps: true,
683
+ }).generate();
379
684
  }
380
685
  else if (type === 2) {
381
686
  ast.program.body = [
@@ -486,7 +791,8 @@ function protectModuleRef(assetCode, moduleMap, policy, rootModuleIDs, dev, modu
486
791
  : t.stringLiteral(mid),
487
792
  t.booleanLiteral(dev),
488
793
  ])
489
- : (console.log(`[*] disable global protection for ${file}`), t.identifier("globalThis"))),
794
+ : (console.log(`[*] disable global protection for ${file}`),
795
+ t.identifier("globalThis"))),
490
796
  ]),
491
797
  t.objectExpression([
492
798
  t.objectMethod("method", t.identifier("has"), [], t.blockStatement([
@@ -528,17 +834,20 @@ function protectModuleRef(assetCode, moduleMap, policy, rootModuleIDs, dev, modu
528
834
  }
529
835
  },
530
836
  });
531
- // 去除所有use strict
532
- (0, traverse_1.default)(ast, {
533
- Directive(path) {
534
- if (path.node.value.value === "use strict") {
535
- path.remove();
536
- }
537
- },
538
- });
837
+ function addScuttle() {
838
+ if (enableScuttle !== "disable") {
839
+ // 在首部添加scuttle模式代码
840
+ ast.program.body = [
841
+ t.withStatement((0, parser_1.parseExpression)(`globalThis.__ru1n_qiuwen_myGlobal__`), t.blockStatement(ast.program.body)),
842
+ ];
843
+ ast.program.body.unshift(t.expressionStatement(t.callExpression(scuttleGlobalThisFn, [])));
844
+ ast.program.body.unshift(t.expressionStatement(t.callExpression(loadScuttleOptionsFn, [])));
845
+ }
846
+ }
847
+ addScuttle();
539
848
  const generator = new generator_1.CodeGenerator(ast, {
540
849
  sourceMaps: true,
541
850
  });
542
851
  return generator.generate();
543
852
  }
544
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYnVpbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBNlZBLDRDQXVZQztBQXB1QkQsZ0RBQWtDO0FBQ2xDLCtEQUF1QztBQUN2QywwQ0FBdUQ7QUFDdkQsZ0RBQWlEO0FBR2pELHNDQUE2QztBQUV0QyxNQUFNLGVBQWUsR0FBRyxDQUMzQixPQUFnQyxFQUNoQyxhQUE4QixDQUFDLEVBQy9CLFFBQWlCLEtBQUssRUFDaEIsRUFBRTtJQUNSLE1BQU0sV0FBVyxHQUFHLElBQUksR0FBRyxDQUFDO1FBQ3hCLGdCQUFnQjtRQUNoQixPQUFPO1FBQ1AsYUFBYTtRQUNiLFNBQVM7UUFDVCxRQUFRO1FBQ1IsZUFBZTtRQUNmLGdCQUFnQjtRQUNoQixTQUFTO1FBQ1QsVUFBVTtRQUNWLE1BQU07UUFDTixPQUFPO1FBQ1AsV0FBVztRQUNYLHNCQUFzQjtRQUN0QixjQUFjO1FBQ2QsY0FBYztRQUNkLGNBQWM7UUFDZCxVQUFVO1FBQ1YsVUFBVTtRQUNWLFlBQVk7UUFDWixZQUFZO1FBQ1osV0FBVztRQUNYLE1BQU07UUFDTixVQUFVO1FBQ1YsTUFBTTtRQUNOLEtBQUs7UUFDTCxNQUFNO1FBQ04sS0FBSztRQUNMLFFBQVE7UUFDUixRQUFRO1FBQ1IsU0FBUztRQUNULE9BQU87UUFDUCxZQUFZO1FBQ1osZ0JBQWdCO1FBQ2hCLFNBQVM7UUFDVCxRQUFRO1FBQ1IsS0FBSztRQUNMLG1CQUFtQjtRQUNuQixRQUFRO1FBQ1IsUUFBUTtRQUNSLGFBQWE7UUFDYixXQUFXO1FBQ1gsYUFBYTtRQUNiLGFBQWE7UUFDYixZQUFZO1FBQ1osbUJBQW1CO1FBQ25CLFVBQVU7UUFDVixTQUFTO1FBQ1QsU0FBUztRQUNULFNBQVM7UUFDVCxXQUFXO1FBQ1gsb0JBQW9CO1FBQ3BCLFdBQVc7UUFDWCxvQkFBb0I7UUFDcEIsUUFBUTtRQUNS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
853
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYnVpbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBcXJCQSw0Q0FvYUM7QUF6bENELGdEQUFrQztBQUNsQywrREFBdUM7QUFDdkMsMENBQXVEO0FBQ3ZELGdEQUFpRDtBQUdqRCxzQ0FBNkM7QUFFdEMsTUFBTSxlQUFlLEdBQUcsQ0FDM0IsT0FBZ0MsRUFDaEMsYUFBOEIsQ0FBQyxFQUMvQixRQUFpQixLQUFLLEVBQ2hCLEVBQUU7SUFDUixNQUFNLFdBQVcsR0FBRyxJQUFJLEdBQUcsQ0FBQztRQUN4QixnQkFBZ0I7UUFDaEIsT0FBTztRQUNQLGFBQWE7UUFDYixTQUFTO1FBQ1QsUUFBUTtRQUNSLGVBQWU7UUFDZixnQkFBZ0I7UUFDaEIsU0FBUztRQUNULFVBQVU7UUFDVixNQUFNO1FBQ04sT0FBTztRQUNQLFdBQVc7UUFDWCxzQkFBc0I7UUFDdEIsY0FBYztRQUNkLGNBQWM7UUFDZCxjQUFjO1FBQ2QsVUFBVTtRQUNWLFVBQVU7UUFDVixZQUFZO1FBQ1osWUFBWTtRQUNaLFdBQVc7UUFDWCxNQUFNO1FBQ04sVUFBVTtRQUNWLE1BQU07UUFDTixLQUFLO1FBQ0wsTUFBTTtRQUNOLEtBQUs7UUFDTCxRQUFRO1FBQ1IsUUFBUTtRQUNSLFNBQVM7UUFDVCxPQUFPO1FBQ1AsWUFBWTtRQUNaLGdCQUFnQjtRQUNoQixTQUFTO1FBQ1QsUUFBUTtRQUNSLEtBQUs7UUFDTCxtQkFBbUI7UUFDbkIsUUFBUTtRQUNSLFFBQVE7UUFDUixhQUFhO1FBQ2IsV0FBVztRQUNYLGFBQWE7UUFDYixhQUFhO1FBQ2IsWUFBWTtRQUNaLG1CQUFtQjtRQUNuQixVQUFVO1FBQ1YsU0FBUztRQUNULFNBQVM7UUFDVCxTQUFTO1FBQ1QsV0FBVztRQUNYLG9CQUFvQjtRQUNwQixXQUFXO1FBQ1gsb0JBQW9CO1FBQ3BCLFFBQVE7UUFD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
package/dist/buildIPC.js CHANGED
@@ -7,7 +7,7 @@ if ((process === null || process === void 0 ? void 0 : process.send) != null) {
7
7
  process.on("message", (msg) => {
8
8
  var _a;
9
9
  // 取msg中的参数, 调用protectModuleRef进行构建
10
- const { id, params: { assetCode, moduleMap, config, rootModuleIDs, dev, moduleDependencyMap, enableProto, isModuleIDNumeric, }, } = msg;
10
+ const { id, params: { assetCode, moduleMap, config, rootModuleIDs, dev, moduleDependencyMap, enableScuttle, enableProto, isModuleIDNumeric, }, } = msg;
11
11
  // 要对参数做类型转换
12
12
  const newModuleMap = new bimap_1.BiMap();
13
13
  for (const [k, v] of Object.entries(moduleMap)) {
@@ -25,7 +25,7 @@ if ((process === null || process === void 0 ? void 0 : process.send) != null) {
25
25
  for (const [k, v] of Object.entries(moduleDependencyMap)) {
26
26
  newModuleDependencyMap.set(isModuleIDNumeric ? parseInt(k) : k, new Set(v));
27
27
  }
28
- const result = (0, build_1.protectModuleRef)(assetCode, newModuleMap, newConfig, new Set(rootModuleIDs), dev, newModuleDependencyMap, enableProto);
28
+ const result = (0, build_1.protectModuleRef)(assetCode, newModuleMap, newConfig, new Set(rootModuleIDs), dev, newModuleDependencyMap, enableScuttle, enableProto);
29
29
  if (result == null) {
30
30
  const errMsg = {
31
31
  id,
@@ -60,4 +60,4 @@ if ((process === null || process === void 0 ? void 0 : process.send) != null) {
60
60
  else {
61
61
  throw new Error("this file should be run in a child process");
62
62
  }
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRJUEMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYnVpbGRJUEMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxtQ0FBMkM7QUFDM0Msd0NBQXFDO0FBQ3JDLDBDQUF1QztBQWlDdkMsSUFBSSxDQUFBLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxJQUFJLEtBQUksSUFBSSxFQUFFLENBQUM7SUFDeEIsT0FBTyxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxHQUFnQixFQUFFLEVBQUU7O1FBQ3ZDLG1DQUFtQztRQUNuQyxNQUFNLEVBQ0YsRUFBRSxFQUNGLE1BQU0sRUFBRSxFQUNKLFNBQVMsRUFDVCxTQUFTLEVBQ1QsTUFBTSxFQUNOLGFBQWEsRUFDYixHQUFHLEVBQ0gsbUJBQW1CLEVBQ25CLFdBQVcsRUFDWCxpQkFBaUIsR0FDcEIsR0FDSixHQUFHLEdBQUcsQ0FBQztRQUVSLFlBQVk7UUFDWixNQUFNLFlBQVksR0FBNEIsSUFBSSxhQUFLLEVBQUUsQ0FBQztRQUMxRCxLQUFLLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQzdDLFlBQVksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzdELENBQUM7UUFDRCxNQUFNLFNBQVMsR0FBVyxJQUFJLGVBQU0sRUFBRSxDQUFDO1FBQ3ZDLEtBQUssTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDMUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFO2dCQUNwQixVQUFVLEVBQUUsQ0FBQyxDQUFDLFVBQVU7Z0JBQ3hCLE1BQU0sRUFBRSxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDekMsTUFBTSxFQUFFLE1BQUEsQ0FBQyxDQUFDLE1BQU0sbUNBQUksSUFBSTthQUMzQixDQUFDLENBQUM7UUFDUCxDQUFDO1FBQ0QsTUFBTSxzQkFBc0IsR0FBaUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUN2RSxLQUFLLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLENBQUM7WUFDdkQsc0JBQXNCLENBQUMsR0FBRyxDQUN0QixpQkFBaUIsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ25DLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUNiLENBQUM7UUFDTixDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQUcsSUFBQSx3QkFBZ0IsRUFDM0IsU0FBUyxFQUNULFlBQVksRUFDWixTQUFTLEVBQ1QsSUFBSSxHQUFHLENBQUMsYUFBYSxDQUFDLEVBQ3RCLEdBQUcsRUFDSCxzQkFBc0IsRUFDdEIsV0FBVyxDQUNkLENBQUM7UUFFRixJQUFJLE1BQU0sSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNqQixNQUFNLE1BQU0sR0FBbUI7Z0JBQzNCLEVBQUU7Z0JBQ0YsTUFBTSxFQUFFLElBQUk7Z0JBQ1osR0FBRyxFQUFFLElBQUk7YUFDWixDQUFDO1lBQ0YsT0FBTyxDQUFDLElBQUssQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pELENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxNQUFNLENBQUMsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUNyQixNQUFNLE1BQU0sR0FBbUI7b0JBQzNCLEVBQUU7b0JBQ0YsTUFBTSxFQUFFLElBQUk7b0JBQ1osR0FBRyxFQUFFLG9CQUFvQjtpQkFDNUIsQ0FBQztnQkFDRixPQUFPLENBQUMsSUFBSyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDakQsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLE1BQU0sTUFBTSxHQUFtQjtvQkFDM0IsRUFBRTtvQkFDRixNQUFNLEVBQUU7d0JBQ0osSUFBSSxFQUFFLE1BQU8sQ0FBQyxJQUFLO3dCQUNuQixHQUFHLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFPLENBQUMsR0FBSSxDQUFDO3FCQUNwQztvQkFDRCxHQUFHLEVBQUUsSUFBSTtpQkFDWixDQUFDO2dCQUNGLE9BQU8sQ0FBQyxJQUFLLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNqRCxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQztLQUFNLENBQUM7SUFDSixNQUFNLElBQUksS0FBSyxDQUFDLDRDQUE0QyxDQUFDLENBQUM7QUFDbEUsQ0FBQyJ9
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRJUEMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYnVpbGRJUEMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxtQ0FBMkM7QUFDM0Msd0NBQXFDO0FBQ3JDLDBDQUF1QztBQWtDdkMsSUFBSSxDQUFBLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxJQUFJLEtBQUksSUFBSSxFQUFFLENBQUM7SUFDeEIsT0FBTyxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxHQUFnQixFQUFFLEVBQUU7O1FBQ3ZDLG1DQUFtQztRQUNuQyxNQUFNLEVBQ0YsRUFBRSxFQUNGLE1BQU0sRUFBRSxFQUNKLFNBQVMsRUFDVCxTQUFTLEVBQ1QsTUFBTSxFQUNOLGFBQWEsRUFDYixHQUFHLEVBQ0gsbUJBQW1CLEVBQ25CLGFBQWEsRUFDYixXQUFXLEVBQ1gsaUJBQWlCLEdBQ3BCLEdBQ0osR0FBRyxHQUFHLENBQUM7UUFFUixZQUFZO1FBQ1osTUFBTSxZQUFZLEdBQTRCLElBQUksYUFBSyxFQUFFLENBQUM7UUFDMUQsS0FBSyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUM3QyxZQUFZLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM3RCxDQUFDO1FBQ0QsTUFBTSxTQUFTLEdBQVcsSUFBSSxlQUFNLEVBQUUsQ0FBQztRQUN2QyxLQUFLLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQzFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTtnQkFDcEIsVUFBVSxFQUFFLENBQUMsQ0FBQyxVQUFVO2dCQUN4QixNQUFNLEVBQUUsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ3pDLE1BQU0sRUFBRSxNQUFBLENBQUMsQ0FBQyxNQUFNLG1DQUFJLElBQUk7YUFDM0IsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztRQUNELE1BQU0sc0JBQXNCLEdBQWlDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDdkUsS0FBSyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsRUFBRSxDQUFDO1lBQ3ZELHNCQUFzQixDQUFDLEdBQUcsQ0FDdEIsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNuQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FDYixDQUFDO1FBQ04sQ0FBQztRQUVELE1BQU0sTUFBTSxHQUFHLElBQUEsd0JBQWdCLEVBQzNCLFNBQVMsRUFDVCxZQUFZLEVBQ1osU0FBUyxFQUNULElBQUksR0FBRyxDQUFDLGFBQWEsQ0FBQyxFQUN0QixHQUFHLEVBQ0gsc0JBQXNCLEVBQ3RCLGFBQWEsRUFDYixXQUFXLENBQ2QsQ0FBQztRQUVGLElBQUksTUFBTSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ2pCLE1BQU0sTUFBTSxHQUFtQjtnQkFDM0IsRUFBRTtnQkFDRixNQUFNLEVBQUUsSUFBSTtnQkFDWixHQUFHLEVBQUUsSUFBSTthQUNaLENBQUM7WUFDRixPQUFPLENBQUMsSUFBSyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakQsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLE1BQU0sQ0FBQyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ3JCLE1BQU0sTUFBTSxHQUFtQjtvQkFDM0IsRUFBRTtvQkFDRixNQUFNLEVBQUUsSUFBSTtvQkFDWixHQUFHLEVBQUUsb0JBQW9CO2lCQUM1QixDQUFDO2dCQUNGLE9BQU8sQ0FBQyxJQUFLLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNqRCxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osTUFBTSxNQUFNLEdBQW1CO29CQUMzQixFQUFFO29CQUNGLE1BQU0sRUFBRTt3QkFDSixJQUFJLEVBQUUsTUFBTyxDQUFDLElBQUs7d0JBQ25CLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU8sQ0FBQyxHQUFJLENBQUM7cUJBQ3BDO29CQUNELEdBQUcsRUFBRSxJQUFJO2lCQUNaLENBQUM7Z0JBQ0YsT0FBTyxDQUFDLElBQUssQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pELENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDO0tBQU0sQ0FBQztJQUNKLE1BQU0sSUFBSSxLQUFLLENBQUMsNENBQTRDLENBQUMsQ0FBQztBQUNsRSxDQUFDIn0=
@@ -11,7 +11,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.buildMultiProcess = buildMultiProcess;
13
13
  const child_process_1 = require("child_process");
14
- function buildMultiProcess(assetCode, moduleMap, config, rootModuleIDs, dev, moduleDependencyMap, enableProto) {
14
+ function buildMultiProcess(assetCode, moduleMap, config, rootModuleIDs, dev, moduleDependencyMap, enableScuttle, enableProto) {
15
15
  return __awaiter(this, void 0, void 0, function* () {
16
16
  return new Promise((resolve, reject) => {
17
17
  const child = (0, child_process_1.fork)(require.resolve("./buildIPC"));
@@ -59,6 +59,7 @@ function buildMultiProcess(assetCode, moduleMap, config, rootModuleIDs, dev, mod
59
59
  Array.from(v),
60
60
  ])),
61
61
  enableProto,
62
+ enableScuttle,
62
63
  isModuleIDNumeric: Array.from(moduleDependencyMap.keys()).every((k) => typeof k === "number"),
63
64
  },
64
65
  };
@@ -66,4 +67,4 @@ function buildMultiProcess(assetCode, moduleMap, config, rootModuleIDs, dev, mod
66
67
  });
67
68
  });
68
69
  }
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRNdWx0aVByb2Nlc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYnVpbGRNdWx0aVByb2Nlc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUE2RVMsOENBQWlCO0FBN0UxQixpREFBcUM7QUFRckMsU0FBZSxpQkFBaUIsQ0FDNUIsU0FBaUIsRUFDakIsU0FBa0MsRUFDbEMsTUFBYyxFQUNkLGFBQTRCLEVBQzVCLEdBQVksRUFDWixtQkFBaUQsRUFDakQsV0FBb0I7O1FBS3BCLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDbkMsTUFBTSxLQUFLLEdBQUcsSUFBQSxvQkFBSSxFQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztZQUVsRCxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUUvQyxLQUFLLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDLEdBQW1CLEVBQUUsRUFBRTtnQkFDeEMsSUFBSSxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO29CQUNoQixJQUFJLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQzt3QkFDVixNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7b0JBQy9CLENBQUM7eUJBQU0sQ0FBQzt3QkFDSixJQUFJLEdBQUcsQ0FBQyxNQUFNLElBQUksSUFBSSxFQUFFLENBQUM7NEJBQ3JCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQzt3QkFDbEIsQ0FBQzs2QkFBTSxDQUFDOzRCQUNKLE9BQU8sQ0FBQztnQ0FDSixJQUFJLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJO2dDQUNyQixHQUFHLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHO29DQUNmLENBQUMsQ0FBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFrQjtvQ0FDOUMsQ0FBQyxDQUFDLElBQUk7NkJBQ2IsQ0FBQyxDQUFDO3dCQUNQLENBQUM7b0JBQ0wsQ0FBQztnQkFDTCxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7WUFFSCxNQUFNLEdBQUcsR0FBZ0I7Z0JBQ3JCLEVBQUU7Z0JBQ0YsTUFBTSxFQUFFO29CQUNKLFNBQVM7b0JBQ1QsU0FBUyxFQUFFLE1BQU0sQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDO29CQUNsRCxNQUFNLEVBQUUsTUFBTSxDQUFDLFdBQVcsQ0FDdEIsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTs7d0JBQUMsT0FBQTs0QkFDaEQsQ0FBQzs0QkFDRDtnQ0FDSSxVQUFVLEVBQUUsQ0FBQyxDQUFDLFVBQVU7Z0NBQ3hCLE1BQU0sRUFBRSxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7Z0NBQzlDLE1BQU0sRUFBRSxNQUFBLENBQUMsQ0FBQyxNQUFNLG1DQUFJLElBQUk7NkJBQzNCO3lCQUNKLENBQUE7cUJBQUEsQ0FBQyxDQUNMO29CQUNELGFBQWEsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztvQkFDeEMsR0FBRztvQkFDSCxtQkFBbUIsRUFBRSxNQUFNLENBQUMsV0FBVyxDQUNuQyxLQUFLLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO3dCQUN0RCxDQUFDO3dCQUNELEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO3FCQUNoQixDQUFDLENBQ0w7b0JBQ0QsV0FBVztvQkFDWCxpQkFBaUIsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxDQUMzRCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssUUFBUSxDQUMvQjtpQkFDSjthQUNKLENBQUM7WUFFRixLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUFBIn0=
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRNdWx0aVByb2Nlc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYnVpbGRNdWx0aVByb2Nlc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUErRVMsOENBQWlCO0FBL0UxQixpREFBcUM7QUFRckMsU0FBZSxpQkFBaUIsQ0FDNUIsU0FBaUIsRUFDakIsU0FBa0MsRUFDbEMsTUFBYyxFQUNkLGFBQTRCLEVBQzVCLEdBQVksRUFDWixtQkFBaUQsRUFDakQsYUFBa0QsRUFDbEQsV0FBb0I7O1FBS3BCLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDbkMsTUFBTSxLQUFLLEdBQUcsSUFBQSxvQkFBSSxFQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztZQUVsRCxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUUvQyxLQUFLLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDLEdBQW1CLEVBQUUsRUFBRTtnQkFDeEMsSUFBSSxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO29CQUNoQixJQUFJLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQzt3QkFDVixNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7b0JBQy9CLENBQUM7eUJBQU0sQ0FBQzt3QkFDSixJQUFJLEdBQUcsQ0FBQyxNQUFNLElBQUksSUFBSSxFQUFFLENBQUM7NEJBQ3JCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQzt3QkFDbEIsQ0FBQzs2QkFBTSxDQUFDOzRCQUNKLE9BQU8sQ0FBQztnQ0FDSixJQUFJLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJO2dDQUNyQixHQUFHLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHO29DQUNmLENBQUMsQ0FBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFrQjtvQ0FDOUMsQ0FBQyxDQUFDLElBQUk7NkJBQ2IsQ0FBQyxDQUFDO3dCQUNQLENBQUM7b0JBQ0wsQ0FBQztnQkFDTCxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7WUFFSCxNQUFNLEdBQUcsR0FBZ0I7Z0JBQ3JCLEVBQUU7Z0JBQ0YsTUFBTSxFQUFFO29CQUNKLFNBQVM7b0JBQ1QsU0FBUyxFQUFFLE1BQU0sQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDO29CQUNsRCxNQUFNLEVBQUUsTUFBTSxDQUFDLFdBQVcsQ0FDdEIsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTs7d0JBQUMsT0FBQTs0QkFDaEQsQ0FBQzs0QkFDRDtnQ0FDSSxVQUFVLEVBQUUsQ0FBQyxDQUFDLFVBQVU7Z0NBQ3hCLE1BQU0sRUFBRSxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7Z0NBQzlDLE1BQU0sRUFBRSxNQUFBLENBQUMsQ0FBQyxNQUFNLG1DQUFJLElBQUk7NkJBQzNCO3lCQUNKLENBQUE7cUJBQUEsQ0FBQyxDQUNMO29CQUNELGFBQWEsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztvQkFDeEMsR0FBRztvQkFDSCxtQkFBbUIsRUFBRSxNQUFNLENBQUMsV0FBVyxDQUNuQyxLQUFLLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO3dCQUN0RCxDQUFDO3dCQUNELEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO3FCQUNoQixDQUFDLENBQ0w7b0JBQ0QsV0FBVztvQkFDWCxhQUFhO29CQUNiLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQzNELENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxRQUFRLENBQy9CO2lCQUNKO2FBQ0osQ0FBQztZQUVGLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0NBQUEifQ==
package/dist/index.js CHANGED
@@ -50,6 +50,7 @@ const path = __importStar(require("node:path"));
50
50
  const bimap_1 = require("./util/bimap");
51
51
  const webpack_sources_1 = require("webpack-sources");
52
52
  const buildMultiProcess_1 = require("./buildMultiProcess");
53
+ const build_1 = require("./build");
53
54
  const PluginName = "RU1NSecuritySDKPlugin";
54
55
  class RU1NSecuritySDKPlugin {
55
56
  constructor(option) {
@@ -73,6 +74,9 @@ class RU1NSecuritySDKPlugin {
73
74
  if (option.disableProtoAssets == null) {
74
75
  option.disableProtoAssets = [];
75
76
  }
77
+ if (option.scuttle == null) {
78
+ option.scuttle = false;
79
+ }
76
80
  this.option = option;
77
81
  }
78
82
  apply(compiler) {
@@ -150,37 +154,99 @@ class RU1NSecuritySDKPlugin {
150
154
  stage: compiler.webpack.Compilation
151
155
  .PROCESS_ASSETS_STAGE_OPTIMIZE,
152
156
  }, (assets) => __awaiter(this, void 0, void 0, function* () {
157
+ var _a, _b;
153
158
  for (const item of Object.entries(assets)) {
154
159
  const file = item[0], source = item[1];
155
- if (!file.endsWith(".js")) {
156
- continue;
157
- }
158
- // const whites = ["content-script.js", "pageProvider.js"];
159
- const whites = ["x"];
160
- if (whites.includes(path.basename(file))) {
161
- console.log("[-] skip", file);
162
- continue;
163
- }
164
- console.log("[*] process", file);
165
- const enableProto = !this.option.disableProtoAssets.includes(path.basename(file));
166
- if (!enableProto) {
167
- console.log(`[*] disable prototype protection for ${file}`);
168
- }
169
- const r = yield (0, buildMultiProcess_1.buildMultiProcess)(source.source().toString(), this.moduleId2File, this.policy, this.rootModules, this.option.dev, this.moduleDependencies, enableProto);
170
- if (r == null) {
171
- continue;
160
+ if (file.endsWith(".js")) {
161
+ console.log("[*] process", file);
162
+ if (file === "secsdk-scuttle-globalThis.js") {
163
+ continue;
164
+ }
165
+ const enableProto = !this.option.disableProtoAssets.includes(path.basename(file));
166
+ let enableScuttle = "disable";
167
+ if (this.option.scuttle) {
168
+ if ((_a = this.option.skipScuttleAssets) === null || _a === void 0 ? void 0 : _a.includes(path.basename(file))) {
169
+ enableScuttle = "disable";
170
+ }
171
+ else if ((_b = this.option.scuttleExtraEntrys) === null || _b === void 0 ? void 0 : _b.includes(path.basename(file))) {
172
+ enableScuttle = "extraEntry";
173
+ }
174
+ else {
175
+ enableScuttle = "enable";
176
+ }
177
+ }
178
+ if (!enableProto) {
179
+ console.log(`[*] disable prototype protection for ${file}`);
180
+ }
181
+ const r = yield (0, buildMultiProcess_1.buildMultiProcess)(source.source().toString(), this.moduleId2File, this.policy, this.rootModules, this.option.dev, this.moduleDependencies, enableScuttle, enableProto);
182
+ if (r == null) {
183
+ continue;
184
+ }
185
+ const hasSourceMap = source.map() != null;
186
+ if (hasSourceMap) {
187
+ compilation.updateAsset(file, new webpack_sources_1.SourceMapSource(r.code, file, r.map, source.source(), source.map()));
188
+ }
189
+ else {
190
+ compilation.updateAsset(file, new webpack_sources_1.RawSource(r.code));
191
+ }
172
192
  }
173
- const hasSourceMap = source.map() != null;
174
- if (hasSourceMap) {
175
- compilation.updateAsset(file, new webpack_sources_1.SourceMapSource(r.code, file, r.map, source.source(), source.map()));
193
+ }
194
+ }));
195
+ compilation.hooks.processAssets.tap({
196
+ name: PluginName,
197
+ stage: compiler.webpack.Compilation
198
+ .PROCESS_ASSETS_STAGE_SUMMARIZE,
199
+ }, (assets) => {
200
+ const scuttleOptions = [];
201
+ for (const item of Object.entries(assets)) {
202
+ const file = item[0], source = item[1];
203
+ if (file.endsWith(".js")) {
204
+ const sourceCode = source.source().toString();
205
+ let code = "globalThis.__ru1n_qiuwen_myGlobal__";
206
+ let index = sourceCode.indexOf(code);
207
+ if (index === -1) {
208
+ console.warn(`[!] ${file} missing scuttle options placeholder, skip!!!!!`);
209
+ continue;
210
+ }
211
+ index += "globalThis.".length;
212
+ const before = sourceCode
213
+ .slice(0, index)
214
+ .split("\n");
215
+ const line = before.length;
216
+ const col = before[before.length - 1].length + 1;
217
+ scuttleOptions.push({
218
+ file: util_1.Util.relative(this.rootDir, file),
219
+ line,
220
+ col,
221
+ });
222
+ if (sourceCode.indexOf(code, index + 1) !== -1) {
223
+ console.warn(`[!] ${file} has multiple scuttle options placeholder, it seems that contains malformed code!!!!!`);
224
+ throw new Error("malformed code");
225
+ }
176
226
  }
177
- else {
178
- compilation.updateAsset(file, new webpack_sources_1.RawSource(r.code));
227
+ }
228
+ const opts = JSON.stringify(scuttleOptions);
229
+ if (opts.length > build_1.scuttleOptionsPlaceholder.length) {
230
+ throw new Error("scuttle options too long");
231
+ }
232
+ for (const item of Object.entries(assets)) {
233
+ const file = item[0], source = item[1];
234
+ if (file.endsWith(".js")) {
235
+ const sourceCode = source.source().toString();
236
+ const newSourceCode = sourceCode.replace(build_1.scuttleOptionsPlaceholder, opts +
237
+ " ".repeat(build_1.scuttleOptionsPlaceholder.length -
238
+ opts.length));
239
+ if (source.map() == null) {
240
+ compilation.updateAsset(file, new webpack_sources_1.RawSource(newSourceCode));
241
+ }
242
+ else {
243
+ compilation.updateAsset(file, new webpack_sources_1.SourceMapSource(newSourceCode, file, source.map(), source.source()));
244
+ }
179
245
  }
180
246
  }
181
- }));
247
+ });
182
248
  });
183
249
  }
184
250
  }
185
251
  exports.default = RU1NSecuritySDKPlugin;
186
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSxzQ0FBNkM7QUFDN0MsMENBQXVFO0FBQ3ZFLDRDQUFnRDtBQUNoRCw0Q0FBOEI7QUFDOUIsZ0RBQWtDO0FBQ2xDLHdDQUFxQztBQUNyQyxxREFBNkQ7QUFDN0QsMkRBQXdEO0FBWXhELE1BQU0sVUFBVSxHQUFHLHVCQUF1QixDQUFDO0FBRTNDLE1BQXFCLHFCQUFxQjtJQWN0QyxZQUFZLE1BQWM7UUFiMUIsYUFBYTtRQUNMLFlBQU8sR0FBVyxFQUFFLENBQUM7UUFFckIsZUFBVSxHQUF1QyxFQUFFLENBQUM7UUFDcEQsV0FBTSxHQUFXLElBQUksZUFBTSxFQUFFLENBQUM7UUFFOUIsZ0JBQVcsR0FBa0IsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUUvQyx5QkFBeUI7UUFDakIsa0JBQWEsR0FBRyxJQUFJLGFBQUssRUFBb0IsQ0FBQztRQUU5Qyx1QkFBa0IsR0FBRyxJQUFJLEdBQUcsRUFBMkIsQ0FBQztRQUc1RCxJQUFJLE1BQU0sQ0FBQyxJQUFJLElBQUksSUFBSSxFQUFFLENBQUM7WUFDdEIsTUFBTSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUM7UUFDMUIsQ0FBQztRQUNELElBQUksTUFBTSxDQUFDLGNBQWMsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNoQyxNQUFNLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztRQUNqQyxDQUFDO1FBQ0QsSUFBSSxNQUFNLENBQUMsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3JCLE1BQU0sQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLENBQUM7UUFDRCxJQUFJLE1BQU0sQ0FBQyxrQkFBa0IsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNwQyxNQUFNLENBQUMsa0JBQWtCLEdBQUcsRUFBRSxD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
252
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSxzQ0FBNkM7QUFDN0MsMENBQXVFO0FBQ3ZFLDRDQUFnRDtBQUNoRCw0Q0FBOEI7QUFDOUIsZ0RBQWtDO0FBQ2xDLHdDQUFxQztBQUNyQyxxREFBNkQ7QUFDN0QsMkRBQXdEO0FBQ3hELG1DQUVpQjtBQWtCakIsTUFBTSxVQUFVLEdBQUcsdUJBQXVCLENBQUM7QUFFM0MsTUFBcUIscUJBQXFCO0lBY3RDLFlBQVksTUFBYztRQWIxQixhQUFhO1FBQ0wsWUFBTyxHQUFXLEVBQUUsQ0FBQztRQUVyQixlQUFVLEdBQXVDLEVBQUUsQ0FBQztRQUNwRCxXQUFNLEdBQVcsSUFBSSxlQUFNLEVBQUUsQ0FBQztRQUU5QixnQkFBVyxHQUFrQixJQUFJLEdBQUcsRUFBRSxDQUFDO1FBRS9DLHlCQUF5QjtRQUNqQixrQkFBYSxHQUFHLElBQUksYUFBSyxFQUFvQixDQUFDO1FBRTlDLHVCQUFrQixHQUFHLElBQUksR0FBRyxFQUEyQixDQUFDO1FBRzVELElBQUksTUFBTSxDQUFDLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUN0QixNQUFNLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQztRQUMxQixDQUFDO1FBQ0QsSUFBSSxNQUFNLENBQUMsY0FBYyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ2hDLE1BQU0sQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1FBQ2pDLENBQUM7UUFDRCxJQUFJLE1BQU0sQ0FBQyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7WUFDckIsTUFBTSxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUM7UUFDdkIsQ0FBQztRQUNELElBQUksTUFBTSxDQUFDLGtCQUFrQixJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3BDLE1BQU0sQ0FBQyxrQkFB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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "supplychain_security_sdk",
3
- "version": "1.1.5",
3
+ "version": "1.1.6",
4
4
  "main": "dist/index.js",
5
5
  "scripts": {
6
6
  "test": "echo \"Error: no test specified\" && exit 1",