warden.rn 1.0.2 → 1.0.3
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/harden.d.ts.map +1 -1
- package/dist/build/harden.js +12 -3
- package/dist/build/harden.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -2
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/build/harden.ts +15 -3
- package/src/index.ts +7 -2
- package/dist/build/cli.d.ts +0 -21
- package/dist/build/cli.d.ts.map +0 -1
- package/dist/build/cli.js +0 -134
- package/dist/build/cli.js.map +0 -1
- package/dist/build/entry.d.ts +0 -2
- package/dist/build/entry.d.ts.map +0 -1
- package/dist/build/entry.js +0 -3
- package/dist/build/entry.js.map +0 -1
- package/dist/build/index.d.ts +0 -7
- package/dist/build/index.d.ts.map +0 -1
- package/dist/build/index.js +0 -37
- package/dist/build/index.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"harden.d.ts","sourceRoot":"","sources":["../../src/build/harden.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"harden.d.ts","sourceRoot":"","sources":["../../src/build/harden.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AA+HlC,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,QAMrD"}
|
package/dist/build/harden.js
CHANGED
|
@@ -11,8 +11,10 @@ function hardenPrototype() {
|
|
|
11
11
|
//@ts-expect-error
|
|
12
12
|
const valueArr = [];
|
|
13
13
|
//@ts-expect-error
|
|
14
|
-
globalThis.
|
|
15
|
-
|
|
14
|
+
globalThis.__ru1n_valueArr = valueArr;
|
|
15
|
+
Object.freeze(Function.prototype);
|
|
16
|
+
Object.freeze(Function);
|
|
17
|
+
const lock_Objects = ["Array", "Object", "Map", "Set", "Date", "String", "Number", "Boolean", "RegExp", "Error", "Reflect", "WeakMap", "WeakSet", "Promise"];
|
|
16
18
|
const skipSet = new Set(["size", "length", "name", "stack"]);
|
|
17
19
|
for (const objName of lock_Objects) {
|
|
18
20
|
//@ts-expect-error
|
|
@@ -37,7 +39,7 @@ function hardenPrototype() {
|
|
|
37
39
|
valueArr.push(ovalue);
|
|
38
40
|
const code = `
|
|
39
41
|
if (this === ${objName}.prototype || this == null) {
|
|
40
|
-
return globalThis.
|
|
42
|
+
return globalThis.__ru1n_valueArr[${valueArr.length - 1}]
|
|
41
43
|
} else {
|
|
42
44
|
return Object.getPrototypeOf(this).${propKey};
|
|
43
45
|
}`;
|
|
@@ -101,6 +103,13 @@ function hardenPrototype() {
|
|
|
101
103
|
configurable: false,
|
|
102
104
|
enumerable: false,
|
|
103
105
|
});
|
|
106
|
+
Object.freeze(globalThis.__ru1n_valueArr);
|
|
107
|
+
const desc = Object.getOwnPropertyDescriptor(globalThis, '__ru1n_valueArr');
|
|
108
|
+
if (desc) {
|
|
109
|
+
desc.writable = false;
|
|
110
|
+
desc.configurable = false;
|
|
111
|
+
Object.defineProperty(globalThis, '__ru1n_valueArr', desc);
|
|
112
|
+
}
|
|
104
113
|
}
|
|
105
114
|
function addPrototypePollutionGuard(ast) {
|
|
106
115
|
const hardenPrototypeAst = t.expressionStatement(t.callExpression((0, parser_1.parseExpression)(hardenPrototype.toString()), []));
|
package/dist/build/harden.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"harden.js","sourceRoot":"","sources":["../../src/build/harden.ts"],"names":[],"mappings":";AAAA;;;GAGG;;
|
|
1
|
+
{"version":3,"file":"harden.js","sourceRoot":"","sources":["../../src/build/harden.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAkB/C,MAAM,MAAM,OAAO,GAAG;IAClB,GAAG,EAAE,OAAO,GAAG,SAAS,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B,CAAC;AAEF,wBAAgB,sBAAsB,CAClC,UAAU,EAAE,eAAe,GAAG,SAAqB,EACnD,MAAM,EAAE,OAAO,GAChB,eAAe,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAkB/C,MAAM,MAAM,OAAO,GAAG;IAClB,GAAG,EAAE,OAAO,GAAG,SAAS,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B,CAAC;AAEF,wBAAgB,sBAAsB,CAClC,UAAU,EAAE,eAAe,GAAG,SAAqB,EACnD,MAAM,EAAE,OAAO,GAChB,eAAe,CAyLjB"}
|
package/dist/index.js
CHANGED
|
@@ -54,7 +54,9 @@ function createWardenSerializer(serilaizer = undefined, config) {
|
|
|
54
54
|
};
|
|
55
55
|
const serializerResult = serilaizer(entryPoint, preModules, graph, modifiedOptions);
|
|
56
56
|
const { code, map } = await (0, util_1.extractSerializerResult)(serializerResult);
|
|
57
|
-
|
|
57
|
+
if (config.dev) {
|
|
58
|
+
(0, node_fs_1.writeFileSync)(path.join(policyDir, "bundle.js"), code);
|
|
59
|
+
}
|
|
58
60
|
if (options.dev) {
|
|
59
61
|
return { code, map };
|
|
60
62
|
}
|
|
@@ -125,7 +127,9 @@ function createWardenSerializer(serilaizer = undefined, config) {
|
|
|
125
127
|
(0, globals_1.refactorRuntime)(ast, id2path, config.dev);
|
|
126
128
|
const finalResult = await generateWithExistingMap(ast, code, JSON.parse(map));
|
|
127
129
|
(0, node_fs_1.writeFileSync)(path.join(policyDir, "policy.json"), policy.toJSON());
|
|
128
|
-
|
|
130
|
+
if (config.dev) {
|
|
131
|
+
(0, node_fs_1.writeFileSync)(path.join(policyDir, "bundle_out.js"), finalResult.code);
|
|
132
|
+
}
|
|
129
133
|
return { code: finalResult.code, map: finalResult.map };
|
|
130
134
|
};
|
|
131
135
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AA6BA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/build/harden.ts
CHANGED
|
@@ -10,8 +10,12 @@ function hardenPrototype() {
|
|
|
10
10
|
//@ts-expect-error
|
|
11
11
|
const valueArr = [];
|
|
12
12
|
//@ts-expect-error
|
|
13
|
-
globalThis.
|
|
14
|
-
|
|
13
|
+
globalThis.__ru1n_valueArr = valueArr;
|
|
14
|
+
|
|
15
|
+
Object.freeze(Function.prototype);
|
|
16
|
+
Object.freeze(Function);
|
|
17
|
+
|
|
18
|
+
const lock_Objects = ["Array", "Object", "Map", "Set", "Date", "String", "Number", "Boolean", "RegExp", "Error", "Reflect", "WeakMap", "WeakSet", "Promise"];
|
|
15
19
|
const skipSet = new Set(["size", "length", "name", "stack"]);
|
|
16
20
|
for (const objName of lock_Objects) {
|
|
17
21
|
//@ts-expect-error
|
|
@@ -43,7 +47,7 @@ function hardenPrototype() {
|
|
|
43
47
|
valueArr.push(ovalue);
|
|
44
48
|
const code = `
|
|
45
49
|
if (this === ${objName}.prototype || this == null) {
|
|
46
|
-
return globalThis.
|
|
50
|
+
return globalThis.__ru1n_valueArr[${
|
|
47
51
|
valueArr.length - 1
|
|
48
52
|
}]
|
|
49
53
|
} else {
|
|
@@ -116,6 +120,14 @@ function hardenPrototype() {
|
|
|
116
120
|
configurable: false,
|
|
117
121
|
enumerable: false,
|
|
118
122
|
});
|
|
123
|
+
|
|
124
|
+
Object.freeze((globalThis as any).__ru1n_valueArr);
|
|
125
|
+
const desc = Object.getOwnPropertyDescriptor(globalThis, '__ru1n_valueArr');
|
|
126
|
+
if (desc) {
|
|
127
|
+
desc.writable = false;
|
|
128
|
+
desc.configurable = false;
|
|
129
|
+
Object.defineProperty(globalThis, '__ru1n_valueArr', desc);
|
|
130
|
+
}
|
|
119
131
|
}
|
|
120
132
|
|
|
121
133
|
export function addPrototypePollutionGuard(ast: t.File) {
|
package/src/index.ts
CHANGED
|
@@ -83,7 +83,9 @@ export function createWardenSerializer(
|
|
|
83
83
|
);
|
|
84
84
|
const { code, map } = await extractSerializerResult(serializerResult);
|
|
85
85
|
|
|
86
|
-
|
|
86
|
+
if (config.dev) {
|
|
87
|
+
writeFileSync(path.join(policyDir, "bundle.js"), code);
|
|
88
|
+
}
|
|
87
89
|
|
|
88
90
|
if (options.dev) {
|
|
89
91
|
return { code, map };
|
|
@@ -206,8 +208,11 @@ export function createWardenSerializer(
|
|
|
206
208
|
);
|
|
207
209
|
|
|
208
210
|
writeFileSync(path.join(policyDir, "policy.json"), policy.toJSON());
|
|
209
|
-
writeFileSync(path.join(policyDir, "bundle_pp.js"), finalResult.code);
|
|
210
211
|
|
|
212
|
+
if (config.dev) {
|
|
213
|
+
writeFileSync(path.join(policyDir, "bundle_out.js"), finalResult.code);
|
|
214
|
+
}
|
|
215
|
+
|
|
211
216
|
return { code: finalResult.code, map: finalResult.map };
|
|
212
217
|
};
|
|
213
218
|
}
|
package/dist/build/cli.d.ts
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { Options } from "..";
|
|
2
|
-
import { BiMap } from "../util/bimap";
|
|
3
|
-
export interface BundleIPCMessage {
|
|
4
|
-
type: "bundle";
|
|
5
|
-
code: string;
|
|
6
|
-
map: string;
|
|
7
|
-
config: Options;
|
|
8
|
-
projectRoot: string;
|
|
9
|
-
moduleMap: Record<number, string>;
|
|
10
|
-
}
|
|
11
|
-
export interface BundleIPCResponse {
|
|
12
|
-
type: "bundle_resp";
|
|
13
|
-
code: string;
|
|
14
|
-
map: string;
|
|
15
|
-
error: string | null;
|
|
16
|
-
}
|
|
17
|
-
export declare function bundle(code: string, map: string, config: Options, projectRoot: string, moduleMap: BiMap<number, string>): Promise<{
|
|
18
|
-
code: string;
|
|
19
|
-
map: string;
|
|
20
|
-
}>;
|
|
21
|
-
//# sourceMappingURL=cli.d.ts.map
|
package/dist/build/cli.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/build/cli.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAY7B,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,wBAAsB,MAAM,CACxB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,OAAO,EACf,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,GACjC,OAAO,CAAC;IACP,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACf,CAAC,CAqID"}
|
package/dist/build/cli.js
DELETED
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.bundle = bundle;
|
|
4
|
-
const process = require("node:process");
|
|
5
|
-
const node_fs_1 = require("node:fs");
|
|
6
|
-
const parser_1 = require("@babel/parser");
|
|
7
|
-
const path = require("node:path");
|
|
8
|
-
const config_1 = require("../util/config");
|
|
9
|
-
const traverse_1 = require("@babel/traverse");
|
|
10
|
-
const t = require("@babel/types");
|
|
11
|
-
const harden_1 = require("./harden");
|
|
12
|
-
const remapping = require("@ampproject/remapping");
|
|
13
|
-
const generator_1 = require("@babel/generator");
|
|
14
|
-
const globals_1 = require("./globals");
|
|
15
|
-
const deps_1 = require("./deps");
|
|
16
|
-
const bimap_1 = require("../util/bimap");
|
|
17
|
-
async function bundle(code, map, config, projectRoot, moduleMap) {
|
|
18
|
-
const rootDir = path.resolve(path.join(projectRoot, config.rootDir));
|
|
19
|
-
let sourceRoot = path.resolve(path.join(rootDir, config.sourceRoot));
|
|
20
|
-
if (!sourceRoot.endsWith(path.sep)) {
|
|
21
|
-
sourceRoot += path.sep;
|
|
22
|
-
}
|
|
23
|
-
const policyDir = path.resolve(path.join(rootDir), config.policyDir);
|
|
24
|
-
if (!(0, node_fs_1.existsSync)(policyDir)) {
|
|
25
|
-
(0, node_fs_1.mkdirSync)(policyDir);
|
|
26
|
-
}
|
|
27
|
-
if (config.dev) {
|
|
28
|
-
(0, node_fs_1.writeFileSync)(path.join(policyDir, "bundle.js"), code);
|
|
29
|
-
}
|
|
30
|
-
const ast = (0, parser_1.parse)(code, {
|
|
31
|
-
sourceType: "module",
|
|
32
|
-
});
|
|
33
|
-
// 提取所有module信息
|
|
34
|
-
let override = undefined;
|
|
35
|
-
if ((0, node_fs_1.existsSync)(path.join(policyDir, "policy-override.json"))) {
|
|
36
|
-
console.log(`load override policy from ${path.join(policyDir, "policy-override.json")}`);
|
|
37
|
-
override = JSON.parse((0, node_fs_1.readFileSync)(path.join(policyDir, "policy-override.json"), "utf-8"));
|
|
38
|
-
}
|
|
39
|
-
const policy = new config_1.Policy(moduleMap, rootDir, override);
|
|
40
|
-
(0, traverse_1.default)(ast, {
|
|
41
|
-
Program(path) {
|
|
42
|
-
const bodyPaths = path.get("body");
|
|
43
|
-
for (const stm of bodyPaths) {
|
|
44
|
-
const stmt = stm.node;
|
|
45
|
-
if (t.isExpressionStatement(stmt) &&
|
|
46
|
-
t.isCallExpression(stmt.expression) &&
|
|
47
|
-
t.isIdentifier(stmt.expression.callee) &&
|
|
48
|
-
stmt.expression.callee.name === "__d") {
|
|
49
|
-
if (!t.isFunctionExpression(stmt.expression.arguments[0]) ||
|
|
50
|
-
!t.isNumericLiteral(stmt.expression.arguments[1]) ||
|
|
51
|
-
!t.isArrayExpression(stmt.expression.arguments[2])) {
|
|
52
|
-
console.warn(`[-] 跳过不规则的模块定义语句 - ${JSON.stringify(stmt.loc)}`);
|
|
53
|
-
continue;
|
|
54
|
-
}
|
|
55
|
-
const moduleFn = stmt.expression.arguments[0];
|
|
56
|
-
const moduleId = stmt.expression.arguments[1].value;
|
|
57
|
-
const moduleDeps = stmt.expression.arguments[2].elements.map((e) => e.value);
|
|
58
|
-
const moduleName = moduleMap.getByKey(moduleId);
|
|
59
|
-
if (moduleName == null) {
|
|
60
|
-
throw new Error(`unknown module id ${moduleId}`);
|
|
61
|
-
}
|
|
62
|
-
// 如果是一方模块, 跳过不处理
|
|
63
|
-
if (moduleName.startsWith(sourceRoot)) {
|
|
64
|
-
continue;
|
|
65
|
-
}
|
|
66
|
-
const moduleDepNames = moduleDeps.map((e) => {
|
|
67
|
-
const name = moduleMap.getByKey(e);
|
|
68
|
-
if (name == null) {
|
|
69
|
-
throw new Error(`unknown module id ${e}`);
|
|
70
|
-
}
|
|
71
|
-
return name;
|
|
72
|
-
});
|
|
73
|
-
const item = { deps: [], globals: {} };
|
|
74
|
-
item.deps = moduleDepNames;
|
|
75
|
-
item.globals = (0, globals_1.analyzeGlobals)(
|
|
76
|
-
//@ts-expect-error
|
|
77
|
-
stm.get("expression"), true);
|
|
78
|
-
policy.setModulePolicy(moduleId, item);
|
|
79
|
-
policy.loadOverride(moduleId);
|
|
80
|
-
(0, deps_1.protectRequire)(stm
|
|
81
|
-
.get("expression")
|
|
82
|
-
.get("arguments")[0], moduleDeps);
|
|
83
|
-
(0, globals_1.hardenGlobals)(stm.get("expression"), policy.getModulePolicy(moduleId).globals, moduleId, config.dev);
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
path.stop();
|
|
87
|
-
},
|
|
88
|
-
});
|
|
89
|
-
(0, harden_1.addPrototypePollutionGuard)(ast);
|
|
90
|
-
const id2path = Object.create(null);
|
|
91
|
-
for (const [id, p] of moduleMap.entries()) {
|
|
92
|
-
id2path[id] = path.relative(rootDir, p);
|
|
93
|
-
}
|
|
94
|
-
(0, globals_1.refactorRuntime)(ast, id2path, config.dev);
|
|
95
|
-
const finalResult = await generateWithExistingMap(ast, code, JSON.parse(map));
|
|
96
|
-
(0, node_fs_1.writeFileSync)(path.join(policyDir, "policy.json"), policy.toJSON());
|
|
97
|
-
if (config.dev) {
|
|
98
|
-
(0, node_fs_1.writeFileSync)(path.join(policyDir, "bundle_pp.js"), finalResult.code);
|
|
99
|
-
}
|
|
100
|
-
return { code: finalResult.code, map: finalResult.map };
|
|
101
|
-
}
|
|
102
|
-
async function generateWithExistingMap(ast, originalCode, originalMap) {
|
|
103
|
-
const hasMap = Object.keys(originalMap).length > 0;
|
|
104
|
-
// 生成新代码
|
|
105
|
-
const generated = (0, generator_1.default)(ast, {
|
|
106
|
-
sourceMaps: hasMap,
|
|
107
|
-
sourceFileName: hasMap ? "source.js" : undefined,
|
|
108
|
-
}, hasMap ? originalCode : undefined);
|
|
109
|
-
// 如果有原始 source map,需要合并
|
|
110
|
-
if (hasMap) {
|
|
111
|
-
const final = remapping([generated.map, originalMap], () => null);
|
|
112
|
-
return {
|
|
113
|
-
code: generated.code,
|
|
114
|
-
map: JSON.stringify(final),
|
|
115
|
-
};
|
|
116
|
-
}
|
|
117
|
-
return {
|
|
118
|
-
code: generated.code,
|
|
119
|
-
map: "{}",
|
|
120
|
-
};
|
|
121
|
-
}
|
|
122
|
-
const argv = process.argv;
|
|
123
|
-
const code = (0, node_fs_1.readFileSync)(argv[2], "utf-8");
|
|
124
|
-
const map = (0, node_fs_1.readFileSync)(argv[3], "utf-8");
|
|
125
|
-
const config = JSON.parse(argv[4]);
|
|
126
|
-
const projectRoot = argv[5];
|
|
127
|
-
const moduleMap = new bimap_1.BiMap(Object.entries(JSON.parse((0, node_fs_1.readFileSync)(argv[6], "utf-8"))).map(([key, value]) => [Number(key), value]));
|
|
128
|
-
// console.log("bundle", code, map, config, projectRoot, moduleMap);
|
|
129
|
-
bundle(code, map, config, projectRoot, moduleMap).then(({ code, map }) => {
|
|
130
|
-
(0, node_fs_1.writeFileSync)(argv[7], code);
|
|
131
|
-
(0, node_fs_1.writeFileSync)(argv[8], map);
|
|
132
|
-
process.exit(0);
|
|
133
|
-
});
|
|
134
|
-
//# sourceMappingURL=cli.js.map
|
package/dist/build/cli.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/build/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/build/entry.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"entry.d.ts","sourceRoot":"","sources":["../../src/build/entry.ts"],"names":[],"mappings":""}
|
package/dist/build/entry.js
DELETED
package/dist/build/entry.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"entry.js","sourceRoot":"","sources":["../../src/build/entry.ts"],"names":[],"mappings":""}
|
package/dist/build/index.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { BiMap } from "../util/bimap";
|
|
2
|
-
import { Options } from "..";
|
|
3
|
-
export declare function buildWithFork(code: string, map: string, config: Options, projectRoot: string, moduleMap: BiMap<number, string>): {
|
|
4
|
-
code: string;
|
|
5
|
-
map: string;
|
|
6
|
-
};
|
|
7
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/build/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAM7B,wBAAgB,aAAa,CACzB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,OAAO,EACf,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,GACjC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAoC/B"}
|
package/dist/build/index.js
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.buildWithFork = buildWithFork;
|
|
4
|
-
const path = require("path");
|
|
5
|
-
const child_process_1 = require("child_process");
|
|
6
|
-
const os = require("os");
|
|
7
|
-
const fs_1 = require("fs");
|
|
8
|
-
function buildWithFork(code, map, config, projectRoot, moduleMap) {
|
|
9
|
-
const inputFile = path.join(os.tmpdir(), "warden-input.js");
|
|
10
|
-
(0, fs_1.writeFileSync)(inputFile, code);
|
|
11
|
-
const inputMapFile = path.join(os.tmpdir(), "warden-input.map");
|
|
12
|
-
(0, fs_1.writeFileSync)(inputMapFile, map);
|
|
13
|
-
const inputModuleMapFile = path.join(os.tmpdir(), "warden-input.module-map.json");
|
|
14
|
-
(0, fs_1.writeFileSync)(inputModuleMapFile, JSON.stringify(Object.fromEntries(moduleMap.entries())));
|
|
15
|
-
const outputFile = path.join(os.tmpdir(), "warden-output.js");
|
|
16
|
-
const outputMapFile = path.join(os.tmpdir(), "warden-output.map");
|
|
17
|
-
const args = [
|
|
18
|
-
path.join(__dirname, "cli.js"),
|
|
19
|
-
inputFile,
|
|
20
|
-
inputMapFile,
|
|
21
|
-
JSON.stringify(config),
|
|
22
|
-
projectRoot,
|
|
23
|
-
inputModuleMapFile,
|
|
24
|
-
outputFile,
|
|
25
|
-
outputMapFile,
|
|
26
|
-
];
|
|
27
|
-
(0, child_process_1.spawnSync)(process.execPath, args, {
|
|
28
|
-
stdio: "inherit",
|
|
29
|
-
env: {
|
|
30
|
-
NODE_OPTIONS: process.env.NODE_OPTIONS || "--max-old-space-size=65536",
|
|
31
|
-
}
|
|
32
|
-
});
|
|
33
|
-
const _code = (0, fs_1.readFileSync)(outputFile, "utf-8");
|
|
34
|
-
const _map = (0, fs_1.readFileSync)(outputMapFile, "utf-8");
|
|
35
|
-
return { code: _code, map: _map };
|
|
36
|
-
}
|
|
37
|
-
//# sourceMappingURL=index.js.map
|
package/dist/build/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/build/index.ts"],"names":[],"mappings":";;AAQA,sCA0CC;AA/CD,6BAA6B;AAE7B,iDAA2D;AAC3D,yBAAyB;AACzB,2BAAiD;AACjD,SAAgB,aAAa,CACzB,IAAY,EACZ,GAAW,EACX,MAAe,EACf,WAAmB,EACnB,SAAgC;IAEhC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,iBAAiB,CAAC,CAAC;IAC5D,IAAA,kBAAa,EAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC/B,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,kBAAkB,CAAC,CAAC;IAChE,IAAA,kBAAa,EAAC,YAAY,EAAE,GAAG,CAAC,CAAC;IACjC,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAChC,EAAE,CAAC,MAAM,EAAE,EACX,8BAA8B,CACjC,CAAC;IACF,IAAA,kBAAa,EACT,kBAAkB,EAClB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAC1D,CAAC;IAEF,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,kBAAkB,CAAC,CAAC;IAC9D,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,mBAAmB,CAAC,CAAC;IAElE,MAAM,IAAI,GAAG;QACT,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC;QAC9B,SAAS;QACT,YAAY;QACZ,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QACtB,WAAW;QACX,kBAAkB;QAClB,UAAU;QACV,aAAa;KAChB,CAAC;IACF,IAAA,yBAAS,EAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE;QAC9B,KAAK,EAAE,SAAS;QAChB,GAAG,EAAE;YACD,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,4BAA4B;SACzE;KACJ,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,IAAA,iBAAY,EAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,IAAA,iBAAY,EAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAClD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;AACtC,CAAC"}
|