miniprogram-ci 1.5.1 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (259) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/README.md +71 -0
  3. package/dist/@types/ci/code-analyse.d.ts +4 -0
  4. package/dist/@types/ci/getLatestVersion.d.ts +7 -0
  5. package/dist/@types/ci/project.d.ts +4 -0
  6. package/dist/@types/cloud/cloudapi.d.ts +1 -1
  7. package/dist/@types/cloud/uploadContainer.d.ts +36 -7
  8. package/dist/@types/config.d.ts +3 -3
  9. package/dist/@types/core/js/enhance.d.ts +1 -0
  10. package/dist/@types/core/js/generateMap.d.ts +3 -0
  11. package/dist/@types/core/json/app/checkAppFields.d.ts +1 -0
  12. package/dist/@types/core/json/projectWithMockBuffer.d.ts +14 -0
  13. package/dist/@types/core/json/reactiveCache.d.ts +4 -0
  14. package/dist/@types/core/protect/uglifyfilenames.d.ts +2 -4
  15. package/dist/@types/core/worker_thread/task/minifywxml.d.ts +7 -0
  16. package/dist/@types/core.d.ts +1 -1
  17. package/dist/@types/index.d.ts +6 -0
  18. package/dist/@types/summer/ci.d.ts +3 -0
  19. package/dist/@types/summer/devtool.d.ts +9 -1
  20. package/dist/@types/summer/error.d.ts +14 -5
  21. package/dist/@types/summer/graph/appgraph.d.ts +1 -0
  22. package/dist/@types/summer/graph/basegraph.d.ts +4 -0
  23. package/dist/@types/summer/graph/plugingraph.d.ts +2 -1
  24. package/dist/@types/summer/initPlugin.d.ts +1 -1
  25. package/dist/@types/summer/module.d.ts +3 -2
  26. package/dist/@types/summer/plugins/base/es6module.d.ts +4 -2
  27. package/dist/@types/summer/plugins/base/wxss.d.ts +1 -1
  28. package/dist/@types/summer/plugins/enhance.d.ts +3 -1
  29. package/dist/@types/summer/plugins/index.d.ts +1 -16
  30. package/dist/@types/summer/project.d.ts +5 -3
  31. package/dist/@types/summer/summer.d.ts +2 -1
  32. package/dist/@types/summer/types.d.ts +1 -0
  33. package/dist/@types/types/index.d.ts +5 -0
  34. package/dist/@types/types/miniprogram-json/app.d.ts +2 -1
  35. package/dist/@types/types/miniprogram-json/page.d.ts +1 -0
  36. package/dist/@types/types/miniprogram-json/projectconfig.d.ts +2 -0
  37. package/dist/@types/utils/locales/locales.d.ts +4 -0
  38. package/dist/@types/utils/locales/zh.d.ts +4 -0
  39. package/dist/@types/utils/tools.d.ts +1 -0
  40. package/dist/@types/utils/url_config.d.ts +1 -0
  41. package/dist/@types/vendor/code-analyse/index.d.ts +4 -3
  42. package/dist/ci/code-analyse.js +3 -0
  43. package/dist/ci/cos-upload.js +3 -1
  44. package/dist/ci/getCompiledResult.js +3 -1
  45. package/dist/ci/getDevSourceMap.js +3 -1
  46. package/dist/ci/getLatestVersion.js +3 -0
  47. package/dist/ci/jsserver.js +3 -1
  48. package/dist/ci/preview.js +3 -1
  49. package/dist/ci/project.js +3 -1
  50. package/dist/ci/projectattr.js +3 -1
  51. package/dist/ci/upload.js +3 -1
  52. package/dist/ci/utils/pack.js +3 -1
  53. package/dist/ci/utils/packfile.js +3 -1
  54. package/dist/ci/utils/terminalQrcode.js +3 -1
  55. package/dist/cli.js +3 -1
  56. package/dist/cloud/cloudapi.js +3 -1
  57. package/dist/cloud/createTimeTrigger.js +3 -1
  58. package/dist/cloud/uploadContainer.js +3 -1
  59. package/dist/cloud/uploadFile.js +3 -1
  60. package/dist/cloud/uploadFunction.js +3 -1
  61. package/dist/cloud/utils.js +3 -1
  62. package/dist/config.js +3 -1
  63. package/dist/core/analyse/partial.js +3 -1
  64. package/dist/core/compile/common.js +3 -1
  65. package/dist/core/compile/game.js +3 -1
  66. package/dist/core/compile/game_plugin.js +3 -1
  67. package/dist/core/compile/handler/js.js +3 -1
  68. package/dist/core/compile/handler/mpjson.js +3 -1
  69. package/dist/core/compile/handler/wxml.js +3 -1
  70. package/dist/core/compile/handler/wxss.js +3 -1
  71. package/dist/core/compile/index.js +3 -1
  72. package/dist/core/compile/mini_program.js +3 -1
  73. package/dist/core/compile/mini_program_plugin.js +3 -1
  74. package/dist/core/js/enhance.js +1 -1
  75. package/dist/core/js/generateMap.js +1 -0
  76. package/dist/core/js/index.js +1 -1
  77. package/dist/core/js/minifyjs_after_wrap.js +1 -1
  78. package/dist/core/json/app/checkAppFields.js +3 -1
  79. package/dist/core/json/app/getAppJSON.js +3 -1
  80. package/dist/core/json/app/getExtJSON.js +3 -1
  81. package/dist/core/json/app/index.js +3 -1
  82. package/dist/core/json/common.js +3 -1
  83. package/dist/core/json/game.js +3 -1
  84. package/dist/core/json/page/checkPageJSON.js +3 -1
  85. package/dist/core/json/page/getPageJSON.js +3 -1
  86. package/dist/core/json/plugin/plugin.js +3 -1
  87. package/dist/core/json/plugin/plugin_page.js +3 -1
  88. package/dist/core/json/projectWithMockBuffer.js +3 -0
  89. package/dist/core/json/projectconfig.js +3 -1
  90. package/dist/core/json/reactiveCache.js +3 -1
  91. package/dist/core/json/signaturejson.js +3 -1
  92. package/dist/core/json/sitemap.js +3 -1
  93. package/dist/core/json/theme.js +3 -1
  94. package/dist/core/npm/filterdeps.js +3 -1
  95. package/dist/core/npm/packnpm.js +3 -1
  96. package/dist/core/protect/file_flatter.js +3 -1
  97. package/dist/core/protect/uglifyfilenames.js +3 -1
  98. package/dist/core/utils/env.js +3 -1
  99. package/dist/core/utils/logger.js +3 -1
  100. package/dist/core/validate/validate.js +1 -1
  101. package/dist/core/worker_thread/childprocess.js +1 -1
  102. package/dist/core/worker_thread/childprocess_manager.js +1 -1
  103. package/dist/core/worker_thread/fork.js +1 -1
  104. package/dist/core/worker_thread/index.js +1 -1
  105. package/dist/core/worker_thread/task/call_func.js +1 -1
  106. package/dist/core/worker_thread/task/compilejs.js +1 -1
  107. package/dist/core/worker_thread/task/compilewxss.js +1 -1
  108. package/dist/core/worker_thread/task/func.js +1 -1
  109. package/dist/core/worker_thread/task/minifywxml.js +1 -1
  110. package/dist/core/worker_thread/worker.js +1 -1
  111. package/dist/core/worker_thread/worker_manager.js +1 -1
  112. package/dist/core.js +3 -1
  113. package/dist/index.js +3 -1
  114. package/dist/manifest.json +3 -3
  115. package/dist/summer/ci.js +3 -0
  116. package/dist/summer/devtool.js +3 -1
  117. package/dist/summer/entry_process.js +1 -1
  118. package/dist/summer/error.js +3 -1
  119. package/dist/summer/graph/appconf.js +3 -1
  120. package/dist/summer/graph/appgraph.js +3 -1
  121. package/dist/summer/graph/basegraph.js +3 -1
  122. package/dist/summer/graph/pluginconf.js +3 -1
  123. package/dist/summer/graph/plugingraph.js +3 -1
  124. package/dist/summer/index.js +3 -1
  125. package/dist/summer/initPlugin.js +3 -1
  126. package/dist/summer/module.js +3 -1
  127. package/dist/summer/persist_cache.js +3 -1
  128. package/dist/summer/plugin_driver.js +3 -1
  129. package/dist/summer/plugins/base/es6module.js +1 -1
  130. package/dist/summer/plugins/base/javascript.js +1 -1
  131. package/dist/summer/plugins/base/wxss.js +1 -1
  132. package/dist/summer/plugins/enhance.js +1 -1
  133. package/dist/summer/plugins/index.js +1 -1
  134. package/dist/summer/plugins/less.js +1 -1
  135. package/dist/summer/plugins/sass.js +1 -1
  136. package/dist/summer/plugins/terser.js +1 -1
  137. package/dist/summer/plugins/typescript.js +1 -1
  138. package/dist/summer/project.js +3 -1
  139. package/dist/summer/recorder.js +3 -1
  140. package/dist/summer/resolver.js +3 -1
  141. package/dist/summer/summer.js +3 -1
  142. package/dist/summer/types.js +3 -1
  143. package/dist/summer/utils/async.js +3 -1
  144. package/dist/summer/utils/ensureArray.js +3 -1
  145. package/dist/summer/worker.js +3 -1
  146. package/dist/types/index.js +3 -1
  147. package/dist/types/miniprogram-json/app.js +3 -1
  148. package/dist/types/miniprogram-json/base.js +3 -1
  149. package/dist/types/miniprogram-json/ext.js +3 -1
  150. package/dist/types/miniprogram-json/game.js +3 -1
  151. package/dist/types/miniprogram-json/index.js +3 -1
  152. package/dist/types/miniprogram-json/page.js +3 -1
  153. package/dist/types/miniprogram-json/plugin.js +3 -1
  154. package/dist/types/miniprogram-json/projectconfig.js +3 -1
  155. package/dist/types/miniprogram-json/sitemap.js +3 -1
  156. package/dist/types/miniprogram-json/theme.js +3 -1
  157. package/dist/utils/babel_helper.js +3 -1
  158. package/dist/utils/babel_transform_plugin.js +3 -1
  159. package/dist/utils/cache.js +3 -1
  160. package/dist/utils/common.js +3 -1
  161. package/dist/utils/error.js +3 -1
  162. package/dist/utils/fs.js +3 -1
  163. package/dist/utils/fsagent.js +3 -1
  164. package/dist/utils/glob.js +3 -1
  165. package/dist/utils/interruptibletask.js +3 -1
  166. package/dist/utils/jsonParse.js +3 -1
  167. package/dist/utils/jsonlint.js +3 -1
  168. package/dist/utils/locales/en.js +3 -1
  169. package/dist/utils/locales/fomatable_string.js +3 -1
  170. package/dist/utils/locales/locales.js +3 -1
  171. package/dist/utils/locales/zh.js +3 -1
  172. package/dist/utils/log.js +3 -1
  173. package/dist/utils/report.js +3 -1
  174. package/dist/utils/request.js +3 -1
  175. package/dist/utils/sign.js +3 -1
  176. package/dist/utils/taskstatus.js +3 -1
  177. package/dist/utils/tools.js +3 -1
  178. package/dist/utils/url_config.js +3 -1
  179. package/dist/utils/white_ext_list.js +3 -1
  180. package/dist/utils/wxvpkgreader/wxvpkgreader.js +1 -1
  181. package/dist/vendor/cloud-api/src/apis/apis.js +3 -1
  182. package/dist/vendor/cloud-api/src/apis/cdn/cdn.apis.js +3 -1
  183. package/dist/vendor/cloud-api/src/apis/cdn/index.js +3 -1
  184. package/dist/vendor/cloud-api/src/apis/flexdb/flexdb.apis.js +3 -1
  185. package/dist/vendor/cloud-api/src/apis/flexdb/index.js +3 -1
  186. package/dist/vendor/cloud-api/src/apis/scf/index.js +3 -1
  187. package/dist/vendor/cloud-api/src/apis/scf/scf.apis.js +3 -1
  188. package/dist/vendor/cloud-api/src/apis/ssl/index.js +3 -1
  189. package/dist/vendor/cloud-api/src/apis/ssl/ssl.apis.js +3 -1
  190. package/dist/vendor/cloud-api/src/apis/tcb/general.apis.js +3 -1
  191. package/dist/vendor/cloud-api/src/apis/tcb/index.js +3 -1
  192. package/dist/vendor/cloud-api/src/apis/tcb/tcb.apis.js +3 -1
  193. package/dist/vendor/cloud-api/src/index.js +3 -1
  194. package/dist/vendor/cloud-api/src/transaction/contracts/cdn.contracts.js +3 -1
  195. package/dist/vendor/cloud-api/src/transaction/contracts/contracts.js +3 -1
  196. package/dist/vendor/cloud-api/src/transaction/contracts/factory.js +3 -1
  197. package/dist/vendor/cloud-api/src/transaction/contracts/flexdb.contracts.js +3 -1
  198. package/dist/vendor/cloud-api/src/transaction/contracts/scf.contracts.js +3 -1
  199. package/dist/vendor/cloud-api/src/transaction/contracts/ssl.contracts.js +3 -1
  200. package/dist/vendor/cloud-api/src/transaction/contracts/tcb.contracts.js +3 -1
  201. package/dist/vendor/cloud-api/src/transaction/transactor.js +3 -1
  202. package/dist/vendor/cloud-api/src/transaction/validations/cdn.validations.js +3 -1
  203. package/dist/vendor/cloud-api/src/transaction/validations/common.validations.js +3 -1
  204. package/dist/vendor/cloud-api/src/transaction/validations/flexdb.validations.js +3 -1
  205. package/dist/vendor/cloud-api/src/transaction/validations/scf.validations.js +3 -1
  206. package/dist/vendor/cloud-api/src/transaction/validations/ssl.validations.js +3 -1
  207. package/dist/vendor/cloud-api/src/transaction/validations/tcb.validations.js +3 -1
  208. package/dist/vendor/cloud-api/src/transaction/validations/validations.js +3 -1
  209. package/dist/vendor/cloud-api/src/utils/common.js +3 -1
  210. package/dist/vendor/cloud-api/src/utils/validator.js +3 -1
  211. package/dist/vendor/code-analyse/index.js +1 -1
  212. package/dist/vendor/schema/dist/app.js +26 -1
  213. package/dist/vendor/schema/dist/ext.js +21 -1
  214. package/dist/vendor/schema/dist/game.js +29 -1
  215. package/dist/vendor/schema/dist/page.js +18 -1
  216. package/dist/vendor/schema/dist/plugin.js +1 -1
  217. package/dist/vendor/schema/dist/pluginpage.js +1 -1
  218. package/dist/vendor/schema/dist/projectconfig.js +38 -1
  219. package/dist/vendor/schema/dist/sitemap.js +1 -1
  220. package/dist/vendor/schema/dist/theme.js +1 -1
  221. package/package.json +22 -24
  222. package/dist/@types/core/js/__tests__/minifyjs.spec.d.ts +0 -1
  223. package/dist/@types/summer/backup/appconf/index-old.d.ts +0 -0
  224. package/dist/@types/summer/backup/appconf/index.d.ts +0 -33
  225. package/dist/@types/summer/backup/detectors/es6/BasicEvaluatedExpression.d.ts +0 -51
  226. package/dist/@types/summer/backup/detectors/es6/ContextDependencyHelpers.d.ts +0 -4
  227. package/dist/@types/summer/backup/detectors/es6/Evaluator.d.ts +0 -29
  228. package/dist/@types/summer/backup/detectors/es6/Parser.d.ts +0 -134
  229. package/dist/@types/summer/backup/detectors/es6/StackedSetMap.d.ts +0 -17
  230. package/dist/@types/summer/backup/detectors/es6/acorn/acorn.d.ts +0 -0
  231. package/dist/@types/summer/backup/detectors/es6/types.d.ts +0 -37
  232. package/dist/@types/summer/backup/detectors/wxml/index.d.ts +0 -4
  233. package/dist/@types/summer/backup/detectors/wxss/index.d.ts +0 -5
  234. package/dist/@types/summer/backup/detectors/wxss/parse.d.ts +0 -1
  235. package/dist/@types/summer/backup/fslayer/fslayer.d.ts +0 -73
  236. package/dist/@types/summer/backup/graph.d.ts +0 -71
  237. package/dist/@types/summer/backup/module.d.ts +0 -34
  238. package/dist/@types/summer/backup/plugin_driver.d.ts +0 -41
  239. package/dist/@types/summer/backup/structs/app.d.ts +0 -0
  240. package/dist/@types/summer/backup/watcher.d.ts +0 -0
  241. package/dist/core/js/__tests__/minifyjs.spec.js +0 -1
  242. package/dist/summer/backup/appconf/index-old.js +0 -1
  243. package/dist/summer/backup/appconf/index.js +0 -1
  244. package/dist/summer/backup/detectors/es6/BasicEvaluatedExpression.js +0 -1
  245. package/dist/summer/backup/detectors/es6/ContextDependencyHelpers.js +0 -1
  246. package/dist/summer/backup/detectors/es6/Evaluator.js +0 -1
  247. package/dist/summer/backup/detectors/es6/Parser.js +0 -1
  248. package/dist/summer/backup/detectors/es6/StackedSetMap.js +0 -1
  249. package/dist/summer/backup/detectors/es6/acorn/acorn.js +0 -1
  250. package/dist/summer/backup/detectors/es6/types.js +0 -1
  251. package/dist/summer/backup/detectors/wxml/index.js +0 -1
  252. package/dist/summer/backup/detectors/wxss/index.js +0 -1
  253. package/dist/summer/backup/detectors/wxss/parse.js +0 -1
  254. package/dist/summer/backup/fslayer/fslayer.js +0 -1
  255. package/dist/summer/backup/graph.js +0 -1
  256. package/dist/summer/backup/module.js +0 -1
  257. package/dist/summer/backup/plugin_driver.js +0 -1
  258. package/dist/summer/backup/structs/app.js +0 -1
  259. package/dist/summer/backup/watcher.js +0 -1
@@ -1,37 +0,0 @@
1
- import { SourceLocation } from "estree";
2
- export interface NormalDependency {
3
- type: "normal";
4
- request: string;
5
- range?: [number, number];
6
- loc?: SourceLocation | null;
7
- }
8
- export interface ContextDependency {
9
- type: "context";
10
- context: string;
11
- regExp?: RegExp;
12
- range?: [number, number];
13
- loc?: SourceLocation | null;
14
- }
15
- export interface ResolvedDependency {
16
- type: "resolved";
17
- file: string;
18
- range?: [number, number];
19
- loc?: SourceLocation | null;
20
- }
21
- export declare type Dependency = ContextDependency | NormalDependency;
22
- export interface ModuleWarning {
23
- msg: string;
24
- range?: [number, number];
25
- loc?: SourceLocation | null;
26
- }
27
- export interface ModuleError {
28
- msg: string;
29
- range?: [number, number];
30
- loc?: SourceLocation | null;
31
- }
32
- export interface ParserState {
33
- deps: Dependency[];
34
- warnings: ModuleWarning[];
35
- errors: ModuleError[];
36
- assignRequire: boolean;
37
- }
@@ -1,4 +0,0 @@
1
- export declare function detectWxmlDeps(code: string): {
2
- type: 'wxs' | 'wxml';
3
- route: string;
4
- }[];
@@ -1,5 +0,0 @@
1
- interface Options {
2
- path: string;
3
- }
4
- export declare function detectWxssDeps(code: string, options: Options): string[];
5
- export {};
@@ -1 +0,0 @@
1
- export default function (css: any, options: any): any;
@@ -1,73 +0,0 @@
1
- /// <reference types="node" />
2
- import fs from 'fs';
3
- export declare function normalizePath(pathName?: string): string;
4
- export interface IFSLayer {
5
- stat(path: string): Promise<{
6
- isFile(): boolean;
7
- isDirectory(): boolean;
8
- mode: number;
9
- size: number;
10
- atimeMs: number;
11
- mtimeMs: number;
12
- ctimeMs: number;
13
- birthtimeMs: number;
14
- }>;
15
- readFile(path: string): Promise<Buffer>;
16
- exists(path: string): Promise<boolean>;
17
- writeFile(path: string, data: any, options: string | null): Promise<void>;
18
- readdir(path: string): Promise<string[]>;
19
- }
20
- declare type IFS = typeof fs;
21
- export declare abstract class AbstractFSLayer implements IFSLayer {
22
- private fs;
23
- constructor(fs: IFS);
24
- stat(target: string): Promise<fs.Stats>;
25
- exists(target: string): Promise<boolean>;
26
- readFile(target: string): Promise<Buffer>;
27
- writeFile(target: string, data: any, options?: string | null): Promise<void>;
28
- readdir(target: string): Promise<string[]>;
29
- }
30
- export declare class LocalFSLayer extends AbstractFSLayer implements IFSLayer {
31
- constructor();
32
- }
33
- export declare class MemoryFSLayer extends AbstractFSLayer implements IFSLayer {
34
- constructor();
35
- }
36
- export declare class FilterFSLayer implements IFSLayer {
37
- private fslayer;
38
- private filter;
39
- constructor(fslayer: IFSLayer, filter: (path: string) => boolean);
40
- stat(path: string): Promise<{
41
- isFile(): boolean;
42
- isDirectory(): boolean;
43
- mode: number;
44
- size: number;
45
- atimeMs: number;
46
- mtimeMs: number;
47
- ctimeMs: number;
48
- birthtimeMs: number;
49
- }>;
50
- readFile(path: string): Promise<Buffer>;
51
- exists(path: string): Promise<boolean>;
52
- writeFile(path: string, data: any, options: string | null): Promise<void>;
53
- readdir(path: string): Promise<string[]>;
54
- }
55
- export declare class MergeFSLayer implements IFSLayer {
56
- private fslayers;
57
- constructor(fslayers: IFSLayer[]);
58
- stat(path: string): Promise<{
59
- isFile(): boolean;
60
- isDirectory(): boolean;
61
- mode: number;
62
- size: number;
63
- atimeMs: number;
64
- mtimeMs: number;
65
- ctimeMs: number;
66
- birthtimeMs: number;
67
- }>;
68
- readFile(path: string): Promise<Buffer>;
69
- exists(path: string): Promise<boolean>;
70
- writeFile(path: string, data: any, options: string | null): Promise<void>;
71
- readdir(path: string): Promise<string[]>;
72
- }
73
- export {};
@@ -1,71 +0,0 @@
1
- import { PluginDriver } from './plugin';
2
- import { ModuleJSON, SummerPlugin } from './types';
3
- import Module from './module';
4
- import { SummerCompiler } from './summer';
5
- import { AppConf } from './appconf';
6
- import { CodeFiles, ICompileResult, IPackageCodeOptions } from './devtool';
7
- import { Resolver } from './resolver';
8
- import { Project } from './project';
9
- declare type GraphType = 'miniprogram' | 'plugin' | 'other';
10
- export interface IGraphOptions {
11
- type: GraphType;
12
- root: string;
13
- plugins: SummerPlugin[];
14
- compiler: SummerCompiler;
15
- }
16
- export declare class Graph {
17
- pluginDriver: PluginDriver;
18
- modulesByPath: Map<string, Module>;
19
- root: string;
20
- type: GraphType;
21
- compiler: SummerCompiler;
22
- project: Project;
23
- cachedModules: Map<string, ModuleJSON>;
24
- resolver: Resolver;
25
- appConf: AppConf;
26
- private invalidated;
27
- private running;
28
- constructor(options: IGraphOptions);
29
- getPluginConf(): Promise<{
30
- app: any;
31
- packages: {
32
- [k: string]: any;
33
- };
34
- pages: {
35
- [k: string]: any;
36
- };
37
- comps: {
38
- [k: string]: any;
39
- };
40
- sitemap: any;
41
- theme: any;
42
- }>;
43
- getAppConf(): Promise<{
44
- app: any;
45
- packages: {
46
- [k: string]: any;
47
- };
48
- pages: {
49
- [k: string]: any;
50
- };
51
- comps: {
52
- [k: string]: any;
53
- };
54
- sitemap: any;
55
- theme: any;
56
- }>;
57
- getAppCode(options: IPackageCodeOptions): Promise<CodeFiles>;
58
- private loadModuleFromFile;
59
- private loadSourceForModule;
60
- private getPackgeFile;
61
- private checkFilePackage;
62
- private onFileChange;
63
- private invalidateModules;
64
- private readFile;
65
- private tranform;
66
- compile(): Promise<ICompileResult>;
67
- private compileOther;
68
- private compileCodeWithoutJSON;
69
- private compileJSON;
70
- }
71
- export {};
@@ -1,34 +0,0 @@
1
- import { FileType, ModuleJSON, SourceDescription, SourceMap } from './types';
2
- import { CodeFile } from './devtool';
3
- declare class JsTag {
4
- isLargeFile: boolean;
5
- isBabelIgnore: boolean;
6
- helpers: string[];
7
- constructor();
8
- addHelpers(helpers: string[]): void;
9
- toJSON(): {
10
- isLargeFile: boolean;
11
- isBabelIgnore: boolean;
12
- helpers: string[];
13
- };
14
- }
15
- export default class Module {
16
- private readonly graph;
17
- readonly path: string;
18
- readonly sourcePath: string;
19
- fileType: FileType;
20
- code: string;
21
- md5: string;
22
- map?: SourceMap;
23
- json: any;
24
- error: any;
25
- jsTag?: JsTag;
26
- depFileIds: string[];
27
- constructor(graph: any, path: string, sourcePath: string, fileType: FileType);
28
- setError(error: any): void;
29
- setSource(source: SourceDescription): void;
30
- toCodeFile(): CodeFile;
31
- toJSON(): ModuleJSON;
32
- addWatchFile(fileId: string): void;
33
- }
34
- export {};
@@ -1,41 +0,0 @@
1
- import { AsyncPluginHooks, FileType, FirstPluginHooks, ParallelPluginHooks, PluginContext, PluginHooks, SequentialPluginHooks, SummerPlugin } from './types';
2
- import { BaseGraph } from './graph/basegraph';
3
- interface IResolveExt {
4
- json?: string;
5
- wxml?: string;
6
- wxss?: string;
7
- js?: string;
8
- wxs?: string;
9
- }
10
- declare type ResolveValue<T> = T extends Promise<infer K> ? K : T;
11
- declare type EnsurePromise<T> = Promise<ResolveValue<T>>;
12
- declare type Arg0<H extends Exclude<keyof PluginHooks, 'resolveExt'>> = Parameters<PluginHooks[H]>[0];
13
- export declare type ReplaceContext = (context: PluginContext, plugin: SummerPlugin) => PluginContext;
14
- export interface ICompilerPlugin extends PluginHooks {
15
- resolveExt?: IResolveExt;
16
- }
17
- export declare function getPluginContext(plugin: SummerPlugin, graph: BaseGraph): PluginContext;
18
- export declare class PluginDriver {
19
- private graph;
20
- private options;
21
- resolveExtConf: {
22
- json: string[];
23
- wxml: string[];
24
- wxss: string[];
25
- js: string[];
26
- wxs: string[];
27
- };
28
- plugins: SummerPlugin[];
29
- private pluginContexts;
30
- constructor(graph: BaseGraph, options: any);
31
- private runHook;
32
- resolveId(id: string, fileType: FileType, importer: string): {
33
- resolveId: string;
34
- fileId: string;
35
- };
36
- private findPossibleFile;
37
- hookFirst<H extends AsyncPluginHooks & FirstPluginHooks>(hookName: H, args: Parameters<PluginHooks[H]>, replaceContext?: ReplaceContext | null): EnsurePromise<ReturnType<PluginHooks[H]>>;
38
- hookParallel<H extends AsyncPluginHooks & ParallelPluginHooks>(hookName: H, args: Parameters<PluginHooks[H]>, replaceContext?: ReplaceContext): Promise<void>;
39
- hookReduceArg0<H extends AsyncPluginHooks & SequentialPluginHooks>(hookName: H, [arg0, ...rest]: Parameters<PluginHooks[H]>, reduce: (reduction: Arg0<H>, result: ResolveValue<ReturnType<PluginHooks[H]>>, plugin: SummerPlugin) => Arg0<H>, replaceContext?: ReplaceContext | null): Promise<Arg0<H>>;
40
- }
41
- export {};
File without changes
File without changes
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const tslib_1=require("tslib"),minifyjs_1=tslib_1.__importDefault(require("../minifyjs"));describe("minifyjs",()=>{it("Terser unicode",()=>{const e=minifyjs_1.default({code:"const a = (m) => { return '[' + m + '[' };\nconsole.log(a('abc'));",filePath:"test.js",useTerser:!0});if("code"in e){expect(e.code).toBe('console.log("["+"abc"+"[");');const s=JSON.parse(e.map);expect(s.file).toBe("test.js")}})});
@@ -1 +0,0 @@
1
- "use strict";
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.AppConf=exports.resolvePath=void 0;const tslib_1=require("tslib"),path_1=tslib_1.__importDefault(require("path")),core_1=require("../../core");function resolvePath(t,e){const o=path_1.default.posix.dirname(t);let s=null;return s=e.startsWith("/")?e.replace(/^\//,""):path_1.default.posix.join(o,e),s}function schemaValidate(t,e){return!0}function createProxyProject(t,e){function o(o,s){return t.stat(o,s)||e.stat(s)}return new Proxy(t,{get:(t,e,s)=>"stat"===e?o:Reflect.get(t,e,s)})}exports.resolvePath=resolvePath;class AppConf{constructor(t,e){this.compiler=t,this.graph=e,this.rawJSON=new Map,this.packages=new Map,this.pages=new Map,this.comps=new Map,this.onFileChange=(t,e)=>{this.rawJSON.has(e)&&this.rawJSON.delete(e)},this.proxyProject=createProxyProject(t.project,e.resolver)}async build(){this.resetState(),await this.loadApp()}async resetState(){this.app=void 0,this.packages.clear(),this.pages.clear(),this.comps.clear(),this.sitemap=void 0}async loadApp(){var t;const e=await core_1.getAppJSON(this.proxyProject);this.app=e,e.themeLocation&&this.loadTheme(e.themeLocation),this.loadSitemap(e.sitemapLocation||"sitemap.json");const o=new Set;for(const t of e.pages)o.add(t);const s=e.subPackages||[];for(const t of s){const e=t.root;this.packages.set(e,t);for(const s of t.pages)o.add(resolvePath(e,s))}for(const[t]of o.entries())await this.loadPage(t);for(const t of Object.values(e.usingComponents||{}))await this.loadComp(t);(null===(t=e.tabBar)||void 0===t?void 0:t.custom)&&await this.loadComp("custom-tab-bar/index")}async loadPage(t){const e=await core_1.getPageJSON(this.proxyProject,{miniprogramRoot:this.graph.root,pagePath:t});this.pages.set(t,e);for(const o of Object.values(e.usingComponents||{})){const e=resolvePath(t,o);await this.loadComp(e)}}async loadComp(t){if((t.startsWith("miniprogram_npm/weui-miniprogram")||t.startsWith("weui-miniprogram"))&&this.app.useExtendedLib&&this.app.useExtendedLib.weui)return;if(console.log(t),this.comps.has(t))return;const e=await core_1.getPageJSON(this.proxyProject,{miniprogramRoot:this.graph.root,pagePath:t});this.comps.set(t,e);for(const o of Object.values(e.usingComponents||{})){const e=resolvePath(t,o);await this.loadComp(e)}}async loadSitemap(t){const e=await core_1.getSiteMapJSON(this.proxyProject);this.sitemap=e}async loadTheme(t){const e=await core_1.checkThemeJSON(this.proxyProject,{themeLocation:t});this.theme=e}}exports.AppConf=AppConf;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const TypeUnknown=0,TypeNull=1,TypeString=2,TypeNumber=3,TypeBoolean=4,TypeRegExp=5,TypeConditional=6,TypeArray=7,TypeConstArray=8,TypeIdentifier=9,TypeWrapped=10,TypeTemplateString=11;class BasicEvaluatedExpression{constructor(){this.type=0,this.range=null,this.falsy=!1,this.truthy=!1,this.bool=null,this.number=null,this.regExp=null,this.string=null,this.quasis=null,this.parts=null,this.array=null,this.items=null,this.options=null,this.prefix=null,this.postfix=null,this.wrappedInnerExpressions=null,this.expression=null}isNull(){return 1===this.type}isString(){return 2===this.type}isNumber(){return 3===this.type}isBoolean(){return 4===this.type}isRegExp(){return 5===this.type}isConditional(){return 6===this.type}isArray(){return 7===this.type}isConstArray(){return 8===this.type}isIdentifier(){return 9===this.type}isWrapped(){return 10===this.type}isTemplateString(){return 11===this.type}isTruthy(){return this.truthy}isFalsy(){return this.falsy}asBool(){if(this.truthy)return!0;if(this.falsy)return!1;if(this.isBoolean())return this.bool;if(this.isNull())return!1;if(this.isString())return""!==this.string;if(this.isNumber())return 0!==this.number;if(this.isRegExp())return!0;if(this.isArray())return!0;if(this.isConstArray())return!0;if(this.isWrapped())return!!(this.prefix&&this.prefix.asBool()||this.postfix&&this.postfix.asBool())||void 0;if(this.isTemplateString()){const t=this.asString();if("string"==typeof t)return""!==t}}asString(){if(this.isBoolean())return""+this.bool;if(this.isNull())return"null";if(this.isString())return this.string;if(this.isNumber())return""+this.number;if(this.isRegExp())return""+this.regExp;if(this.isArray()){let t=[];for(const s of this.items){const i=s.asString();if(void 0===i)return;t.push(i)}return""+t}if(this.isConstArray())return""+this.array;if(this.isTemplateString()){let t="";for(const s of this.parts){const i=s.asString();if(void 0===i)return;t+=i}return t}}setString(t){return this.type=2,this.string=t,this}setNull(){return this.type=1,this}setNumber(t){return this.type=3,this.number=t,this}setBoolean(t){return this.type=4,this.bool=t,this}setRegExp(t){return this.type=5,this.regExp=t,this}setIdentifier(t){return this.type=9,this.identifier=t,this}setWrapped(t,s,i){return this.type=10,this.prefix=t,this.postfix=s,this.wrappedInnerExpressions=i,this}setOptions(t){return this.type=6,this.options=t,this}addOptions(t){this.options||(this.type=6,this.options=[]);for(const s of t)this.options.push(s);return this}setItems(t){return this.type=7,this.items=t,this}setArray(t){return this.type=8,this.array=t,this}setTemplateString(t,s,i){return this.type=11,this.quasis=t,this.parts=s,this.templateStringKind=i,this}setTruthy(){return this.falsy=!1,this.truthy=!0,this}setFalsy(){return this.falsy=!0,this.truthy=!1,this}setRange(t){return this.range=t,this}setExpression(t){return this.expression=t,this}}exports.default=BasicEvaluatedExpression;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.collectContextDependency=void 0;const quotemeta=e=>e.replace(/[-[\]\\/{}()*+?.^$|]/g,"\\$&"),splitContextFromPrefix=e=>{const t=e.lastIndexOf("/");let s=".";return t>=0&&(s=e.substr(0,t),e="."+e.substr(t)),{context:s,prefix:e}},splitQueryFromPostfix=e=>{const t=e.indexOf("?");let s="";return t>=0&&(s=e.substr(t),e=e.substr(0,t)),{postfix:e,query:s}};function collectContextDependency(e,t,s){if(e.isTemplateString()){let r=e.quasis[0].string,i=e.quasis.length>1?e.quasis[e.quasis.length-1].string:"";e.range;const{context:n,prefix:o}=splitContextFromPrefix(r),{postfix:p,query:x}=splitQueryFromPostfix(i),a=".*"+e.quasis.slice(1,e.quasis.length-1).map(e=>quotemeta(e.string)+".*").join("");let l={type:"context",context:n,regExp:new RegExp(`^${quotemeta(o)}${a}${quotemeta(p)}$`),range:t.range,loc:t.loc};s.state.deps.push(l),e.parts.forEach((e,t)=>{t%2==0||s.walkExpression(e.expression)})}else if(e.isWrapped()&&(e.prefix&&e.prefix.isString()||e.postfix&&e.postfix.isString())){let r=e.prefix&&e.prefix.isString()?e.prefix.string:"",i=e.postfix&&e.postfix.isString()?e.postfix.string:"";e.prefix&&e.prefix.isString()&&e.prefix.range,e.postfix&&e.postfix.isString()&&e.postfix.range,e.range;const{context:n,prefix:o}=splitContextFromPrefix(r),{postfix:p,query:x}=splitQueryFromPostfix(i);let a={type:"context",context:n,regExp:new RegExp(`^${quotemeta(o)}.*${quotemeta(p)}$`),range:t.range,loc:t.loc};if(s.state.deps.push(a),e.wrappedInnerExpressions)for(const t of e.wrappedInnerExpressions)t.expression&&s.walkExpression(t.expression)}else s.state.warnings.push({msg:"the request of a dependency is an expression",range:t.range,loc:t.loc}),s.walkExpression(e.expression)}exports.collectContextDependency=collectContextDependency;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Evaluator=void 0;const tslib_1=require("tslib"),BasicEvaluatedExpression_1=tslib_1.__importDefault(require("./BasicEvaluatedExpression")),joinRanges=(e,s)=>s?e?[e[0],s[1]]:s:e;class Evaluator{constructor(e){this.parser=e,this.hooks={evaluateTypeof:{},evaluate:{}},this.initializeEvaluating()}initializeEvaluating(){this.hooks.evaluate.Literal=e=>{switch(typeof e.value){case"number":return(new BasicEvaluatedExpression_1.default).setNumber(e.value).setRange(e.range);case"string":return(new BasicEvaluatedExpression_1.default).setString(e.value).setRange(e.range);case"boolean":return(new BasicEvaluatedExpression_1.default).setBoolean(e.value).setRange(e.range)}return null===e.value?(new BasicEvaluatedExpression_1.default).setNull().setRange(e.range):e.value instanceof RegExp?(new BasicEvaluatedExpression_1.default).setRegExp(e.value).setRange(e.range):void 0},this.hooks.evaluate.LogicalExpression=e=>{let s,r,t;if("&&"===e.operator){if(s=this.evaluateExpression(e.left),r=s&&s.asBool(),!1===r)return s.setRange(e.range);if(!0!==r)return;return t=this.evaluateExpression(e.right),t.setRange(e.range)}if("||"===e.operator){if(s=this.evaluateExpression(e.left),r=s&&s.asBool(),!0===r)return s.setRange(e.range);if(!1!==r)return;return t=this.evaluateExpression(e.right),t.setRange(e.range)}},this.hooks.evaluate.BinaryExpression=e=>{let s,r,t;if("+"===e.operator){if(s=this.evaluateExpression(e.left),r=this.evaluateExpression(e.right),!s||!r)return;if(t=new BasicEvaluatedExpression_1.default,s.isString())r.isString()?t.setString(s.string+r.string):r.isNumber()?t.setString(s.string+r.number):r.isWrapped()&&r.prefix&&r.prefix.isString()?t.setWrapped((new BasicEvaluatedExpression_1.default).setString(s.string+r.prefix.string).setRange(joinRanges(s.range,r.prefix.range)),r.postfix,r.wrappedInnerExpressions):r.isWrapped()?t.setWrapped(s,r.postfix,r.wrappedInnerExpressions):t.setWrapped(s,null,[r]);else if(s.isNumber())if(r.isString())t.setString(s.number+r.string);else{if(!r.isNumber())return;t.setNumber(s.number+r.number)}else if(s.isWrapped())s.postfix&&s.postfix.isString()&&r.isString()?t.setWrapped(s.prefix,(new BasicEvaluatedExpression_1.default).setString(s.postfix.string+r.string).setRange(joinRanges(s.postfix.range,r.range)),s.wrappedInnerExpressions):s.postfix&&s.postfix.isString()&&r.isNumber()?t.setWrapped(s.prefix,(new BasicEvaluatedExpression_1.default).setString(s.postfix.string+r.number).setRange(joinRanges(s.postfix.range,r.range)),s.wrappedInnerExpressions):r.isString()?t.setWrapped(s.prefix,r,s.wrappedInnerExpressions):r.isNumber()?t.setWrapped(s.prefix,(new BasicEvaluatedExpression_1.default).setString(r.number+"").setRange(r.range),s.wrappedInnerExpressions):r.isWrapped()?t.setWrapped(s.prefix,r.postfix,s.wrappedInnerExpressions&&r.wrappedInnerExpressions&&s.wrappedInnerExpressions.concat(s.postfix?[s.postfix]:[]).concat(r.prefix?[r.prefix]:[]).concat(r.wrappedInnerExpressions)):t.setWrapped(s.prefix,null,s.wrappedInnerExpressions&&s.wrappedInnerExpressions.concat(s.postfix?[s.postfix,r]:[r]));else if(r.isString())t.setWrapped(null,r,[s]);else{if(!r.isWrapped())return;t.setWrapped(null,r.postfix,r.wrappedInnerExpressions&&(r.prefix?[s,r.prefix]:[s]).concat(r.wrappedInnerExpressions))}return t.setRange(e.range),t}if("-"===e.operator){if(s=this.evaluateExpression(e.left),r=this.evaluateExpression(e.right),!s||!r)return;if(!s.isNumber()||!r.isNumber())return;return t=new BasicEvaluatedExpression_1.default,t.setNumber(s.number-r.number),t.setRange(e.range),t}if("*"===e.operator){if(s=this.evaluateExpression(e.left),r=this.evaluateExpression(e.right),!s||!r)return;if(!s.isNumber()||!r.isNumber())return;return t=new BasicEvaluatedExpression_1.default,t.setNumber(s.number*r.number),t.setRange(e.range),t}if("/"===e.operator){if(s=this.evaluateExpression(e.left),r=this.evaluateExpression(e.right),!s||!r)return;if(!s.isNumber()||!r.isNumber())return;return t=new BasicEvaluatedExpression_1.default,t.setNumber(s.number/r.number),t.setRange(e.range),t}if("**"===e.operator){if(s=this.evaluateExpression(e.left),r=this.evaluateExpression(e.right),!s||!r)return;if(!s.isNumber()||!r.isNumber())return;return t=new BasicEvaluatedExpression_1.default,t.setNumber(Math.pow(s.number,r.number)),t.setRange(e.range),t}if("=="===e.operator||"==="===e.operator){if(s=this.evaluateExpression(e.left),r=this.evaluateExpression(e.right),!s||!r)return;if(t=new BasicEvaluatedExpression_1.default,t.setRange(e.range),s.isString()&&r.isString())return t.setBoolean(s.string===r.string);if(s.isNumber()&&r.isNumber())return t.setBoolean(s.number===r.number);if(s.isBoolean()&&r.isBoolean())return t.setBoolean(s.bool===r.bool)}else if("!="===e.operator||"!=="===e.operator){if(s=this.evaluateExpression(e.left),r=this.evaluateExpression(e.right),!s||!r)return;if(t=new BasicEvaluatedExpression_1.default,t.setRange(e.range),s.isString()&&r.isString())return t.setBoolean(s.string!==r.string);if(s.isNumber()&&r.isNumber())return t.setBoolean(s.number!==r.number);if(s.isBoolean()&&r.isBoolean())return t.setBoolean(s.bool!==r.bool)}else{if("&"===e.operator){if(s=this.evaluateExpression(e.left),r=this.evaluateExpression(e.right),!s||!r)return;if(!s.isNumber()||!r.isNumber())return;return t=new BasicEvaluatedExpression_1.default,t.setNumber(s.number&r.number),t.setRange(e.range),t}if("|"===e.operator){if(s=this.evaluateExpression(e.left),r=this.evaluateExpression(e.right),!s||!r)return;if(!s.isNumber()||!r.isNumber())return;return t=new BasicEvaluatedExpression_1.default,t.setNumber(s.number|r.number),t.setRange(e.range),t}if("^"===e.operator){if(s=this.evaluateExpression(e.left),r=this.evaluateExpression(e.right),!s||!r)return;if(!s.isNumber()||!r.isNumber())return;return t=new BasicEvaluatedExpression_1.default,t.setNumber(s.number^r.number),t.setRange(e.range),t}if(">>>"===e.operator){if(s=this.evaluateExpression(e.left),r=this.evaluateExpression(e.right),!s||!r)return;if(!s.isNumber()||!r.isNumber())return;return t=new BasicEvaluatedExpression_1.default,t.setNumber(s.number>>>r.number),t.setRange(e.range),t}if(">>"===e.operator){if(s=this.evaluateExpression(e.left),r=this.evaluateExpression(e.right),!s||!r)return;if(!s.isNumber()||!r.isNumber())return;return t=new BasicEvaluatedExpression_1.default,t.setNumber(s.number>>r.number),t.setRange(e.range),t}if("<<"===e.operator){if(s=this.evaluateExpression(e.left),r=this.evaluateExpression(e.right),!s||!r)return;if(!s.isNumber()||!r.isNumber())return;return t=new BasicEvaluatedExpression_1.default,t.setNumber(s.number<<r.number),t.setRange(e.range),t}}},this.hooks.evaluate.UnaryExpression=e=>{if("typeof"===e.operator){let s,r;if("Identifier"===e.argument.type&&(r=this.parser.scope.renames.get(e.argument.name)||e.argument.name,!this.parser.scope.definitions.has(r))){const t=this.hooks.evaluateTypeof[r];if(void 0!==t&&(s=t.call(null,e),void 0!==s))return s}if("MemberExpression"===e.argument.type){const r=this.parser.getNameForExpression(e.argument);if(r&&r.free){const t=this.hooks.evaluateTypeof[r.name];if(void 0!==t&&(s=t.call(e),void 0!==s))return s}}if("FunctionExpression"===e.argument.type)return(new BasicEvaluatedExpression_1.default).setString("function").setRange(e.range);const t=this.evaluateExpression(e.argument);if(t.isString()||t.isWrapped())return(new BasicEvaluatedExpression_1.default).setString("string").setRange(e.range);if(t.isNumber())return(new BasicEvaluatedExpression_1.default).setString("number").setRange(e.range);if(t.isBoolean())return(new BasicEvaluatedExpression_1.default).setString("boolean").setRange(e.range);if(t.isArray()||t.isConstArray()||t.isRegExp())return(new BasicEvaluatedExpression_1.default).setString("object").setRange(e.range)}else if("!"===e.operator){const s=this.evaluateExpression(e.argument);if(!s)return;if(s.isBoolean())return(new BasicEvaluatedExpression_1.default).setBoolean(!s.bool).setRange(e.range);if(s.isTruthy())return(new BasicEvaluatedExpression_1.default).setBoolean(!1).setRange(e.range);if(s.isFalsy())return(new BasicEvaluatedExpression_1.default).setBoolean(!0).setRange(e.range);if(s.isString())return(new BasicEvaluatedExpression_1.default).setBoolean(!s.string).setRange(e.range);if(s.isNumber())return(new BasicEvaluatedExpression_1.default).setBoolean(!s.number).setRange(e.range)}else if("~"===e.operator){const s=this.evaluateExpression(e.argument);if(!s)return;if(!s.isNumber())return;const r=new BasicEvaluatedExpression_1.default;return r.setNumber(~s.number),r.setRange(e.range),r}},this.hooks.evaluateTypeof.undefined=e=>(new BasicEvaluatedExpression_1.default).setString("undefined").setRange(e.range),this.hooks.evaluateTypeof.require=e=>(new BasicEvaluatedExpression_1.default).setString("function").setRange(e.range),this.hooks.evaluate.Identifier=e=>{const s=this.parser.scope.renames.get(e.name)||e.name;if(!this.parser.scope.definitions.has(e.name))return(new BasicEvaluatedExpression_1.default).setIdentifier(s).setRange(e.range)},this.hooks.evaluate.ThisExpression=e=>{const s=this.parser.scope.renames.get("this");if(s)return(new BasicEvaluatedExpression_1.default).setIdentifier(s).setRange(e.range)},this.hooks.evaluate.MemberExpression=e=>{let s=this.parser.getNameForExpression(e);if(s&&s.free)return(new BasicEvaluatedExpression_1.default).setIdentifier(s.name).setRange(e.range)};const e=(e,s)=>{const r=[],t=[];for(let n=0;n<s.quasis.length;n++){const a=s.quasis[n],i=a.value[e];if(n>0){const e=t[t.length-1],r=this.evaluateExpression(s.expressions[n-1]),o=r.asString();if("string"==typeof o){e.setString(e.string+o+i),e.setRange([e.range[0],a.range[1]]),e.setExpression(void 0);continue}t.push(r)}const o=(new BasicEvaluatedExpression_1.default).setString(i).setRange(a.range).setExpression(a);r.push(o),t.push(o)}return{quasis:r,parts:t}};this.hooks.evaluate.TemplateLiteral=s=>{const{quasis:r,parts:t}=e("cooked",s);return 1===t.length?t[0].setRange(s.range):(new BasicEvaluatedExpression_1.default).setTemplateString(r,t,"cooked").setRange(s.range)},this.hooks.evaluate.TaggedTemplateExpression=s=>{if("String.raw"!==this.evaluateExpression(s.tag).identifier)return;const{quasis:r,parts:t}=e("raw",s.quasi);return 1===t.length?t[0].setRange(s.range):(new BasicEvaluatedExpression_1.default).setTemplateString(r,t,"raw").setRange(s.range)},this.hooks.evaluate.ConditionalExpression=e=>{const s=this.evaluateExpression(e.test).asBool();let r;if(void 0===s){const s=this.evaluateExpression(e.consequent),t=this.evaluateExpression(e.alternate);if(!s||!t)return;r=new BasicEvaluatedExpression_1.default,s.isConditional()?r.setOptions(s.options):r.setOptions([s]),t.isConditional()?r.addOptions(t.options):r.addOptions([t])}else r=this.evaluateExpression(s?e.consequent:e.alternate);return r.setRange(e.range),r}}evaluateExpression(e){try{let s=e.type;if(s in this.hooks.evaluate){const r=this.hooks.evaluate[s](e);if(void 0!==r)return r&&r.setExpression(e),r}}catch(e){console.warn(e)}return(new BasicEvaluatedExpression_1.default).setRange(e.range).setExpression(e)}}exports.Evaluator=Evaluator;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const tslib_1=require("tslib"),acorn=tslib_1.__importStar(require("./acorn/acorn")),StackedSetMap_1=tslib_1.__importDefault(require("./StackedSetMap")),ContextDependencyHelpers_1=require("./ContextDependencyHelpers"),Evaluator_1=require("./Evaluator"),acornParser=acorn.Parser,joinRanges=(e,t)=>t?e?[e[0],t[1]]:t:e;class ES6Parser{constructor(e){this.scope={topLevelScope:!0,inTry:!1,inShorthand:!1,isStrict:!1,isAsmJs:!1,definitions:new StackedSetMap_1.default,renames:new StackedSetMap_1.default},this.state={deps:[],warnings:[],errors:[],assignRequire:!1},this.evaluator=new Evaluator_1.Evaluator(this),this.parserContext=e}parse(e){const t=this.scope,a=this.state,s=this.state={deps:[],warnings:[],errors:[],assignRequire:!1};let i;if("object"==typeof e&&null!==e)i=e;else try{i=ES6Parser.parse(e)}catch(e){return s.errors.push({msg:e.message}),s}return this.scope={topLevelScope:!0,inTry:!1,inShorthand:!1,isStrict:!1,isAsmJs:!1,definitions:new StackedSetMap_1.default,renames:new StackedSetMap_1.default},this.detectMode(i.body),this.prewalkStatements(i.body),this.blockPrewalkStatements(i.body),this.walkStatements(i.body),this.scope=t,this.state=a,s}static parse(e){let t;return t=acornParser.parse(e,{ecmaVersion:"latest",ranges:!0,locations:!0,allowHashBang:!0,sourceType:"module"}),t}detectMode(e){const t=e.length>=1&&"ExpressionStatement"===e[0].type&&"Literal"===e[0].expression.type;t&&"use strict"===e[0].expression.value&&(this.scope.isStrict=!0),t&&"use asm"===e[0].expression.value&&(this.scope.isAsmJs=!0)}getRenameIdentifier(e){const t=this.evaluateExpression(e);if(t&&t.isIdentifier())return t.identifier}walkClass(e){if(e.superClass&&this.walkExpression(e.superClass),e.body&&"ClassBody"===e.body.type){const t=this.scope.topLevelScope;this.scope.topLevelScope=!1;for(const t of e.body.body)"MethodDefinition"===t.type&&this.walkMethodDefinition(t);this.scope.topLevelScope=t}}walkMethodDefinition(e){e.computed&&e.key&&this.walkExpression(e.key),e.value&&this.walkExpression(e.value)}prewalkStatements(e){for(let t=0,a=e.length;t<a;t++){const a=e[t];this.prewalkStatement(a)}}blockPrewalkStatements(e){for(let t=0,a=e.length;t<a;t++){const a=e[t];this.blockPrewalkStatement(a)}}walkStatements(e){for(let t=0,a=e.length;t<a;t++){const a=e[t];this.walkStatement(a)}}prewalkStatement(e){switch(e.type){case"BlockStatement":this.prewalkBlockStatement(e);break;case"DoWhileStatement":this.prewalkDoWhileStatement(e);break;case"ExportAllDeclaration":this.prewalkExportAllDeclaration(e);break;case"ExportDefaultDeclaration":this.prewalkExportDefaultDeclaration(e);break;case"ExportNamedDeclaration":this.prewalkExportNamedDeclaration(e);break;case"ForInStatement":this.prewalkForInStatement(e);break;case"ForOfStatement":this.prewalkForOfStatement(e);break;case"ForStatement":this.prewalkForStatement(e);break;case"FunctionDeclaration":this.prewalkFunctionDeclaration(e);break;case"IfStatement":this.prewalkIfStatement(e);break;case"ImportDeclaration":this.prewalkImportDeclaration(e);break;case"LabeledStatement":this.prewalkLabeledStatement(e);break;case"SwitchStatement":this.prewalkSwitchStatement(e);break;case"TryStatement":this.prewalkTryStatement(e);break;case"VariableDeclaration":this.prewalkVariableDeclaration(e);break;case"WhileStatement":this.prewalkWhileStatement(e);break;case"WithStatement":this.prewalkWithStatement(e)}}blockPrewalkStatement(e){switch(e.type){case"VariableDeclaration":this.blockPrewalkVariableDeclaration(e);break;case"ExportDefaultDeclaration":this.blockPrewalkExportDefaultDeclaration(e);break;case"ExportNamedDeclaration":this.blockPrewalkExportNamedDeclaration(e);break;case"ClassDeclaration":this.blockPrewalkClassDeclaration(e)}}walkStatement(e){switch(e.type){case"BlockStatement":this.walkBlockStatement(e);break;case"ClassDeclaration":this.walkClassDeclaration(e);break;case"DoWhileStatement":this.walkDoWhileStatement(e);break;case"ExportDefaultDeclaration":this.walkExportDefaultDeclaration(e);break;case"ExportNamedDeclaration":this.walkExportNamedDeclaration(e);break;case"ExpressionStatement":this.walkExpressionStatement(e);break;case"ForInStatement":this.walkForInStatement(e);break;case"ForOfStatement":this.walkForOfStatement(e);break;case"ForStatement":this.walkForStatement(e);break;case"FunctionDeclaration":this.walkFunctionDeclaration(e);break;case"IfStatement":this.walkIfStatement(e);break;case"LabeledStatement":this.walkLabeledStatement(e);break;case"ReturnStatement":this.walkReturnStatement(e);break;case"SwitchStatement":this.walkSwitchStatement(e);break;case"ThrowStatement":this.walkThrowStatement(e);break;case"TryStatement":this.walkTryStatement(e);break;case"VariableDeclaration":this.walkVariableDeclaration(e);break;case"WhileStatement":this.walkWhileStatement(e);break;case"WithStatement":this.walkWithStatement(e)}}prewalkBlockStatement(e){this.prewalkStatements(e.body)}walkBlockStatement(e){this.inBlockScope(()=>{const t=e.body;this.blockPrewalkStatements(t),this.walkStatements(t)})}walkExpressionStatement(e){this.walkExpression(e.expression)}prewalkIfStatement(e){this.prewalkStatement(e.consequent),e.alternate&&this.prewalkStatement(e.alternate)}walkIfStatement(e){this.walkExpression(e.test),this.walkStatement(e.consequent),e.alternate&&this.walkStatement(e.alternate)}prewalkLabeledStatement(e){this.prewalkStatement(e.body)}walkLabeledStatement(e){this.walkStatement(e.body)}prewalkWithStatement(e){this.prewalkStatement(e.body)}walkWithStatement(e){this.walkExpression(e.object),this.walkStatement(e.body)}prewalkSwitchStatement(e){this.prewalkSwitchCases(e.cases)}walkSwitchStatement(e){this.walkExpression(e.discriminant),this.walkSwitchCases(e.cases)}walkTerminatingStatement(e){e.argument&&this.walkExpression(e.argument)}walkReturnStatement(e){this.walkTerminatingStatement(e)}walkThrowStatement(e){this.walkTerminatingStatement(e)}prewalkTryStatement(e){this.prewalkStatement(e.block)}walkTryStatement(e){this.scope.inTry?this.walkStatement(e.block):(this.scope.inTry=!0,this.walkStatement(e.block),this.scope.inTry=!1),e.handler&&this.walkCatchClause(e.handler),e.finalizer&&this.walkStatement(e.finalizer)}prewalkWhileStatement(e){this.prewalkStatement(e.body)}walkWhileStatement(e){this.walkExpression(e.test),this.walkStatement(e.body)}prewalkDoWhileStatement(e){this.prewalkStatement(e.body)}walkDoWhileStatement(e){this.walkStatement(e.body),this.walkExpression(e.test)}prewalkForStatement(e){e.init&&"VariableDeclaration"===e.init.type&&this.prewalkStatement(e.init),this.prewalkStatement(e.body)}walkForStatement(e){this.inBlockScope(()=>{e.init&&("VariableDeclaration"===e.init.type?(this.blockPrewalkVariableDeclaration(e.init),this.walkStatement(e.init)):this.walkExpression(e.init)),e.test&&this.walkExpression(e.test),e.update&&this.walkExpression(e.update);const t=e.body;"BlockStatement"===t.type?(this.blockPrewalkStatements(t.body),this.walkStatements(t.body)):this.walkStatement(t)})}prewalkForInStatement(e){"VariableDeclaration"===e.left.type&&this.prewalkVariableDeclaration(e.left),this.prewalkStatement(e.body)}walkForInStatement(e){this.inBlockScope(()=>{"VariableDeclaration"===e.left.type?(this.blockPrewalkVariableDeclaration(e.left),this.walkVariableDeclaration(e.left)):this.walkPattern(e.left),this.walkExpression(e.right);const t=e.body;"BlockStatement"===t.type?(this.blockPrewalkStatements(t.body),this.walkStatements(t.body)):this.walkStatement(t)})}prewalkForOfStatement(e){"VariableDeclaration"===e.left.type&&this.prewalkVariableDeclaration(e.left),this.prewalkStatement(e.body)}walkForOfStatement(e){this.inBlockScope(()=>{"VariableDeclaration"===e.left.type?(this.blockPrewalkVariableDeclaration(e.left),this.walkVariableDeclaration(e.left)):this.walkPattern(e.left),this.walkExpression(e.right);const t=e.body;"BlockStatement"===t.type?(this.blockPrewalkStatements(t.body),this.walkStatements(t.body)):this.walkStatement(t)})}prewalkFunctionDeclaration(e){e.id&&(this.scope.renames.set(e.id.name,null),this.scope.definitions.add(e.id.name))}walkFunctionDeclaration(e){const t=this.scope.topLevelScope;this.scope.topLevelScope=!1,this.inFunctionScope(!0,e.params,()=>{for(const t of e.params)this.walkPattern(t);"BlockStatement"===e.body.type?(this.detectMode(e.body.body),this.prewalkStatement(e.body),this.walkStatement(e.body)):this.walkExpression(e.body)}),this.scope.topLevelScope=t}prewalkImportDeclaration(e){this.trackHarmonyImport(e);for(const t of e.specifiers){const e=t.local.name;this.scope.renames.set(e,null),this.scope.definitions.add(e)}}enterDeclaration(e,t){switch(e.type){case"VariableDeclaration":for(const a of e.declarations)switch(a.type){case"VariableDeclarator":this.enterPattern(a.id,t)}break;case"FunctionDeclaration":case"ClassDeclaration":this.enterPattern(e.id,t)}}blockPrewalkExportNamedDeclaration(e){e.declaration&&this.blockPrewalkStatement(e.declaration)}prewalkExportNamedDeclaration(e){e.source&&this.trackHarmonyExportImport(e),e.declaration&&this.prewalkStatement(e.declaration)}walkExportNamedDeclaration(e){e.declaration&&this.walkStatement(e.declaration)}blockPrewalkExportDefaultDeclaration(e){"ClassDeclaration"===e.declaration.type&&this.blockPrewalkClassDeclaration(e.declaration)}prewalkExportDefaultDeclaration(e){this.prewalkStatement(e.declaration)}walkExportDefaultDeclaration(e){e.declaration.id&&"FunctionExpression"!==e.declaration.type&&"ClassExpression"!==e.declaration.type?this.walkStatement(e.declaration):"FunctionDeclaration"===e.declaration.type?this.walkFunctionDeclaration(e.declaration):"ClassDeclaration"===e.declaration.type?this.walkClassDeclaration(e.declaration):this.walkExpression(e.declaration)}prewalkExportAllDeclaration(e){this.trackHarmonyExportImport(e)}prewalkVariableDeclaration(e){"var"===e.kind&&this._prewalkVariableDeclaration(e)}blockPrewalkVariableDeclaration(e){"var"!==e.kind&&this._prewalkVariableDeclaration(e)}_prewalkVariableDeclaration(e){for(const t of e.declarations)switch(t.type){case"VariableDeclarator":this.enterPattern(t.id,e=>{this.scope.renames.set(e,null),this.scope.definitions.add(e)})}}walkVariableDeclaration(e){for(const t of e.declarations)switch(t.type){case"VariableDeclarator":{const e=t.init&&this.getRenameIdentifier(t.init);if(e&&"Identifier"===t.id.type&&"require"===e){this.scope.renames.set(t.id.name,this.scope.renames.get(e)||e),this.scope.definitions.delete(t.id.name);break}this.walkPattern(t.id),t.init&&this.walkExpression(t.init);break}}}blockPrewalkClassDeclaration(e){e.id&&(this.scope.renames.set(e.id.name,null),this.scope.definitions.add(e.id.name))}walkClassDeclaration(e){this.walkClass(e)}prewalkSwitchCases(e){for(let t=0,a=e.length;t<a;t++){const a=e[t];this.prewalkStatements(a.consequent)}}walkSwitchCases(e){for(let t=0,a=e.length;t<a;t++){const a=e[t];a.test&&this.walkExpression(a.test),this.walkStatements(a.consequent)}}walkCatchClause(e){this.inBlockScope(()=>{null!==e.param&&(this.enterPattern(e.param,e=>{this.scope.renames.set(e,null),this.scope.definitions.add(e)}),this.walkPattern(e.param)),this.prewalkStatement(e.body),this.walkStatement(e.body)})}walkPattern(e){switch(e.type){case"ArrayPattern":this.walkArrayPattern(e);break;case"AssignmentPattern":this.walkAssignmentPattern(e);break;case"MemberExpression":this.walkMemberExpression(e);break;case"ObjectPattern":this.walkObjectPattern(e);break;case"RestElement":this.walkRestElement(e)}}walkAssignmentPattern(e){this.walkExpression(e.right),this.walkPattern(e.left)}walkObjectPattern(e){for(let t=0,a=e.properties.length;t<a;t++){const a=e.properties[t];a&&("computed"in a&&this.walkExpression(a.key),"value"in a&&this.walkPattern(a.value))}}walkArrayPattern(e){for(let t=0,a=e.elements.length;t<a;t++){const a=e.elements[t];a&&this.walkPattern(a)}}walkRestElement(e){this.walkPattern(e.argument)}walkExpressions(e){for(const t of e)t&&this.walkExpression(t)}walkExpression(e){switch(e.type){case"ArrayExpression":this.walkArrayExpression(e);break;case"ArrowFunctionExpression":this.walkArrowFunctionExpression(e);break;case"AssignmentExpression":this.walkAssignmentExpression(e);break;case"AwaitExpression":this.walkAwaitExpression(e);break;case"BinaryExpression":this.walkBinaryExpression(e);break;case"CallExpression":this.walkCallExpression(e);break;case"ClassExpression":this.walkClassExpression(e);break;case"ConditionalExpression":this.walkConditionalExpression(e);break;case"FunctionExpression":this.walkFunctionExpression(e);break;case"Identifier":this.walkIdentifier(e);break;case"LogicalExpression":this.walkLogicalExpression(e);break;case"MemberExpression":this.walkMemberExpression(e);break;case"NewExpression":this.walkNewExpression(e);break;case"ObjectExpression":this.walkObjectExpression(e);break;case"SequenceExpression":this.walkSequenceExpression(e);break;case"SpreadElement":this.walkSpreadElement(e);break;case"TaggedTemplateExpression":this.walkTaggedTemplateExpression(e);break;case"TemplateLiteral":this.walkTemplateLiteral(e);break;case"UnaryExpression":this.walkUnaryExpression(e);break;case"UpdateExpression":this.walkUpdateExpression(e);break;case"YieldExpression":this.walkYieldExpression(e)}}walkAwaitExpression(e){this.walkExpression(e.argument)}walkArrayExpression(e){e.elements&&this.walkExpressions(e.elements)}walkSpreadElement(e){e.argument&&this.walkExpression(e.argument)}walkObjectExpression(e){for(let t=0,a=e.properties.length;t<a;t++){const a=e.properties[t];"SpreadElement"!==a.type?(a.computed&&this.walkExpression(a.key),a.shorthand&&(this.scope.inShorthand=!0),this.walkExpression(a.value),a.shorthand&&(this.scope.inShorthand=!1)):this.walkExpression(a.argument)}}walkFunctionExpression(e){const t=this.scope.topLevelScope;this.scope.topLevelScope=!1;const a=e.params;e.id&&a.push(e.id.name),this.inFunctionScope(!0,a,()=>{for(const t of e.params)this.walkPattern(t);"BlockStatement"===e.body.type?(this.detectMode(e.body.body),this.prewalkStatement(e.body),this.walkStatement(e.body)):this.walkExpression(e.body)}),this.scope.topLevelScope=t}walkArrowFunctionExpression(e){this.inFunctionScope(!1,e.params,()=>{for(const t of e.params)this.walkPattern(t);"BlockStatement"===e.body.type?(this.detectMode(e.body.body),this.prewalkStatement(e.body),this.walkStatement(e.body)):this.walkExpression(e.body)})}walkSequenceExpression(e){e.expressions&&this.walkExpressions(e.expressions)}walkUpdateExpression(e){this.walkExpression(e.argument)}walkUnaryExpression(e){this.walkExpression(e.argument)}walkLeftRightExpression(e){this.walkExpression(e.left),this.walkExpression(e.right)}walkBinaryExpression(e){this.walkLeftRightExpression(e)}walkLogicalExpression(e){this.walkLeftRightExpression(e)}walkAssignmentExpression(e){const t=this.getRenameIdentifier(e.right);if(t&&"require"===t){if("Identifier"===e.left.type)return this.state.assignRequire=!0,this.scope.renames.set(e.left.name,t),void this.scope.definitions.delete(e.left.name);"MemberExpression"===e.left.type&&"Identifier"===e.left.object.type&&"window"===e.left.object.name&&"Identifier"===e.left.property.type&&"loadLib"===e.left.property.name&&(this.state.assignRequire=!0,this.parserContext.isLayaGame=!0)}this.walkExpression(e.right),this.walkPattern(e.left),this.enterPattern(e.left,(e,t)=>{this.scope.renames.set(e,null)})}walkConditionalExpression(e){this.walkExpression(e.test),this.walkExpression(e.consequent),e.alternate&&this.walkExpression(e.alternate)}walkNewExpression(e){this.walkExpression(e.callee),e.arguments&&this.walkExpressions(e.arguments)}walkYieldExpression(e){e.argument&&this.walkExpression(e.argument)}walkTemplateLiteral(e){e.expressions&&this.walkExpressions(e.expressions)}walkTaggedTemplateExpression(e){e.tag&&this.walkExpression(e.tag),e.quasi&&e.quasi.expressions&&this.walkExpressions(e.quasi.expressions)}walkClassExpression(e){this.walkClass(e)}_walkIIFE(e,t,a){const s=e=>{const t=this.getRenameIdentifier(e);if("require"===t)return t;this.walkExpression(e)},i=e.params,r=a?s(a):null,n=t.map(s),l=this.scope.topLevelScope;this.scope.topLevelScope=!1;const o=i.filter((e,t)=>!n[t]);e.id&&o.push(e.id.name),this.inFunctionScope(!0,o,()=>{r&&this.scope.renames.set("this",r);for(let e=0;e<n.length;e++){const t=n[e];t&&(i[e]&&"Identifier"===i[e].type&&this.scope.renames.set(i[e].name,t))}"BlockStatement"===e.body.type?(this.detectMode(e.body.body),this.prewalkStatement(e.body),this.walkStatement(e.body)):this.walkExpression(e.body)}),this.scope.topLevelScope=l}walkCallExpression(e){if("MemberExpression"===e.callee.type&&"FunctionExpression"===e.callee.object.type&&!e.callee.computed&&("call"===e.callee.property.name||"bind"===e.callee.property.name)&&e.arguments.length>0)this._walkIIFE(e.callee.object,e.arguments.slice(1),e.arguments[0]);else if("FunctionExpression"===e.callee.type)this._walkIIFE(e.callee,e.arguments,null);else if("ImportExpression"===e.callee.type){if(!0===this.trackImportOrRequireCall(e,"import"))return;e.arguments&&this.walkExpressions(e.arguments)}else{const t=this.evaluateExpression(e.callee);if(t.isIdentifier())if("require"===t.identifier){if(!0===this.trackImportOrRequireCall(e,"require"))return}else this.parserContext.isLayaGame&&"loadLib"===t.identifier&&this.trackImportOrRequireCall(e,"require");e.callee&&this.walkExpression(e.callee),e.arguments&&this.walkExpressions(e.arguments)}}walkMemberExpression(e){const t=this.getNameForExpression(e);if(t&&t.free&&"require"===t.name){if(!0===this.warnRequireExpression(e))return}this.walkExpression(e.object),!0===e.computed&&this.walkExpression(e.property)}walkIdentifier(e){if(!this.scope.definitions.has(e.name)){if("require"===(this.scope.renames.get(e.name)||e.name)){if(!0===this.warnRequireExpression(e))return}}}inFunctionScope(e,t,a){const s=this.scope;this.scope={topLevelScope:s.topLevelScope,inTry:!1,inShorthand:!1,isStrict:s.isStrict,isAsmJs:s.isAsmJs,definitions:s.definitions.createChild(),renames:s.renames.createChild()},e&&this.scope.renames.set("this",null),this.enterPatterns(t,e=>{this.scope.renames.set(e,null),this.scope.definitions.add(e)}),a(),this.scope=s}inBlockScope(e){const t=this.scope;this.scope={topLevelScope:t.topLevelScope,inTry:t.inTry,inShorthand:!1,isStrict:t.isStrict,isAsmJs:t.isAsmJs,definitions:t.definitions.createChild(),renames:t.renames.createChild()},e(),this.scope=t}enterPatterns(e,t){for(const a of e)"string"!=typeof a?this.enterPattern(a,t):a&&t(a)}enterPattern(e,t){if(e)switch(e.type){case"ArrayPattern":this.enterArrayPattern(e,t);break;case"AssignmentPattern":this.enterAssignmentPattern(e,t);break;case"Identifier":this.enterIdentifier(e,t);break;case"ObjectPattern":this.enterObjectPattern(e,t);break;case"RestElement":this.enterRestElement(e,t);break;case"Property":this.enterPattern(e.value,t)}}enterIdentifier(e,t){t(e.name,e)}enterObjectPattern(e,t){for(let a=0,s=e.properties.length;a<s;a++){const s=e.properties[a];this.enterPattern(s,t)}}enterArrayPattern(e,t){for(let a=0,s=e.elements.length;a<s;a++){const s=e.elements[a];this.enterPattern(s,t)}}enterRestElement(e,t){this.enterPattern(e.argument,t)}enterAssignmentPattern(e,t){this.enterPattern(e.left,t)}getNameForExpression(e){let t=e;const a=[];for(;"MemberExpression"===t.type&&t.property.type===(t.computed?"Literal":"Identifier");)a.push(t.computed?t.property.value:t.property.name),t=t.object;let s;if("Identifier"===t.type)s=!this.scope.definitions.has(t.name),a.push(this.scope.renames.get(t.name)||t.name);else if("ThisExpression"===t.type&&this.scope.renames.get("this"))s=!0,a.push(this.scope.renames.get("this"));else{if("ThisExpression"!==t.type)return null;s=this.scope.topLevelScope,a.push("this")}let i="";for(let e=a.length-1;e>=2;e--)i+=a[e]+".";a.length>1&&(i+=a[1]);return{name:i?i+"."+a[0]:a[0],nameGeneral:i,free:s}}evaluateExpression(e){return this.evaluator.evaluateExpression(e)}trackHarmonyExportImport(e){this.state.deps.push({type:"normal",request:e.source.value,range:e.range,loc:e.loc})}trackHarmonyImport(e){this.state.deps.push({type:"normal",request:e.source.value,range:e.range,loc:e.loc})}trackImportOrRequireCall(e,t){const a=(e,t)=>{if(t.isString())return this.state.deps.push({type:"normal",request:t.string,range:t.range,loc:e.loc}),!0},s=(e,t)=>(ContextDependencyHelpers_1.collectContextDependency(t,e,this),!0);e.arguments.length>1&&this.state.warnings.push({msg:`call ${t} function with more than one parameter`,range:e.range,loc:e.loc});const i=this.evaluateExpression(e.arguments[0]);if(i.isConditional()){let t=!1;const s=this.state.deps.length;for(const s of i.options){void 0===a(e,s)&&(t=!0)}if(!t)return!0;this.state.deps.length=s}return void 0===a(e,i)&&s(e,i),!0}warnRequireExpression(e){return this.state.warnings.push({msg:"require function is used in a way in which dependencies cannot be statically extracted",range:e.range,loc:e.loc}),!0}}exports.default=ES6Parser;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const TOMBSTONE={},UNDEFINED_MARKER={};class StackedSetMap{constructor(t){this.stack=void 0===t?[]:t.slice(),this.map=new Map,this.stack.push(this.map)}add(t){this.map.set(t,!0)}set(t,s){this.map.set(t,void 0===s?UNDEFINED_MARKER:s)}delete(t){this.stack.length>1?this.map.set(t,TOMBSTONE):this.map.delete(t)}has(t){const s=this.map.get(t);if(void 0!==s)return s!==TOMBSTONE;if(this.stack.length>1){for(var e=this.stack.length-2;e>=0;e--){const s=this.stack[e].get(t);if(void 0!==s)return this.map.set(t,s),s!==TOMBSTONE}this.map.set(t,TOMBSTONE)}return!1}get(t){const s=this.map.get(t);if(void 0!==s)return s===TOMBSTONE||s===UNDEFINED_MARKER?void 0:s;if(this.stack.length>1){for(var e=this.stack.length-2;e>=0;e--){const s=this.stack[e].get(t);if(void 0!==s)return this.map.set(t,s),s===TOMBSTONE||s===UNDEFINED_MARKER?void 0:s}this.map.set(t,TOMBSTONE)}}_compress(){if(1!==this.stack.length){this.map=new Map;for(const t of this.stack)for(const s of t)s[1]===TOMBSTONE?this.map.delete(s[0]):this.map.set(s[0],s[1]);this.stack=[this.map]}}asArray(){return this._compress(),Array.from(this.map.entries(),t=>t[0])}asSet(){return new Set(this.asArray())}asPairArray(){return this._compress(),Array.from(this.map.entries(),t=>t[1]===UNDEFINED_MARKER?[t[0],void 0]:t)}asMap(){return new Map(this.asPairArray())}get size(){return this._compress(),this.map.size}createChild(){return new StackedSetMap(this.stack)}get length(){throw new Error("This is no longer an Array")}set length(t){throw new Error("This is no longer an Array")}}exports.default=StackedSetMap;