nitro-nightly 4.0.0-20251010-091516-7cafddba → 4.0.0-20251030-121649-98b56dfe

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 (252) hide show
  1. package/dist/_build/common.mjs +763 -0
  2. package/dist/_build/rolldown.mjs +216 -0
  3. package/dist/_build/rollup.mjs +359 -0
  4. package/dist/_build/vite.build.mjs +67 -0
  5. package/dist/_build/vite.plugin.mjs +747 -0
  6. package/dist/_chunks/B-7HiF0V.mjs +1303 -0
  7. package/dist/_chunks/B3asVbT4.mjs +151 -0
  8. package/dist/_chunks/B5ooyfLk.mjs +372 -0
  9. package/dist/_chunks/DXMHy5ca.mjs +43 -0
  10. package/dist/_dev.d.mts +12 -0
  11. package/dist/_dev.mjs +675 -0
  12. package/dist/_libs/acorn.mjs +5034 -0
  13. package/dist/_libs/c12.mjs +2798 -0
  14. package/dist/_libs/chokidar.mjs +1560 -0
  15. package/dist/_libs/citty.mjs +333 -0
  16. package/dist/_libs/commondir.mjs +22 -0
  17. package/dist/_libs/compatx.mjs +46 -0
  18. package/dist/_libs/confbox.mjs +2920 -0
  19. package/dist/_libs/debug.mjs +848 -0
  20. package/dist/_libs/deepmerge.mjs +86 -0
  21. package/dist/_libs/depd.mjs +314 -0
  22. package/dist/_libs/dot-prop.mjs +138 -0
  23. package/dist/_libs/duplexer.mjs +71 -0
  24. package/dist/_libs/ee-first.mjs +68 -0
  25. package/dist/_libs/encodeurl.mjs +49 -0
  26. package/dist/_libs/escape-html.mjs +58 -0
  27. package/dist/_libs/escape-string-regexp.mjs +8 -0
  28. package/dist/_libs/estree-walker.mjs +330 -0
  29. package/dist/_libs/etag.mjs +75 -0
  30. package/dist/_libs/fdir.mjs +514 -0
  31. package/dist/_libs/fresh.mjs +85 -0
  32. package/dist/_libs/function-bind.mjs +63 -0
  33. package/dist/_libs/gen-mapping.mjs +612 -0
  34. package/dist/_libs/giget.mjs +19076 -0
  35. package/dist/_libs/gzip-size.mjs +21 -0
  36. package/dist/_libs/hasown.mjs +14 -0
  37. package/dist/_libs/http-errors.mjs +436 -0
  38. package/dist/_libs/httpxy.mjs +410 -0
  39. package/dist/_libs/is-core-module.mjs +220 -0
  40. package/dist/_libs/is-module.mjs +13 -0
  41. package/dist/_libs/is-reference.mjs +32 -0
  42. package/dist/_libs/js-tokens.mjs +382 -0
  43. package/dist/_libs/klona.mjs +90 -0
  44. package/dist/_libs/knitwork.mjs +124 -0
  45. package/dist/_libs/local-pkg.mjs +1686 -0
  46. package/dist/_libs/magic-string.mjs +939 -0
  47. package/dist/_libs/mime-db.mjs +7642 -0
  48. package/dist/_libs/mime-types.mjs +162 -0
  49. package/dist/_libs/mime.mjs +1391 -0
  50. package/dist/_libs/node-fetch-native.mjs +173 -0
  51. package/dist/_libs/on-finished.mjs +170 -0
  52. package/dist/_libs/parseurl.mjs +103 -0
  53. package/dist/_libs/path-parse.mjs +47 -0
  54. package/dist/_libs/pathe.mjs +41 -0
  55. package/dist/_libs/picomatch.mjs +1673 -0
  56. package/dist/_libs/plugin-alias.mjs +64 -0
  57. package/dist/_libs/plugin-commonjs.mjs +1489 -0
  58. package/dist/_libs/plugin-inject.mjs +135 -0
  59. package/dist/_libs/plugin-json.mjs +36 -0
  60. package/dist/_libs/plugin-node-resolve.mjs +1553 -0
  61. package/dist/_libs/plugin-replace.mjs +104 -0
  62. package/dist/_libs/pretty-bytes.mjs +116 -0
  63. package/dist/_libs/range-parser.mjs +102 -0
  64. package/dist/_libs/remapping.mjs +117 -0
  65. package/dist/_libs/rou3.mjs +311 -0
  66. package/dist/_libs/send.mjs +857 -0
  67. package/dist/_libs/serve-static.mjs +124 -0
  68. package/dist/_libs/std-env.mjs +158 -0
  69. package/dist/_libs/strip-literal.mjs +51 -0
  70. package/dist/_libs/tinyglobby.mjs +292 -0
  71. package/dist/_libs/ultrahtml.mjs +138 -0
  72. package/dist/_libs/unimport.mjs +3520 -0
  73. package/dist/_libs/untyped.mjs +271 -0
  74. package/dist/_libs/unwasm.mjs +5825 -0
  75. package/dist/_libs/vite-plugin-fullstack.mjs +561 -0
  76. package/dist/_presets.mjs +1723 -0
  77. package/dist/builder.d.mts +54 -0
  78. package/dist/builder.mjs +45 -0
  79. package/dist/cli/_chunks/build.mjs +43 -0
  80. package/dist/cli/_chunks/common.mjs +15 -0
  81. package/dist/cli/_chunks/detect-acorn.mjs +12 -0
  82. package/dist/cli/_chunks/dev.mjs +79 -0
  83. package/dist/cli/_chunks/dist.mjs +3 -0
  84. package/dist/cli/_chunks/dist2.mjs +4 -0
  85. package/dist/cli/_chunks/esm.mjs +3 -0
  86. package/dist/cli/_chunks/json5.mjs +4 -0
  87. package/dist/cli/_chunks/jsonc.mjs +4 -0
  88. package/dist/cli/_chunks/list.mjs +27 -0
  89. package/dist/cli/_chunks/multipart-parser.mjs +6 -0
  90. package/dist/cli/_chunks/prepare.mjs +19 -0
  91. package/dist/cli/_chunks/run.mjs +55 -0
  92. package/dist/cli/_chunks/task.mjs +16 -0
  93. package/dist/cli/_chunks/toml.mjs +4 -0
  94. package/dist/cli/_chunks/yaml.mjs +4 -0
  95. package/dist/cli/index.d.mts +1 -1
  96. package/dist/cli/index.mjs +20 -476
  97. package/dist/node_modules/@speed-highlight/core/dist/index.js +1 -1
  98. package/dist/node_modules/@speed-highlight/core/dist/terminal.js +1 -1
  99. package/dist/node_modules/@speed-highlight/core/package.json +7 -3
  100. package/dist/node_modules/cookie-es/dist/index.mjs +262 -0
  101. package/dist/node_modules/cookie-es/package.json +37 -0
  102. package/dist/node_modules/hookable/dist/index.mjs +243 -266
  103. package/dist/node_modules/hookable/package.json +29 -26
  104. package/dist/node_modules/rendu/dist/index.mjs +380 -0
  105. package/dist/node_modules/rendu/package.json +47 -0
  106. package/dist/presets/_nitro/runtime/nitro-dev.d.mts +1 -0
  107. package/dist/presets/_nitro/runtime/nitro-dev.mjs +44 -38
  108. package/dist/presets/_nitro/runtime/nitro-prerenderer.d.mts +2 -2
  109. package/dist/presets/_nitro/runtime/nitro-prerenderer.mjs +9 -12
  110. package/dist/presets/_nitro/runtime/service-worker.d.mts +1 -0
  111. package/dist/presets/_nitro/runtime/service-worker.mjs +14 -11
  112. package/dist/presets/aws-amplify/runtime/aws-amplify.d.mts +1 -0
  113. package/dist/presets/aws-amplify/runtime/aws-amplify.mjs +6 -5
  114. package/dist/presets/aws-lambda/runtime/_utils.d.mts +8 -13
  115. package/dist/presets/aws-lambda/runtime/_utils.mjs +95 -81
  116. package/dist/presets/aws-lambda/runtime/aws-lambda-streaming.d.mts +1 -2
  117. package/dist/presets/aws-lambda/runtime/aws-lambda-streaming.mjs +25 -27
  118. package/dist/presets/aws-lambda/runtime/aws-lambda.mjs +7 -7
  119. package/dist/presets/azure/runtime/_utils.mjs +43 -43
  120. package/dist/presets/azure/runtime/azure-swa.d.mts +2 -2
  121. package/dist/presets/azure/runtime/azure-swa.mjs +22 -21
  122. package/dist/presets/bun/runtime/bun.d.mts +1 -0
  123. package/dist/presets/bun/runtime/bun.mjs +18 -17
  124. package/dist/presets/cloudflare/runtime/_module-handler.d.mts +10 -7
  125. package/dist/presets/cloudflare/runtime/_module-handler.mjs +79 -87
  126. package/dist/presets/cloudflare/runtime/cloudflare-durable.d.mts +6 -14
  127. package/dist/presets/cloudflare/runtime/cloudflare-durable.mjs +55 -61
  128. package/dist/presets/cloudflare/runtime/cloudflare-module.d.mts +1 -7
  129. package/dist/presets/cloudflare/runtime/cloudflare-module.mjs +12 -14
  130. package/dist/presets/cloudflare/runtime/cloudflare-pages.d.mts +12 -12
  131. package/dist/presets/cloudflare/runtime/cloudflare-pages.mjs +35 -39
  132. package/dist/presets/cloudflare/runtime/plugin.dev.d.mts +2 -2
  133. package/dist/presets/cloudflare/runtime/plugin.dev.mjs +89 -82
  134. package/dist/presets/cloudflare/runtime/shims/workers.dev.mjs +27 -0
  135. package/dist/presets/deno/runtime/deno-deploy.d.mts +1 -0
  136. package/dist/presets/deno/runtime/deno-deploy.mjs +12 -11
  137. package/dist/presets/deno/runtime/deno-server.d.mts +2 -1
  138. package/dist/presets/deno/runtime/deno-server.mjs +31 -39
  139. package/dist/presets/netlify/runtime/netlify-edge.d.mts +2 -1
  140. package/dist/presets/netlify/runtime/netlify-edge.mjs +14 -11
  141. package/dist/presets/netlify/runtime/netlify.mjs +11 -17
  142. package/dist/presets/node/runtime/node-cluster.mjs +49 -48
  143. package/dist/presets/node/runtime/node-middleware.d.mts +3 -2
  144. package/dist/presets/node/runtime/node-middleware.mjs +7 -6
  145. package/dist/presets/node/runtime/node-server.mjs +34 -24
  146. package/dist/presets/standard/runtime/server.d.mts +1 -3
  147. package/dist/presets/standard/runtime/server.mjs +1 -3
  148. package/dist/presets/stormkit/runtime/stormkit.d.mts +13 -13
  149. package/dist/presets/stormkit/runtime/stormkit.mjs +20 -20
  150. package/dist/presets/vercel/runtime/vercel.d.mts +3 -3
  151. package/dist/presets/vercel/runtime/vercel.mjs +15 -14
  152. package/dist/presets/winterjs/runtime/winterjs.d.mts +2 -0
  153. package/dist/presets/winterjs/runtime/winterjs.mjs +72 -68
  154. package/dist/presets/zeabur/runtime/zeabur.d.mts +1 -1
  155. package/dist/runtime/index.d.mts +13 -2
  156. package/dist/runtime/index.mjs +13 -8
  157. package/dist/runtime/internal/app.d.mts +3 -1
  158. package/dist/runtime/internal/app.mjs +179 -140
  159. package/dist/runtime/internal/cache.d.mts +10 -4
  160. package/dist/runtime/internal/cache.mjs +247 -216
  161. package/dist/runtime/internal/context.d.mts +9 -9
  162. package/dist/runtime/internal/context.mjs +17 -10
  163. package/dist/runtime/internal/database.mjs +8 -10
  164. package/dist/runtime/internal/error/dev.d.mts +5 -4
  165. package/dist/runtime/internal/error/dev.mjs +106 -105
  166. package/dist/runtime/internal/error/prod.d.mts +5 -4
  167. package/dist/runtime/internal/error/prod.mjs +51 -59
  168. package/dist/runtime/internal/error/utils.d.mts +4 -4
  169. package/dist/runtime/internal/error/utils.mjs +1 -1
  170. package/dist/runtime/internal/index.d.mts +2 -0
  171. package/dist/runtime/internal/index.mjs +2 -0
  172. package/dist/runtime/internal/lib/http-graceful-shutdown.d.mts +14 -14
  173. package/dist/runtime/internal/lib/http-graceful-shutdown.mjs +248 -209
  174. package/dist/runtime/internal/meta.d.mts +1 -1
  175. package/dist/runtime/internal/meta.mjs +1 -1
  176. package/dist/runtime/internal/plugin.d.mts +2 -2
  177. package/dist/runtime/internal/plugin.mjs +1 -1
  178. package/dist/runtime/internal/renderer.mjs +40 -32
  179. package/dist/runtime/internal/route-rules.d.mts +8 -8
  180. package/dist/runtime/internal/route-rules.mjs +53 -51
  181. package/dist/runtime/internal/routes/dev-tasks.d.mts +1 -2
  182. package/dist/runtime/internal/routes/dev-tasks.mjs +15 -17
  183. package/dist/runtime/internal/routes/openapi.d.mts +1 -0
  184. package/dist/runtime/internal/routes/openapi.mjs +81 -87
  185. package/dist/runtime/internal/routes/renderer-template.d.mts +1 -1
  186. package/dist/runtime/internal/routes/renderer-template.dev.d.mts +1 -2
  187. package/dist/runtime/internal/routes/renderer-template.dev.mjs +10 -17
  188. package/dist/runtime/internal/routes/renderer-template.mjs +1 -1
  189. package/dist/runtime/internal/routes/scalar.d.mts +1 -0
  190. package/dist/runtime/internal/routes/scalar.mjs +22 -23
  191. package/dist/runtime/internal/routes/swagger.d.mts +1 -0
  192. package/dist/runtime/internal/routes/swagger.mjs +9 -11
  193. package/dist/runtime/internal/runtime-config.d.mts +4 -4
  194. package/dist/runtime/internal/runtime-config.mjs +40 -35
  195. package/dist/runtime/internal/shutdown.d.mts +2 -8
  196. package/dist/runtime/internal/shutdown.mjs +32 -30
  197. package/dist/runtime/internal/static.mjs +63 -74
  198. package/dist/runtime/internal/storage.mjs +2 -2
  199. package/dist/runtime/internal/task.d.mts +6 -6
  200. package/dist/runtime/internal/task.mjs +56 -60
  201. package/dist/runtime/internal/utils.d.mts +1 -1
  202. package/dist/runtime/internal/utils.mjs +4 -10
  203. package/dist/types/index.d.mts +2594 -2286
  204. package/dist/types/index.mjs +1 -1
  205. package/dist/vite.d.mts +56 -47
  206. package/dist/vite.mjs +55 -68
  207. package/lib/index.d.mts +1 -0
  208. package/lib/index.mjs +1 -0
  209. package/lib/runtime/meta.mjs +35 -0
  210. package/package.json +49 -50
  211. package/dist/_chunks/app.mjs +0 -19797
  212. package/dist/_chunks/build.mjs +0 -84
  213. package/dist/_chunks/build2.mjs +0 -318
  214. package/dist/_chunks/build3.mjs +0 -6452
  215. package/dist/_chunks/detect-acorn.mjs +0 -503
  216. package/dist/_chunks/index.mjs +0 -22242
  217. package/dist/_chunks/index2.mjs +0 -297
  218. package/dist/_chunks/index3.mjs +0 -1058
  219. package/dist/_chunks/index4.mjs +0 -1206
  220. package/dist/_chunks/info.mjs +0 -11157
  221. package/dist/_chunks/json5.mjs +0 -68
  222. package/dist/_chunks/jsonc.mjs +0 -51
  223. package/dist/_chunks/pathe.M-eThtNZ.mjs +0 -204
  224. package/dist/_chunks/plugin.mjs +0 -960
  225. package/dist/_chunks/server.mjs +0 -254
  226. package/dist/_chunks/snapshot.mjs +0 -284
  227. package/dist/_chunks/toml.mjs +0 -259
  228. package/dist/_chunks/yaml.mjs +0 -86
  229. package/dist/cli/build.mjs +0 -54
  230. package/dist/cli/common.mjs +0 -13
  231. package/dist/cli/dev.mjs +0 -95
  232. package/dist/cli/index2.mjs +0 -17
  233. package/dist/cli/list.mjs +0 -34
  234. package/dist/cli/prepare.mjs +0 -24
  235. package/dist/cli/run.mjs +0 -60
  236. package/dist/index.d.mts +0 -52
  237. package/dist/index.mjs +0 -55
  238. package/dist/node_modules/klona/dist/index.mjs +0 -81
  239. package/dist/node_modules/klona/full/index.mjs +0 -53
  240. package/dist/node_modules/klona/package.json +0 -74
  241. package/dist/node_modules/std-env/dist/index.mjs +0 -1
  242. package/dist/node_modules/std-env/package.json +0 -46
  243. package/dist/presets.mjs +0 -2460
  244. package/dist/runtime/internal/debug.d.mts +0 -2
  245. package/dist/runtime/internal/debug.mjs +0 -5
  246. package/dist/runtime/internal/empty.d.mts +0 -0
  247. package/dist/runtime/internal/vite/dev-entry.d.mts +0 -1
  248. package/dist/runtime/internal/vite/dev-worker.d.mts +0 -1
  249. package/dist/runtime/internal/vite/prod-setup.d.mts +0 -4
  250. package/dist/runtime/internal/vite/ssr-renderer.d.mts +0 -4
  251. package/lib/runtime-meta.mjs +0 -38
  252. /package/lib/{runtime-meta.d.mts → runtime/meta.d.mts} +0 -0
@@ -1,297 +0,0 @@
1
- import sysPath__default, { sep } from 'path';
2
- import { c as createFilter, a as attachScopes, w as walk, m as makeLegalIdentifier } from './info.mjs';
3
- import { M as MagicString } from './index.mjs';
4
-
5
- function matches(pattern, importee) {
6
- if (pattern instanceof RegExp) {
7
- return pattern.test(importee);
8
- }
9
- if (importee.length < pattern.length) {
10
- return false;
11
- }
12
- if (importee === pattern) {
13
- return true;
14
- }
15
- // eslint-disable-next-line prefer-template
16
- return importee.startsWith(pattern + '/');
17
- }
18
- function getEntries({ entries, customResolver }) {
19
- if (!entries) {
20
- return [];
21
- }
22
- const resolverFunctionFromOptions = resolveCustomResolver(customResolver);
23
- if (Array.isArray(entries)) {
24
- return entries.map((entry) => {
25
- return {
26
- find: entry.find,
27
- replacement: entry.replacement,
28
- resolverFunction: resolveCustomResolver(entry.customResolver) || resolverFunctionFromOptions
29
- };
30
- });
31
- }
32
- return Object.entries(entries).map(([key, value]) => {
33
- return { find: key, replacement: value, resolverFunction: resolverFunctionFromOptions };
34
- });
35
- }
36
- function getHookFunction(hook) {
37
- if (typeof hook === 'function') {
38
- return hook;
39
- }
40
- if (hook && 'handler' in hook && typeof hook.handler === 'function') {
41
- return hook.handler;
42
- }
43
- return null;
44
- }
45
- function resolveCustomResolver(customResolver) {
46
- if (typeof customResolver === 'function') {
47
- return customResolver;
48
- }
49
- if (customResolver) {
50
- return getHookFunction(customResolver.resolveId);
51
- }
52
- return null;
53
- }
54
- function alias(options = {}) {
55
- const entries = getEntries(options);
56
- if (entries.length === 0) {
57
- return {
58
- name: 'alias',
59
- resolveId: () => null
60
- };
61
- }
62
- return {
63
- name: 'alias',
64
- async buildStart(inputOptions) {
65
- await Promise.all([...(Array.isArray(options.entries) ? options.entries : []), options].map(({ customResolver }) => { var _a; return customResolver && ((_a = getHookFunction(customResolver.buildStart)) === null || _a === void 0 ? void 0 : _a.call(this, inputOptions)); }));
66
- },
67
- resolveId(importee, importer, resolveOptions) {
68
- // First match is supposed to be the correct one
69
- const matchedEntry = entries.find((entry) => matches(entry.find, importee));
70
- if (!matchedEntry) {
71
- return null;
72
- }
73
- const updatedId = importee.replace(matchedEntry.find, matchedEntry.replacement);
74
- if (matchedEntry.resolverFunction) {
75
- return matchedEntry.resolverFunction.call(this, updatedId, importer, resolveOptions);
76
- }
77
- return this.resolve(updatedId, importer, Object.assign({ skipSelf: true }, resolveOptions)).then((resolved) => {
78
- if (resolved)
79
- return resolved;
80
- if (!sysPath__default.isAbsolute(updatedId)) {
81
- this.warn(`rewrote ${importee} to ${updatedId} but was not an abolute path and was not handled by other plugins. ` +
82
- `This will lead to duplicated modules for the same path. ` +
83
- `To avoid duplicating modules, you should resolve to an absolute path.`);
84
- }
85
- return { id: updatedId };
86
- });
87
- }
88
- };
89
- }
90
-
91
- var escape = function (str) { return str.replace(/[-[\]/{}()*+?.\\^$|]/g, '\\$&'); };
92
-
93
- var isReference = function (node, parent) {
94
- if (node.type === 'MemberExpression') {
95
- return !node.computed && isReference(node.object, node);
96
- }
97
-
98
- if (node.type === 'Identifier') {
99
- // TODO is this right?
100
- if (parent.type === 'MemberExpression') { return parent.computed || node === parent.object; }
101
-
102
- // disregard the `bar` in { bar: foo }
103
- if (parent.type === 'Property' && node !== parent.value) { return false; }
104
-
105
- // disregard the `bar` in `class Foo { bar () {...} }`
106
- if (parent.type === 'MethodDefinition') { return false; }
107
-
108
- // disregard the `bar` in `export { foo as bar }`
109
- if (parent.type === 'ExportSpecifier' && node !== parent.local) { return false; }
110
-
111
- // disregard the `bar` in `import { bar as foo }`
112
- if (parent.type === 'ImportSpecifier' && node === parent.imported) {
113
- return false;
114
- }
115
-
116
- return true;
117
- }
118
-
119
- return false;
120
- };
121
-
122
- var flatten = function (startNode) {
123
- var parts = [];
124
- var node = startNode;
125
-
126
- while (node.type === 'MemberExpression') {
127
- parts.unshift(node.property.name);
128
- node = node.object;
129
- }
130
-
131
- var name = node.name;
132
- parts.unshift(name);
133
-
134
- return { name: name, keypath: parts.join('.') };
135
- };
136
-
137
- function inject(options) {
138
- if (!options) { throw new Error('Missing options'); }
139
-
140
- var filter = createFilter(options.include, options.exclude);
141
-
142
- var modules = options.modules;
143
-
144
- if (!modules) {
145
- modules = Object.assign({}, options);
146
- delete modules.include;
147
- delete modules.exclude;
148
- delete modules.sourceMap;
149
- delete modules.sourcemap;
150
- }
151
-
152
- var modulesMap = new Map(Object.entries(modules));
153
-
154
- // Fix paths on Windows
155
- if (sep !== '/') {
156
- modulesMap.forEach(function (mod, key) {
157
- modulesMap.set(
158
- key,
159
- Array.isArray(mod) ? [mod[0].split(sep).join('/'), mod[1]] : mod.split(sep).join('/')
160
- );
161
- });
162
- }
163
-
164
- var firstpass = new RegExp(("(?:" + (Array.from(modulesMap.keys()).map(escape).join('|')) + ")"), 'g');
165
- var sourceMap = options.sourceMap !== false && options.sourcemap !== false;
166
-
167
- return {
168
- name: 'inject',
169
-
170
- transform: function transform(code, id) {
171
- if (!filter(id)) { return null; }
172
- if (code.search(firstpass) === -1) { return null; }
173
-
174
- if (sep !== '/') { id = id.split(sep).join('/'); } // eslint-disable-line no-param-reassign
175
-
176
- var ast = null;
177
- try {
178
- ast = this.parse(code);
179
- } catch (err) {
180
- this.warn({
181
- code: 'PARSE_ERROR',
182
- message: ("rollup-plugin-inject: failed to parse " + id + ". Consider restricting the plugin to particular files via options.include")
183
- });
184
- }
185
- if (!ast) {
186
- return null;
187
- }
188
-
189
- var imports = new Set();
190
- ast.body.forEach(function (node) {
191
- if (node.type === 'ImportDeclaration') {
192
- node.specifiers.forEach(function (specifier) {
193
- imports.add(specifier.local.name);
194
- });
195
- }
196
- });
197
-
198
- // analyse scopes
199
- var scope = attachScopes(ast, 'scope');
200
-
201
- var magicString = new MagicString(code);
202
-
203
- var newImports = new Map();
204
-
205
- function handleReference(node, name, keypath) {
206
- var mod = modulesMap.get(keypath);
207
- if (mod && !imports.has(name) && !scope.contains(name)) {
208
- if (typeof mod === 'string') { mod = [mod, 'default']; }
209
-
210
- // prevent module from importing itself
211
- if (mod[0] === id) { return false; }
212
-
213
- var hash = keypath + ":" + (mod[0]) + ":" + (mod[1]);
214
-
215
- var importLocalName =
216
- name === keypath ? name : makeLegalIdentifier(("$inject_" + keypath));
217
-
218
- if (!newImports.has(hash)) {
219
- // escape apostrophes and backslashes for use in single-quoted string literal
220
- var modName = mod[0].replace(/[''\\]/g, '\\$&');
221
- if (mod[1] === '*') {
222
- newImports.set(hash, ("import * as " + importLocalName + " from '" + modName + "';"));
223
- } else {
224
- newImports.set(hash, ("import { " + (mod[1]) + " as " + importLocalName + " } from '" + modName + "';"));
225
- }
226
- }
227
-
228
- if (name !== keypath) {
229
- magicString.overwrite(node.start, node.end, importLocalName, {
230
- storeName: true
231
- });
232
- }
233
-
234
- return true;
235
- }
236
-
237
- return false;
238
- }
239
-
240
- walk(ast, {
241
- enter: function enter(node, parent) {
242
- if (sourceMap) {
243
- magicString.addSourcemapLocation(node.start);
244
- magicString.addSourcemapLocation(node.end);
245
- }
246
-
247
- if (node.scope) {
248
- scope = node.scope; // eslint-disable-line prefer-destructuring
249
- }
250
-
251
- // special case – shorthand properties. because node.key === node.value,
252
- // we can't differentiate once we've descended into the node
253
- if (node.type === 'Property' && node.shorthand && node.value.type === 'Identifier') {
254
- var ref = node.key;
255
- var name = ref.name;
256
- handleReference(node, name, name);
257
- this.skip();
258
- return;
259
- }
260
-
261
- if (isReference(node, parent)) {
262
- var ref$1 = flatten(node);
263
- var name$1 = ref$1.name;
264
- var keypath = ref$1.keypath;
265
- var handled = handleReference(node, name$1, keypath);
266
- if (handled) {
267
- this.skip();
268
- }
269
- }
270
- },
271
- leave: function leave(node) {
272
- if (node.scope) {
273
- scope = scope.parent;
274
- }
275
- }
276
- });
277
-
278
- if (newImports.size === 0) {
279
- return {
280
- code: code,
281
- ast: ast,
282
- map: sourceMap ? magicString.generateMap({ hires: true }) : null
283
- };
284
- }
285
- var importBlock = Array.from(newImports.values()).join('\n\n');
286
-
287
- magicString.prepend((importBlock + "\n\n"));
288
-
289
- return {
290
- code: magicString.toString(),
291
- map: sourceMap ? magicString.generateMap({ hires: true }) : null
292
- };
293
- }
294
- };
295
- }
296
-
297
- export { alias as a, inject as i };