@rspack/core 0.0.21 → 0.0.23
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/LICENSE +2 -1
- package/dist/ErrorHelpers.d.ts +8 -0
- package/dist/ErrorHelpers.d.ts.map +1 -0
- package/dist/ErrorHelpers.js +54 -0
- package/dist/ErrorHelpers.js.map +1 -0
- package/dist/ResolverFactory.d.ts +1 -1
- package/dist/ResolverFactory.d.ts.map +1 -1
- package/dist/ResolverFactory.js +9 -4
- package/dist/ResolverFactory.js.map +1 -1
- package/dist/a.js +30 -0
- package/dist/b.js +28 -0
- package/dist/bundle.js +1 -0
- package/dist/compilation.d.ts +91 -8
- package/dist/compilation.d.ts.map +1 -1
- package/dist/compilation.js +268 -8
- package/dist/compilation.js.map +1 -1
- package/dist/compiler.d.ts +26 -13
- package/dist/compiler.d.ts.map +1 -1
- package/dist/compiler.js +106 -97
- package/dist/compiler.js.map +1 -1
- package/dist/config/adapter-rule-use.d.ts +75 -0
- package/dist/config/adapter-rule-use.d.ts.map +1 -0
- package/dist/config/adapter-rule-use.js +463 -0
- package/dist/config/adapter-rule-use.js.map +1 -0
- package/dist/config/adapter.d.ts +5 -0
- package/dist/config/adapter.d.ts.map +1 -0
- package/dist/config/adapter.js +235 -0
- package/dist/config/adapter.js.map +1 -0
- package/dist/config/browserslistTargetHandler.d.ts.map +1 -1
- package/dist/config/browserslistTargetHandler.js +9 -4
- package/dist/config/browserslistTargetHandler.js.map +1 -1
- package/dist/config/builtins.d.ts +40 -10
- package/dist/config/builtins.d.ts.map +1 -1
- package/dist/config/builtins.js +109 -41
- package/dist/config/builtins.js.map +1 -1
- package/dist/config/cache.d.ts.map +1 -1
- package/dist/config/cache.js +1 -0
- package/dist/config/cache.js.map +1 -1
- package/dist/config/defaults.d.ts +12 -3
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +281 -113
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/devServer.d.ts +2 -30
- package/dist/config/devServer.d.ts.map +1 -1
- package/dist/config/entry.d.ts +2 -1
- package/dist/config/entry.d.ts.map +1 -1
- package/dist/config/entry.js +24 -10
- package/dist/config/entry.js.map +1 -1
- package/dist/config/experiments.d.ts.map +1 -1
- package/dist/config/experiments.js +3 -2
- package/dist/config/experiments.js.map +1 -1
- package/dist/config/index.d.ts +3 -71
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +17 -75
- package/dist/config/index.js.map +1 -1
- package/dist/config/mode.d.ts +2 -2
- package/dist/config/mode.d.ts.map +1 -1
- package/dist/config/module.d.ts +19 -22
- package/dist/config/module.d.ts.map +1 -1
- package/dist/config/module.js +104 -61
- package/dist/config/module.js.map +1 -1
- package/dist/config/normalization.d.ts +12 -0
- package/dist/config/normalization.d.ts.map +1 -0
- package/dist/config/normalization.js +181 -0
- package/dist/config/normalization.js.map +1 -0
- package/dist/config/optimization.d.ts +25 -0
- package/dist/config/optimization.d.ts.map +1 -1
- package/dist/config/optimization.js +45 -4
- package/dist/config/optimization.js.map +1 -1
- package/dist/config/plugin.d.ts +1 -1
- package/dist/config/plugin.d.ts.map +1 -1
- package/dist/config/resolve.d.ts +7 -3
- package/dist/config/resolve.d.ts.map +1 -1
- package/dist/config/resolve.js +16 -2
- package/dist/config/resolve.js.map +1 -1
- package/dist/config/snapshot.d.ts +0 -2
- package/dist/config/snapshot.d.ts.map +1 -1
- package/dist/config/snapshot.js +1 -6
- package/dist/config/snapshot.js.map +1 -1
- package/dist/config/splitChunks.d.ts +112 -0
- package/dist/config/splitChunks.d.ts.map +1 -0
- package/dist/config/splitChunks.js +41 -0
- package/dist/config/splitChunks.js.map +1 -0
- package/dist/config/stats.d.ts +3 -0
- package/dist/config/stats.d.ts.map +1 -1
- package/dist/config/stats.js +1 -0
- package/dist/config/stats.js.map +1 -1
- package/dist/config/target.d.ts +138 -6
- package/dist/config/target.d.ts.map +1 -1
- package/dist/config/target.js +314 -15
- package/dist/config/target.js.map +1 -1
- package/dist/config/types.d.ts +311 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/types.js +12 -0
- package/dist/config/types.js.map +1 -0
- package/dist/config/watch.d.ts +3 -7
- package/dist/config/watch.d.ts.map +1 -1
- package/dist/config/watch.js +0 -13
- package/dist/config/watch.js.map +1 -1
- package/dist/dd.js +1 -0
- package/dist/e1.js +11 -0
- package/dist/e1~runtime.js +56 -0
- package/dist/e2.js +11 -0
- package/dist/e2~runtime.js +56 -0
- package/dist/error/ConcurrentCompilationError.d.ts +15 -0
- package/dist/error/ConcurrentCompilationError.d.ts.map +1 -0
- package/dist/error/ConcurrentCompilationError.js +21 -0
- package/dist/error/ConcurrentCompilationError.js.map +1 -0
- package/dist/fileSystem.d.ts +8 -0
- package/dist/fileSystem.d.ts.map +1 -0
- package/dist/fileSystem.js +14 -0
- package/dist/fileSystem.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/logging/Logger.d.ts +22 -6
- package/dist/logging/Logger.d.ts.map +1 -1
- package/dist/logging/Logger.js +9 -10
- package/dist/logging/Logger.js.map +1 -1
- package/dist/logging/createConsoleLogger.d.ts +9 -0
- package/dist/logging/createConsoleLogger.d.ts.map +1 -1
- package/dist/logging/createConsoleLogger.js +9 -4
- package/dist/logging/createConsoleLogger.js.map +1 -1
- package/dist/logging/runtime.d.ts +9 -0
- package/dist/logging/runtime.d.ts.map +1 -1
- package/dist/logging/runtime.js +17 -6
- package/dist/logging/runtime.js.map +1 -1
- package/dist/logging/truncateArgs.d.ts +9 -0
- package/dist/logging/truncateArgs.d.ts.map +1 -1
- package/dist/logging/truncateArgs.js +15 -5
- package/dist/logging/truncateArgs.js.map +1 -1
- package/dist/main.js +28 -0
- package/dist/multiCompiler.d.ts +95 -0
- package/dist/multiCompiler.d.ts.map +1 -0
- package/dist/multiCompiler.js +455 -0
- package/dist/multiCompiler.js.map +1 -0
- package/dist/multiStats.d.ts +27 -0
- package/dist/multiStats.d.ts.map +1 -0
- package/dist/multiStats.js +133 -0
- package/dist/multiStats.js.map +1 -0
- package/dist/multiWatching.d.ts +36 -0
- package/dist/multiWatching.d.ts.map +1 -0
- package/dist/multiWatching.js +62 -0
- package/dist/multiWatching.js.map +1 -0
- package/dist/node/NodeEnvironmentPlugin.d.ts +8 -24
- package/dist/node/NodeEnvironmentPlugin.d.ts.map +1 -1
- package/dist/node/NodeEnvironmentPlugin.js +26 -29
- package/dist/node/NodeEnvironmentPlugin.js.map +1 -1
- package/dist/node/NodeTargetPlugin.d.ts +9 -0
- package/dist/node/NodeTargetPlugin.d.ts.map +1 -1
- package/dist/node/NodeTargetPlugin.js +13 -1
- package/dist/node/NodeTargetPlugin.js.map +1 -1
- package/dist/node/NodeWatchFileSystem.d.ts +19 -0
- package/dist/node/NodeWatchFileSystem.d.ts.map +1 -0
- package/dist/node/NodeWatchFileSystem.js +148 -0
- package/dist/node/NodeWatchFileSystem.js.map +1 -0
- package/dist/node/nodeConsole.d.ts +10 -1
- package/dist/node/nodeConsole.d.ts.map +1 -1
- package/dist/node/nodeConsole.js +42 -25
- package/dist/node/nodeConsole.js.map +1 -1
- package/dist/rspack.d.ts +7 -3
- package/dist/rspack.d.ts.map +1 -1
- package/dist/rspack.js +36 -6
- package/dist/rspack.js.map +1 -1
- package/dist/rspackOptionsApply.d.ts.map +1 -1
- package/dist/rspackOptionsApply.js +32 -8
- package/dist/rspackOptionsApply.js.map +1 -1
- package/dist/runtime.js +56 -0
- package/dist/runtime~e1.js +56 -0
- package/dist/runtime~e2.js +56 -0
- package/dist/stats.d.ts +18 -12
- package/dist/stats.d.ts.map +1 -1
- package/dist/stats.js +56 -51
- package/dist/stats.js.map +1 -1
- package/dist/util/ArrayQueue.d.ts +54 -0
- package/dist/util/ArrayQueue.d.ts.map +1 -0
- package/dist/util/ArrayQueue.js +109 -0
- package/dist/util/ArrayQueue.js.map +1 -0
- package/dist/util/cleverMerge.d.ts.map +1 -1
- package/dist/util/cleverMerge.js +9 -4
- package/dist/util/cleverMerge.js.map +1 -1
- package/dist/util/createHash.d.ts +9 -0
- package/dist/util/createHash.d.ts.map +1 -1
- package/dist/util/createHash.js +9 -4
- package/dist/util/createHash.js.map +1 -1
- package/dist/util/createSource.d.ts.map +1 -1
- package/dist/util/createSource.js +19 -4
- package/dist/util/createSource.js.map +1 -1
- package/dist/util/fake.d.ts +30 -0
- package/dist/util/fake.d.ts.map +1 -0
- package/dist/util/fake.js +72 -0
- package/dist/util/fake.js.map +1 -0
- package/dist/util/fs.d.ts +24 -0
- package/dist/util/fs.d.ts.map +1 -0
- package/dist/util/fs.js +3 -0
- package/dist/util/fs.js.map +1 -0
- package/dist/util/hash/BatchedHash.d.ts +2 -2
- package/dist/util/hash/BatchedHash.d.ts.map +1 -1
- package/dist/util/hash/BatchedHash.js +9 -4
- package/dist/util/hash/BatchedHash.js.map +1 -1
- package/dist/util/hash/md4.d.ts +1 -1
- package/dist/util/hash/md4.js +9 -4
- package/dist/util/hash/md4.js.map +1 -1
- package/dist/util/hash/wasm-hash.d.ts.map +1 -1
- package/dist/util/hash/wasm-hash.js +9 -4
- package/dist/util/hash/wasm-hash.js.map +1 -1
- package/dist/util/hash/xxhash64.d.ts +1 -1
- package/dist/util/hash/xxhash64.js +9 -4
- package/dist/util/hash/xxhash64.js.map +1 -1
- package/dist/util/identifier.d.ts +8 -8
- package/dist/util/identifier.d.ts.map +1 -1
- package/dist/util/index.d.ts +2 -0
- package/dist/util/index.d.ts.map +1 -1
- package/dist/util/index.js +10 -1
- package/dist/util/index.js.map +1 -1
- package/dist/util/memoize.d.ts.map +1 -1
- package/dist/util/memoize.js +3 -0
- package/dist/util/memoize.js.map +1 -1
- package/dist/watching.d.ts +32 -0
- package/dist/watching.d.ts.map +1 -0
- package/dist/watching.js +278 -0
- package/dist/watching.js.map +1 -0
- package/package.json +20 -13
- package/dist/utils/createHash.d.ts +0 -7
- package/dist/utils/createHash.d.ts.map +0 -1
- package/dist/utils/createHash.js +0 -166
- package/dist/utils/createHash.js.map +0 -1
- package/dist/utils/createSource.d.ts +0 -6
- package/dist/utils/createSource.d.ts.map +0 -1
- package/dist/utils/createSource.js +0 -48
- package/dist/utils/createSource.js.map +0 -1
- package/dist/utils/hash/BatchedHash.d.ts +0 -16
- package/dist/utils/hash/BatchedHash.d.ts.map +0 -1
- package/dist/utils/hash/BatchedHash.js +0 -61
- package/dist/utils/hash/BatchedHash.js.map +0 -1
- package/dist/utils/hash/index.d.ts +0 -19
- package/dist/utils/hash/index.d.ts.map +0 -1
- package/dist/utils/hash/index.js +0 -28
- package/dist/utils/hash/index.js.map +0 -1
- package/dist/utils/hash/md4.d.ts +0 -3
- package/dist/utils/hash/md4.d.ts.map +0 -1
- package/dist/utils/hash/md4.js +0 -13
- package/dist/utils/hash/md4.js.map +0 -1
- package/dist/utils/hash/wasm-hash.d.ts +0 -7
- package/dist/utils/hash/wasm-hash.d.ts.map +0 -1
- package/dist/utils/hash/wasm-hash.js +0 -162
- package/dist/utils/hash/wasm-hash.js.map +0 -1
- package/dist/utils/hash/xxhash64.d.ts +0 -3
- package/dist/utils/hash/xxhash64.d.ts.map +0 -1
- package/dist/utils/hash/xxhash64.js +0 -13
- package/dist/utils/hash/xxhash64.js.map +0 -1
- package/dist/utils/index.d.ts +0 -6
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/index.js +0 -18
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/memoize.d.ts +0 -2
- package/dist/utils/memoize.d.ts.map +0 -1
- package/dist/utils/memoize.js +0 -22
- package/dist/utils/memoize.js.map +0 -1
package/dist/config/target.d.ts
CHANGED
|
@@ -1,7 +1,139 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
export type PlatformTargetProperties = {
|
|
2
|
+
/**
|
|
3
|
+
* web platform, importing of http(s) and std: is available
|
|
4
|
+
*/
|
|
5
|
+
web: boolean | null;
|
|
6
|
+
/**
|
|
7
|
+
* browser platform, running in a normal web browser
|
|
8
|
+
*/
|
|
9
|
+
browser: boolean | null;
|
|
10
|
+
/**
|
|
11
|
+
* (Web)Worker platform, running in a web/shared/service worker
|
|
12
|
+
*/
|
|
13
|
+
webworker: boolean | null;
|
|
14
|
+
/**
|
|
15
|
+
* node platform, require of node built-in modules is available
|
|
16
|
+
*/
|
|
17
|
+
node: boolean | null;
|
|
18
|
+
/**
|
|
19
|
+
* nwjs platform, require of legacy nw.gui is available
|
|
20
|
+
*/
|
|
21
|
+
nwjs: boolean | null;
|
|
22
|
+
/**
|
|
23
|
+
* electron platform, require of some electron built-in modules is available
|
|
24
|
+
*/
|
|
25
|
+
electron: boolean | null;
|
|
26
|
+
};
|
|
27
|
+
export type ElectronContextTargetProperties = {
|
|
28
|
+
/**
|
|
29
|
+
* in main context
|
|
30
|
+
*/
|
|
31
|
+
electronMain: boolean | null;
|
|
32
|
+
/**
|
|
33
|
+
* in preload context
|
|
34
|
+
*/
|
|
35
|
+
electronPreload: boolean | null;
|
|
36
|
+
/**
|
|
37
|
+
* in renderer context with node integration
|
|
38
|
+
*/
|
|
39
|
+
electronRenderer: boolean | null;
|
|
40
|
+
};
|
|
41
|
+
export type ApiTargetProperties = {
|
|
42
|
+
/**
|
|
43
|
+
* has require function available
|
|
44
|
+
*/
|
|
45
|
+
require: boolean | null;
|
|
46
|
+
/**
|
|
47
|
+
* has node.js built-in modules available
|
|
48
|
+
*/
|
|
49
|
+
nodeBuiltins: boolean | null;
|
|
50
|
+
/**
|
|
51
|
+
* has document available (allows script tags)
|
|
52
|
+
*/
|
|
53
|
+
document: boolean | null;
|
|
54
|
+
/**
|
|
55
|
+
* has importScripts available
|
|
56
|
+
*/
|
|
57
|
+
importScripts: boolean | null;
|
|
58
|
+
/**
|
|
59
|
+
* has importScripts available when creating a worker
|
|
60
|
+
*/
|
|
61
|
+
importScriptsInWorker: boolean | null;
|
|
62
|
+
/**
|
|
63
|
+
* has fetch function available for WebAssembly
|
|
64
|
+
*/
|
|
65
|
+
fetchWasm: boolean | null;
|
|
66
|
+
/**
|
|
67
|
+
* has global variable available
|
|
68
|
+
*/
|
|
69
|
+
global: boolean | null;
|
|
70
|
+
};
|
|
71
|
+
export type EcmaTargetProperties = {
|
|
72
|
+
/**
|
|
73
|
+
* has globalThis variable available
|
|
74
|
+
*/
|
|
75
|
+
globalThis: boolean | null;
|
|
76
|
+
/**
|
|
77
|
+
* big int literal syntax is available
|
|
78
|
+
*/
|
|
79
|
+
bigIntLiteral: boolean | null;
|
|
80
|
+
/**
|
|
81
|
+
* const and let variable declarations are available
|
|
82
|
+
*/
|
|
83
|
+
const: boolean | null;
|
|
84
|
+
/**
|
|
85
|
+
* arrow functions are available
|
|
86
|
+
*/
|
|
87
|
+
arrowFunction: boolean | null;
|
|
88
|
+
/**
|
|
89
|
+
* for of iteration is available
|
|
90
|
+
*/
|
|
91
|
+
forOf: boolean | null;
|
|
92
|
+
/**
|
|
93
|
+
* destructuring is available
|
|
94
|
+
*/
|
|
95
|
+
destructuring: boolean | null;
|
|
96
|
+
/**
|
|
97
|
+
* async import() is available
|
|
98
|
+
*/
|
|
99
|
+
dynamicImport: boolean | null;
|
|
100
|
+
/**
|
|
101
|
+
* async import() is available when creating a worker
|
|
102
|
+
*/
|
|
103
|
+
dynamicImportInWorker: boolean | null;
|
|
104
|
+
/**
|
|
105
|
+
* ESM syntax is available (when in module)
|
|
106
|
+
*/
|
|
107
|
+
module: boolean | null;
|
|
108
|
+
/**
|
|
109
|
+
* optional chaining is available
|
|
110
|
+
*/
|
|
111
|
+
optionalChaining: boolean | null;
|
|
112
|
+
/**
|
|
113
|
+
* template literal is available
|
|
114
|
+
*/
|
|
115
|
+
templateLiteral: boolean | null;
|
|
116
|
+
};
|
|
117
|
+
/**
|
|
118
|
+
* <T>
|
|
119
|
+
*/
|
|
120
|
+
export type Never<T> = { [P in keyof T]?: undefined; };
|
|
121
|
+
/**
|
|
122
|
+
* <A,B>
|
|
123
|
+
*/
|
|
124
|
+
export type Mix<A, B> = (A & Never<B>) | (Never<A> & B) | (A & B);
|
|
125
|
+
export type TargetProperties = Mix<Mix<PlatformTargetProperties, ElectronContextTargetProperties>, Mix<ApiTargetProperties, EcmaTargetProperties>>;
|
|
126
|
+
export function getDefaultTarget(context: any): string;
|
|
127
|
+
/**
|
|
128
|
+
* @param {string[]} targets the targets
|
|
129
|
+
* @param {string} context the context directory
|
|
130
|
+
* @returns {TargetProperties} target properties
|
|
131
|
+
*/
|
|
132
|
+
export function getTargetsProperties(targets: string[], context: string): TargetProperties;
|
|
133
|
+
/**
|
|
134
|
+
* @param {string} target the target
|
|
135
|
+
* @param {string} context the context directory
|
|
136
|
+
* @returns {TargetProperties} target properties
|
|
137
|
+
*/
|
|
138
|
+
export function getTargetProperties(target: string, context: string): TargetProperties;
|
|
7
139
|
//# sourceMappingURL=target.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"target.d.ts","sourceRoot":"","sources":["../../src/config/target.
|
|
1
|
+
{"version":3,"file":"target.d.ts","sourceRoot":"","sources":["../../src/config/target.js"],"names":[],"mappings":";;;;SAyBc,OAAO,GAAG,IAAI;;;;aACd,OAAO,GAAG,IAAI;;;;eACd,OAAO,GAAG,IAAI;;;;UACd,OAAO,GAAG,IAAI;;;;UACd,OAAO,GAAG,IAAI;;;;cACd,OAAO,GAAG,IAAI;;;;;;kBAKd,OAAO,GAAG,IAAI;;;;qBACd,OAAO,GAAG,IAAI;;;;sBACd,OAAO,GAAG,IAAI;;;;;;aAKd,OAAO,GAAG,IAAI;;;;kBACd,OAAO,GAAG,IAAI;;;;cACd,OAAO,GAAG,IAAI;;;;mBACd,OAAO,GAAG,IAAI;;;;2BACd,OAAO,GAAG,IAAI;;;;eACd,OAAO,GAAG,IAAI;;;;YACd,OAAO,GAAG,IAAI;;;;;;gBAKd,OAAO,GAAG,IAAI;;;;mBACd,OAAO,GAAG,IAAI;;;;WACd,OAAO,GAAG,IAAI;;;;mBACd,OAAO,GAAG,IAAI;;;;WACd,OAAO,GAAG,IAAI;;;;mBACd,OAAO,GAAG,IAAI;;;;mBACd,OAAO,GAAG,IAAI;;;;2BACd,OAAO,GAAG,IAAI;;;;YACd,OAAO,GAAG,IAAI;;;;sBACd,OAAO,GAAG,IAAI;;;;qBACd,OAAO,GAAG,IAAI;;;;;;;;;wBAKU,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;+BACjE,IAAI,IAAI,wBAAwB,EAAE,+BAA+B,CAAC,EAAE,IAAI,mBAAmB,EAAE,oBAAoB,CAAC,CAAC;AArDjI,uDAKC;AA0TD;;;;GAIG;AACH,8CAJW,MAAM,EAAE,WACR,MAAM,GACJ,gBAAgB,CAM5B;AA1DD;;;;GAIG;AACH,4CAJW,MAAM,WACN,MAAM,GACJ,gBAAgB,CAgB5B"}
|
package/dist/config/target.js
CHANGED
|
@@ -1,21 +1,320 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
2
|
+
/**
|
|
3
|
+
* The following code is modified based on
|
|
4
|
+
* https://github.com/webpack/webpack/blob/4b4ca3b/lib/config/target.js
|
|
5
|
+
*
|
|
6
|
+
* MIT Licensed
|
|
7
|
+
* Author Tobias Koppers @sokra
|
|
8
|
+
* Copyright (c) JS Foundation and other contributors
|
|
9
|
+
* https://github.com/webpack/webpack/blob/main/LICENSE
|
|
10
|
+
*/
|
|
11
|
+
const { memoize } = require("../util/memoize");
|
|
12
|
+
const getBrowserslistTargetHandler = memoize(() => require("./browserslistTargetHandler"));
|
|
13
|
+
const getDefaultTarget = context => {
|
|
14
|
+
// TODO: align with webpack
|
|
15
|
+
// const browsers = getBrowserslistTargetHandler().load(null, context);
|
|
16
|
+
// return browsers ? "browserslist" : "web";
|
|
17
|
+
return "web";
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* @typedef {Object} PlatformTargetProperties
|
|
21
|
+
* @property {boolean | null} web web platform, importing of http(s) and std: is available
|
|
22
|
+
* @property {boolean | null} browser browser platform, running in a normal web browser
|
|
23
|
+
* @property {boolean | null} webworker (Web)Worker platform, running in a web/shared/service worker
|
|
24
|
+
* @property {boolean | null} node node platform, require of node built-in modules is available
|
|
25
|
+
* @property {boolean | null} nwjs nwjs platform, require of legacy nw.gui is available
|
|
26
|
+
* @property {boolean | null} electron electron platform, require of some electron built-in modules is available
|
|
27
|
+
*/
|
|
28
|
+
/**
|
|
29
|
+
* @typedef {Object} ElectronContextTargetProperties
|
|
30
|
+
* @property {boolean | null} electronMain in main context
|
|
31
|
+
* @property {boolean | null} electronPreload in preload context
|
|
32
|
+
* @property {boolean | null} electronRenderer in renderer context with node integration
|
|
33
|
+
*/
|
|
34
|
+
/**
|
|
35
|
+
* @typedef {Object} ApiTargetProperties
|
|
36
|
+
* @property {boolean | null} require has require function available
|
|
37
|
+
* @property {boolean | null} nodeBuiltins has node.js built-in modules available
|
|
38
|
+
* @property {boolean | null} document has document available (allows script tags)
|
|
39
|
+
* @property {boolean | null} importScripts has importScripts available
|
|
40
|
+
* @property {boolean | null} importScriptsInWorker has importScripts available when creating a worker
|
|
41
|
+
* @property {boolean | null} fetchWasm has fetch function available for WebAssembly
|
|
42
|
+
* @property {boolean | null} global has global variable available
|
|
43
|
+
*/
|
|
44
|
+
/**
|
|
45
|
+
* @typedef {Object} EcmaTargetProperties
|
|
46
|
+
* @property {boolean | null} globalThis has globalThis variable available
|
|
47
|
+
* @property {boolean | null} bigIntLiteral big int literal syntax is available
|
|
48
|
+
* @property {boolean | null} const const and let variable declarations are available
|
|
49
|
+
* @property {boolean | null} arrowFunction arrow functions are available
|
|
50
|
+
* @property {boolean | null} forOf for of iteration is available
|
|
51
|
+
* @property {boolean | null} destructuring destructuring is available
|
|
52
|
+
* @property {boolean | null} dynamicImport async import() is available
|
|
53
|
+
* @property {boolean | null} dynamicImportInWorker async import() is available when creating a worker
|
|
54
|
+
* @property {boolean | null} module ESM syntax is available (when in module)
|
|
55
|
+
* @property {boolean | null} optionalChaining optional chaining is available
|
|
56
|
+
* @property {boolean | null} templateLiteral template literal is available
|
|
57
|
+
*/
|
|
58
|
+
///** @typedef {PlatformTargetProperties | ApiTargetProperties | EcmaTargetProperties | PlatformTargetProperties & ApiTargetProperties | PlatformTargetProperties & EcmaTargetProperties | ApiTargetProperties & EcmaTargetProperties} TargetProperties */
|
|
59
|
+
/** @template T @typedef {{ [P in keyof T]?: never }} Never<T> */
|
|
60
|
+
/** @template A @template B @typedef {(A & Never<B>) | (Never<A> & B) | (A & B)} Mix<A,B> */
|
|
61
|
+
/** @typedef {Mix<Mix<PlatformTargetProperties, ElectronContextTargetProperties>, Mix<ApiTargetProperties, EcmaTargetProperties>>} TargetProperties */
|
|
62
|
+
const versionDependent = (major, minor) => {
|
|
63
|
+
if (!major)
|
|
64
|
+
return () => /** @type {undefined} */ (undefined);
|
|
65
|
+
major = +major;
|
|
66
|
+
minor = minor ? +minor : 0;
|
|
67
|
+
return (vMajor, vMinor = 0) => {
|
|
68
|
+
return major > vMajor || (major === vMajor && minor >= vMinor);
|
|
69
|
+
};
|
|
70
|
+
};
|
|
71
|
+
/** @type {[string, string, RegExp, (...args: string[]) => TargetProperties | false][]} */
|
|
72
|
+
const TARGETS = [
|
|
73
|
+
[
|
|
74
|
+
"browserslist / browserslist:env / browserslist:query / browserslist:path-to-config / browserslist:path-to-config:env",
|
|
75
|
+
"Resolve features from browserslist. Will resolve browserslist config automatically. Only browser or node queries are supported (electron is not supported). Examples: 'browserslist:modern' to use 'modern' environment from browserslist config",
|
|
76
|
+
/^browserslist(?::(.+))?$/,
|
|
77
|
+
(rest, context) => {
|
|
78
|
+
const browserslistTargetHandler = getBrowserslistTargetHandler();
|
|
79
|
+
const browsers = browserslistTargetHandler.load(rest ? rest.trim() : null, context);
|
|
80
|
+
if (!browsers) {
|
|
81
|
+
throw new Error(`No browserslist config found to handle the 'browserslist' target.
|
|
82
|
+
See https://github.com/browserslist/browserslist#queries for possible ways to provide a config.
|
|
83
|
+
The recommended way is to add a 'browserslist' key to your package.json and list supported browsers (resp. node.js versions).
|
|
84
|
+
You can also more options via the 'target' option: 'browserslist' / 'browserslist:env' / 'browserslist:query' / 'browserslist:path-to-config' / 'browserslist:path-to-config:env'`);
|
|
85
|
+
}
|
|
86
|
+
return browserslistTargetHandler.resolve(browsers);
|
|
87
|
+
}
|
|
88
|
+
],
|
|
89
|
+
[
|
|
90
|
+
"web",
|
|
91
|
+
"Web browser.",
|
|
92
|
+
/^web$/,
|
|
93
|
+
() => {
|
|
94
|
+
return {
|
|
95
|
+
web: true,
|
|
96
|
+
browser: true,
|
|
97
|
+
webworker: null,
|
|
98
|
+
node: false,
|
|
99
|
+
electron: false,
|
|
100
|
+
nwjs: false,
|
|
101
|
+
document: true,
|
|
102
|
+
importScriptsInWorker: true,
|
|
103
|
+
fetchWasm: true,
|
|
104
|
+
nodeBuiltins: false,
|
|
105
|
+
importScripts: false,
|
|
106
|
+
require: false,
|
|
107
|
+
global: false
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
],
|
|
111
|
+
[
|
|
112
|
+
"webworker",
|
|
113
|
+
"Web Worker, SharedWorker or Service Worker.",
|
|
114
|
+
/^webworker$/,
|
|
115
|
+
() => {
|
|
116
|
+
return {
|
|
117
|
+
web: true,
|
|
118
|
+
browser: true,
|
|
119
|
+
webworker: true,
|
|
120
|
+
node: false,
|
|
121
|
+
electron: false,
|
|
122
|
+
nwjs: false,
|
|
123
|
+
importScripts: true,
|
|
124
|
+
importScriptsInWorker: true,
|
|
125
|
+
fetchWasm: true,
|
|
126
|
+
nodeBuiltins: false,
|
|
127
|
+
require: false,
|
|
128
|
+
document: false,
|
|
129
|
+
global: false
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
],
|
|
133
|
+
[
|
|
134
|
+
"[async-]node[X[.Y]]",
|
|
135
|
+
"Node.js in version X.Y. The 'async-' prefix will load chunks asynchronously via 'fs' and 'vm' instead of 'require()'. Examples: node14.5, async-node10.",
|
|
136
|
+
/^(async-)?node(\d+(?:\.(\d+))?)?$/,
|
|
137
|
+
(asyncFlag, major, minor) => {
|
|
138
|
+
const v = versionDependent(major, minor);
|
|
139
|
+
// see https://node.green/
|
|
140
|
+
return {
|
|
141
|
+
node: true,
|
|
142
|
+
electron: false,
|
|
143
|
+
nwjs: false,
|
|
144
|
+
web: false,
|
|
145
|
+
webworker: false,
|
|
146
|
+
browser: false,
|
|
147
|
+
require: !asyncFlag,
|
|
148
|
+
nodeBuiltins: true,
|
|
149
|
+
global: true,
|
|
150
|
+
document: false,
|
|
151
|
+
fetchWasm: false,
|
|
152
|
+
importScripts: false,
|
|
153
|
+
importScriptsInWorker: false,
|
|
154
|
+
globalThis: v(12),
|
|
155
|
+
const: v(6),
|
|
156
|
+
templateLiteral: v(4),
|
|
157
|
+
optionalChaining: v(14),
|
|
158
|
+
arrowFunction: v(6),
|
|
159
|
+
forOf: v(5),
|
|
160
|
+
destructuring: v(6),
|
|
161
|
+
bigIntLiteral: v(10, 4),
|
|
162
|
+
dynamicImport: v(12, 17),
|
|
163
|
+
dynamicImportInWorker: major ? false : undefined,
|
|
164
|
+
module: v(12, 17)
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
],
|
|
168
|
+
[
|
|
169
|
+
"electron[X[.Y]]-main/preload/renderer",
|
|
170
|
+
"Electron in version X.Y. Script is running in main, preload resp. renderer context.",
|
|
171
|
+
/^electron(\d+(?:\.(\d+))?)?-(main|preload|renderer)$/,
|
|
172
|
+
(major, minor, context) => {
|
|
173
|
+
const v = versionDependent(major, minor);
|
|
174
|
+
// see https://node.green/ + https://github.com/electron/releases
|
|
175
|
+
return {
|
|
176
|
+
node: true,
|
|
177
|
+
electron: true,
|
|
178
|
+
web: context !== "main",
|
|
179
|
+
webworker: false,
|
|
180
|
+
browser: false,
|
|
181
|
+
nwjs: false,
|
|
182
|
+
electronMain: context === "main",
|
|
183
|
+
electronPreload: context === "preload",
|
|
184
|
+
electronRenderer: context === "renderer",
|
|
185
|
+
global: true,
|
|
186
|
+
nodeBuiltins: true,
|
|
187
|
+
require: true,
|
|
188
|
+
document: context === "renderer",
|
|
189
|
+
fetchWasm: context === "renderer",
|
|
190
|
+
importScripts: false,
|
|
191
|
+
importScriptsInWorker: true,
|
|
192
|
+
globalThis: v(5),
|
|
193
|
+
const: v(1, 1),
|
|
194
|
+
templateLiteral: v(1, 1),
|
|
195
|
+
optionalChaining: v(8),
|
|
196
|
+
arrowFunction: v(1, 1),
|
|
197
|
+
forOf: v(0, 36),
|
|
198
|
+
destructuring: v(1, 1),
|
|
199
|
+
bigIntLiteral: v(4),
|
|
200
|
+
dynamicImport: v(11),
|
|
201
|
+
dynamicImportInWorker: major ? false : undefined,
|
|
202
|
+
module: v(11)
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
],
|
|
206
|
+
[
|
|
207
|
+
"nwjs[X[.Y]] / node-webkit[X[.Y]]",
|
|
208
|
+
"NW.js in version X.Y.",
|
|
209
|
+
/^(?:nwjs|node-webkit)(\d+(?:\.(\d+))?)?$/,
|
|
210
|
+
(major, minor) => {
|
|
211
|
+
const v = versionDependent(major, minor);
|
|
212
|
+
// see https://node.green/ + https://github.com/nwjs/nw.js/blob/nw48/CHANGELOG.md
|
|
213
|
+
return {
|
|
214
|
+
node: true,
|
|
215
|
+
web: true,
|
|
216
|
+
nwjs: true,
|
|
217
|
+
webworker: null,
|
|
218
|
+
browser: false,
|
|
219
|
+
electron: false,
|
|
220
|
+
global: true,
|
|
221
|
+
nodeBuiltins: true,
|
|
222
|
+
document: false,
|
|
223
|
+
importScriptsInWorker: false,
|
|
224
|
+
fetchWasm: false,
|
|
225
|
+
importScripts: false,
|
|
226
|
+
require: false,
|
|
227
|
+
globalThis: v(0, 43),
|
|
228
|
+
const: v(0, 15),
|
|
229
|
+
templateLiteral: v(0, 13),
|
|
230
|
+
optionalChaining: v(0, 44),
|
|
231
|
+
arrowFunction: v(0, 15),
|
|
232
|
+
forOf: v(0, 13),
|
|
233
|
+
destructuring: v(0, 15),
|
|
234
|
+
bigIntLiteral: v(0, 32),
|
|
235
|
+
dynamicImport: v(0, 43),
|
|
236
|
+
dynamicImportInWorker: major ? false : undefined,
|
|
237
|
+
module: v(0, 43)
|
|
238
|
+
};
|
|
239
|
+
}
|
|
240
|
+
],
|
|
241
|
+
[
|
|
242
|
+
"esX",
|
|
243
|
+
"EcmaScript in this version. Examples: es2020, es5.",
|
|
244
|
+
/^es(\d+)$/,
|
|
245
|
+
version => {
|
|
246
|
+
let v = +version;
|
|
247
|
+
if (v < 1000)
|
|
248
|
+
v = v + 2009;
|
|
249
|
+
return {
|
|
250
|
+
const: v >= 2015,
|
|
251
|
+
templateLiteral: v >= 2015,
|
|
252
|
+
optionalChaining: v >= 2020,
|
|
253
|
+
arrowFunction: v >= 2015,
|
|
254
|
+
forOf: v >= 2015,
|
|
255
|
+
destructuring: v >= 2015,
|
|
256
|
+
module: v >= 2015,
|
|
257
|
+
globalThis: v >= 2020,
|
|
258
|
+
bigIntLiteral: v >= 2020,
|
|
259
|
+
dynamicImport: v >= 2020,
|
|
260
|
+
dynamicImportInWorker: v >= 2020
|
|
261
|
+
};
|
|
262
|
+
}
|
|
263
|
+
]
|
|
264
|
+
];
|
|
265
|
+
/**
|
|
266
|
+
* @param {string} target the target
|
|
267
|
+
* @param {string} context the context directory
|
|
268
|
+
* @returns {TargetProperties} target properties
|
|
269
|
+
*/
|
|
270
|
+
const getTargetProperties = (target, context) => {
|
|
271
|
+
for (const [, , regExp, handler] of TARGETS) {
|
|
272
|
+
const match = regExp.exec(target);
|
|
273
|
+
if (match) {
|
|
274
|
+
const [, ...args] = match;
|
|
275
|
+
const result = handler(...args, context);
|
|
276
|
+
if (result)
|
|
277
|
+
return result;
|
|
278
|
+
}
|
|
8
279
|
}
|
|
9
|
-
|
|
10
|
-
|
|
280
|
+
throw new Error(`Unknown target '${target}'. The following targets are supported:\n${TARGETS.map(([name, description]) => `* ${name}: ${description}`).join("\n")}`);
|
|
281
|
+
};
|
|
282
|
+
const mergeTargetProperties = targetProperties => {
|
|
283
|
+
const keys = new Set();
|
|
284
|
+
for (const tp of targetProperties) {
|
|
285
|
+
for (const key of Object.keys(tp)) {
|
|
286
|
+
keys.add(key);
|
|
287
|
+
}
|
|
11
288
|
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
|
|
289
|
+
const result = {};
|
|
290
|
+
for (const key of keys) {
|
|
291
|
+
let hasTrue = false;
|
|
292
|
+
let hasFalse = false;
|
|
293
|
+
for (const tp of targetProperties) {
|
|
294
|
+
const value = tp[key];
|
|
295
|
+
switch (value) {
|
|
296
|
+
case true:
|
|
297
|
+
hasTrue = true;
|
|
298
|
+
break;
|
|
299
|
+
case false:
|
|
300
|
+
hasFalse = true;
|
|
301
|
+
break;
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
if (hasTrue || hasFalse)
|
|
305
|
+
result[key] = hasFalse && hasTrue ? null : hasTrue ? true : false;
|
|
306
|
+
}
|
|
307
|
+
return /** @type {TargetProperties} */ (result);
|
|
308
|
+
};
|
|
309
|
+
/**
|
|
310
|
+
* @param {string[]} targets the targets
|
|
311
|
+
* @param {string} context the context directory
|
|
312
|
+
* @returns {TargetProperties} target properties
|
|
313
|
+
*/
|
|
314
|
+
const getTargetsProperties = (targets, context) => {
|
|
315
|
+
return mergeTargetProperties(targets.map(t => getTargetProperties(t, context)));
|
|
19
316
|
};
|
|
20
317
|
exports.getDefaultTarget = getDefaultTarget;
|
|
318
|
+
exports.getTargetsProperties = getTargetsProperties;
|
|
319
|
+
exports.getTargetProperties = getTargetProperties;
|
|
21
320
|
//# sourceMappingURL=target.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"target.js","sourceRoot":"","sources":["../../src/config/target.
|
|
1
|
+
{"version":3,"file":"target.js","sourceRoot":"","sources":["../../src/config/target.js"],"names":[],"mappings":"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"}
|