@atlaspack/packager-css 2.14.5-canary.36 → 2.14.5-canary.360

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/CHANGELOG.md CHANGED
@@ -1,5 +1,373 @@
1
1
  # @atlaspack/packager-css
2
2
 
3
+ ## 2.15.9
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [[`47aa84e`](https://github.com/atlassian-labs/atlaspack/commit/47aa84e44c61066072a5bf3d57678565b9d2c5a3)]:
8
+ - @atlaspack/utils@3.3.0
9
+ - @atlaspack/source-map@3.2.3
10
+ - @atlaspack/types-internal@2.22.5
11
+ - @atlaspack/plugin@2.14.48
12
+
13
+ ## 2.15.8
14
+
15
+ ### Patch Changes
16
+
17
+ - Updated dependencies []:
18
+ - @atlaspack/source-map@3.2.2
19
+ - @atlaspack/utils@3.2.8
20
+ - @atlaspack/types-internal@2.22.4
21
+ - @atlaspack/plugin@2.14.47
22
+
23
+ ## 2.15.7
24
+
25
+ ### Patch Changes
26
+
27
+ - Updated dependencies [[`02cc8b3`](https://github.com/atlassian-labs/atlaspack/commit/02cc8b32c06ca6b51806b33f6f707ca06e55e957)]:
28
+ - @atlaspack/types-internal@2.22.3
29
+ - @atlaspack/source-map@3.2.1
30
+ - @atlaspack/utils@3.2.7
31
+ - @atlaspack/plugin@2.14.46
32
+
33
+ ## 2.15.6
34
+
35
+ ### Patch Changes
36
+
37
+ - Updated dependencies []:
38
+ - @atlaspack/types-internal@2.22.2
39
+ - @atlaspack/utils@3.2.6
40
+ - @atlaspack/plugin@2.14.45
41
+
42
+ ## 2.15.5
43
+
44
+ ### Patch Changes
45
+
46
+ - Updated dependencies [[`c81b368`](https://github.com/atlassian-labs/atlaspack/commit/c81b368db20af701d9e019a11272b138f9cfe080)]:
47
+ - @atlaspack/source-map@3.2.0
48
+ - @atlaspack/utils@3.2.5
49
+ - @atlaspack/types-internal@2.22.1
50
+ - @atlaspack/plugin@2.14.44
51
+
52
+ ## 2.15.4
53
+
54
+ ### Patch Changes
55
+
56
+ - Updated dependencies [[`00fa643`](https://github.com/atlassian-labs/atlaspack/commit/00fa6433202bfd3311479f6314c9ec878a789f2c)]:
57
+ - @atlaspack/types-internal@2.22.0
58
+ - @atlaspack/plugin@2.14.43
59
+ - @atlaspack/utils@3.2.4
60
+
61
+ ## 2.15.3
62
+
63
+ ### Patch Changes
64
+
65
+ - Updated dependencies []:
66
+ - @atlaspack/source-map@3.1.3
67
+ - @atlaspack/utils@3.2.3
68
+ - @atlaspack/types-internal@2.21.3
69
+ - @atlaspack/plugin@2.14.42
70
+
71
+ ## 2.15.2
72
+
73
+ ### Patch Changes
74
+
75
+ - Updated dependencies [[`f6fc5e2`](https://github.com/atlassian-labs/atlaspack/commit/f6fc5e2acc30720f9a9676dfbc02bf780066653b)]:
76
+ - @atlaspack/source-map@3.1.2
77
+ - @atlaspack/utils@3.2.2
78
+ - @atlaspack/types-internal@2.21.2
79
+ - @atlaspack/plugin@2.14.41
80
+
81
+ ## 2.15.1
82
+
83
+ ### Patch Changes
84
+
85
+ - Updated dependencies []:
86
+ - @atlaspack/source-map@3.1.1
87
+ - @atlaspack/utils@3.2.1
88
+ - @atlaspack/types-internal@2.21.1
89
+ - @atlaspack/plugin@2.14.40
90
+
91
+ ## 2.15.0
92
+
93
+ ### Minor Changes
94
+
95
+ - [#789](https://github.com/atlassian-labs/atlaspack/pull/789) [`73168c2`](https://github.com/atlassian-labs/atlaspack/commit/73168c275a5d9abff9907bcf536b340bca1ed5f0) Thanks [@marcins](https://github.com/marcins)! - Use an in-sourced version of @parcel/source-map, as @atlaspack/source-map
96
+
97
+ ### Patch Changes
98
+
99
+ - Updated dependencies [[`8eb84ee`](https://github.com/atlassian-labs/atlaspack/commit/8eb84ee61a42bfe87c58079b610802b07a6a13e4), [`73168c2`](https://github.com/atlassian-labs/atlaspack/commit/73168c275a5d9abff9907bcf536b340bca1ed5f0), [`617a318`](https://github.com/atlassian-labs/atlaspack/commit/617a318ddc9419b38360257353fec50b9051ee13)]:
100
+ - @atlaspack/types-internal@2.21.0
101
+ - @atlaspack/source-map@3.1.0
102
+ - @atlaspack/utils@3.2.0
103
+ - @atlaspack/plugin@2.14.39
104
+
105
+ ## 2.14.38
106
+
107
+ ### Patch Changes
108
+
109
+ - Updated dependencies [[`7d7a55d`](https://github.com/atlassian-labs/atlaspack/commit/7d7a55dd6395ec391a2e4c33b3dec0d1ea477d4c)]:
110
+ - @atlaspack/utils@3.1.2
111
+ - @atlaspack/types-internal@2.20.8
112
+ - @atlaspack/plugin@2.14.38
113
+
114
+ ## 2.14.37
115
+
116
+ ### Patch Changes
117
+
118
+ - Updated dependencies []:
119
+ - @atlaspack/utils@3.1.1
120
+ - @atlaspack/types-internal@2.20.7
121
+ - @atlaspack/plugin@2.14.37
122
+
123
+ ## 2.14.36
124
+
125
+ ### Patch Changes
126
+
127
+ - Updated dependencies [[`5776be2`](https://github.com/atlassian-labs/atlaspack/commit/5776be21f70a3f2b9471ba33da3ba1a883f21f1a)]:
128
+ - @atlaspack/utils@3.1.0
129
+ - @atlaspack/types-internal@2.20.6
130
+ - @atlaspack/plugin@2.14.36
131
+
132
+ ## 2.14.35
133
+
134
+ ### Patch Changes
135
+
136
+ - Updated dependencies [[`c372f3f`](https://github.com/atlassian-labs/atlaspack/commit/c372f3fd6fce8200d5cf47f41bc7895c6cbb5558), [`17dfea9`](https://github.com/atlassian-labs/atlaspack/commit/17dfea9e9f3169807808520df9c09ebf70dc8b10)]:
137
+ - @atlaspack/types-internal@2.20.5
138
+ - @atlaspack/utils@3.0.3
139
+ - @atlaspack/plugin@2.14.35
140
+
141
+ ## 2.14.34
142
+
143
+ ### Patch Changes
144
+
145
+ - Updated dependencies []:
146
+ - @atlaspack/types-internal@2.20.4
147
+ - @atlaspack/utils@3.0.2
148
+ - @atlaspack/plugin@2.14.34
149
+
150
+ ## 2.14.33
151
+
152
+ ### Patch Changes
153
+
154
+ - Updated dependencies [[`236e546`](https://github.com/atlassian-labs/atlaspack/commit/236e5465863dca6044a7191e05260a5b924c342e)]:
155
+ - @atlaspack/utils@3.0.1
156
+ - @atlaspack/types-internal@2.20.3
157
+ - @atlaspack/plugin@2.14.33
158
+
159
+ ## 2.14.32
160
+
161
+ ### Patch Changes
162
+
163
+ - Updated dependencies [[`1180103`](https://github.com/atlassian-labs/atlaspack/commit/118010351ed444f8178988afb3f77807154dd933)]:
164
+ - @atlaspack/utils@3.0.0
165
+ - @atlaspack/types-internal@2.20.2
166
+ - @atlaspack/plugin@2.14.32
167
+
168
+ ## 2.14.31
169
+
170
+ ### Patch Changes
171
+
172
+ - [#785](https://github.com/atlassian-labs/atlaspack/pull/785) [`0e7dd5e`](https://github.com/atlassian-labs/atlaspack/commit/0e7dd5ec6fbe05aa9e0bb5775a9d0975f206a922) Thanks [@matt-koko](https://github.com/matt-koko)! - We need to re-publish every package in Atlaspack with the corrected types field.
173
+
174
+ - Updated dependencies [[`0e7dd5e`](https://github.com/atlassian-labs/atlaspack/commit/0e7dd5ec6fbe05aa9e0bb5775a9d0975f206a922)]:
175
+ - @atlaspack/diagnostic@2.14.4
176
+ - @atlaspack/plugin@2.14.31
177
+ - @atlaspack/types-internal@2.20.1
178
+ - @atlaspack/utils@2.19.3
179
+
180
+ ## 2.14.30
181
+
182
+ ### Patch Changes
183
+
184
+ - Updated dependencies [[`eedcbc4`](https://github.com/atlassian-labs/atlaspack/commit/eedcbc408fc1e86a2a8e25f1a41c57146d8529e1), [`f6532d7`](https://github.com/atlassian-labs/atlaspack/commit/f6532d7a4f7f007bd4e5e36af04dd466f0b9f572)]:
185
+ - @atlaspack/types-internal@2.20.0
186
+ - @atlaspack/utils@2.19.2
187
+ - @atlaspack/plugin@2.14.30
188
+
189
+ ## 2.14.29
190
+
191
+ ### Patch Changes
192
+
193
+ - Updated dependencies []:
194
+ - @atlaspack/types-internal@2.19.5
195
+ - @atlaspack/utils@2.19.1
196
+ - @atlaspack/plugin@2.14.29
197
+
198
+ ## 2.14.28
199
+
200
+ ### Patch Changes
201
+
202
+ - Updated dependencies [[`f0349a6`](https://github.com/atlassian-labs/atlaspack/commit/f0349a6b9b04755088f121095ca6301a2ada3767)]:
203
+ - @atlaspack/utils@2.19.0
204
+ - @atlaspack/types-internal@2.19.4
205
+ - @atlaspack/plugin@2.14.28
206
+
207
+ ## 2.14.27
208
+
209
+ ### Patch Changes
210
+
211
+ - Updated dependencies []:
212
+ - @atlaspack/types-internal@2.19.3
213
+ - @atlaspack/utils@2.18.4
214
+ - @atlaspack/plugin@2.14.27
215
+
216
+ ## 2.14.26
217
+
218
+ ### Patch Changes
219
+
220
+ - [#742](https://github.com/atlassian-labs/atlaspack/pull/742) [`ee040bb`](https://github.com/atlassian-labs/atlaspack/commit/ee040bb6428f29b57d892ddd8107e29077d08ffd) Thanks [@yamadapc](https://github.com/yamadapc)! - Internal changes and bug fixes to environmentDeduplication flag
221
+
222
+ - Updated dependencies [[`ee040bb`](https://github.com/atlassian-labs/atlaspack/commit/ee040bb6428f29b57d892ddd8107e29077d08ffd), [`889c65c`](https://github.com/atlassian-labs/atlaspack/commit/889c65cd25b811045e26a117e7404f694dde77a2)]:
223
+ - @atlaspack/types-internal@2.19.2
224
+ - @atlaspack/diagnostic@2.14.3
225
+ - @atlaspack/plugin@2.14.26
226
+ - @atlaspack/utils@2.18.3
227
+
228
+ ## 2.14.25
229
+
230
+ ### Patch Changes
231
+
232
+ - Updated dependencies []:
233
+ - @atlaspack/types-internal@2.19.1
234
+ - @atlaspack/utils@2.18.2
235
+ - @atlaspack/plugin@2.14.25
236
+
237
+ ## 2.14.24
238
+
239
+ ### Patch Changes
240
+
241
+ - Updated dependencies [[`7f5841c`](https://github.com/atlassian-labs/atlaspack/commit/7f5841c39df049f9546cccbeea2a7337e0337b45)]:
242
+ - @atlaspack/types-internal@2.19.0
243
+ - @atlaspack/utils@2.18.1
244
+ - @atlaspack/plugin@2.14.24
245
+
246
+ ## 2.14.23
247
+
248
+ ### Patch Changes
249
+
250
+ - Updated dependencies [[`23d561e`](https://github.com/atlassian-labs/atlaspack/commit/23d561e51e68b0c38fd1ff4e4fb173e5e7b01cf2)]:
251
+ - @atlaspack/utils@2.18.0
252
+ - @atlaspack/plugin@2.14.23
253
+
254
+ ## 2.14.22
255
+
256
+ ### Patch Changes
257
+
258
+ - [#720](https://github.com/atlassian-labs/atlaspack/pull/720) [`d2fd849`](https://github.com/atlassian-labs/atlaspack/commit/d2fd849770fe6305e9c694bd97b1bd905abd9d94) Thanks [@alshdavid](https://github.com/alshdavid)! - Migrate to TypeScript
259
+
260
+ - Updated dependencies [[`d2fd849`](https://github.com/atlassian-labs/atlaspack/commit/d2fd849770fe6305e9c694bd97b1bd905abd9d94)]:
261
+ - @atlaspack/diagnostic@2.14.2
262
+ - @atlaspack/plugin@2.14.22
263
+ - @atlaspack/utils@2.17.4
264
+
265
+ ## 2.14.21
266
+
267
+ ### Patch Changes
268
+
269
+ - Updated dependencies []:
270
+ - @atlaspack/utils@2.17.3
271
+ - @atlaspack/plugin@2.14.21
272
+
273
+ ## 2.14.20
274
+
275
+ ### Patch Changes
276
+
277
+ - [#702](https://github.com/atlassian-labs/atlaspack/pull/702) [`daaa768`](https://github.com/atlassian-labs/atlaspack/commit/daaa7688786772d7e3713b71c5bba6b89ec704aa) Thanks [@alshdavid](https://github.com/alshdavid)! - Fixes to Flow types
278
+
279
+ - Updated dependencies [[`daaa768`](https://github.com/atlassian-labs/atlaspack/commit/daaa7688786772d7e3713b71c5bba6b89ec704aa)]:
280
+ - @atlaspack/plugin@2.14.20
281
+ - @atlaspack/utils@2.17.2
282
+
283
+ ## 2.14.19
284
+
285
+ ### Patch Changes
286
+
287
+ - Updated dependencies []:
288
+ - @atlaspack/utils@2.17.1
289
+ - @atlaspack/plugin@2.14.19
290
+
291
+ ## 2.14.18
292
+
293
+ ### Patch Changes
294
+
295
+ - Updated dependencies [[`dbb4072`](https://github.com/atlassian-labs/atlaspack/commit/dbb40721ebeb45990a14ba04e6b44e7f836fb32d), [`de23e0c`](https://github.com/atlassian-labs/atlaspack/commit/de23e0ce49d5504fe3947ac26640a3d951087da3), [`18a57cf`](https://github.com/atlassian-labs/atlaspack/commit/18a57cf8a4789b2de5ad8e2676f317a26cc91417), [`a5ed1b4`](https://github.com/atlassian-labs/atlaspack/commit/a5ed1b414498560f393ff491af4da25b6e8dde56)]:
296
+ - @atlaspack/utils@2.17.0
297
+ - @atlaspack/plugin@2.14.18
298
+
299
+ ## 2.14.17
300
+
301
+ ### Patch Changes
302
+
303
+ - Updated dependencies []:
304
+ - @atlaspack/utils@2.16.1
305
+ - @atlaspack/plugin@2.14.17
306
+
307
+ ## 2.14.16
308
+
309
+ ### Patch Changes
310
+
311
+ - Updated dependencies [[`30ee2cf`](https://github.com/atlassian-labs/atlaspack/commit/30ee2cfcd34cf2646ded0eda13fdb80a2a5de529)]:
312
+ - @atlaspack/utils@2.16.0
313
+ - @atlaspack/plugin@2.14.16
314
+
315
+ ## 2.14.15
316
+
317
+ ### Patch Changes
318
+
319
+ - Updated dependencies []:
320
+ - @atlaspack/utils@2.15.3
321
+ - @atlaspack/plugin@2.14.15
322
+
323
+ ## 2.14.14
324
+
325
+ ### Patch Changes
326
+
327
+ - Updated dependencies []:
328
+ - @atlaspack/utils@2.15.2
329
+ - @atlaspack/plugin@2.14.14
330
+
331
+ ## 2.14.13
332
+
333
+ ### Patch Changes
334
+
335
+ - Updated dependencies []:
336
+ - @atlaspack/utils@2.15.1
337
+ - @atlaspack/plugin@2.14.13
338
+
339
+ ## 2.14.12
340
+
341
+ ### Patch Changes
342
+
343
+ - Updated dependencies [[`e39c6cf`](https://github.com/atlassian-labs/atlaspack/commit/e39c6cf05f7e95ce5420dbcea66f401b1cbd397c)]:
344
+ - @atlaspack/utils@2.15.0
345
+ - @atlaspack/plugin@2.14.12
346
+
347
+ ## 2.14.11
348
+
349
+ ### Patch Changes
350
+
351
+ - Updated dependencies []:
352
+ - @atlaspack/utils@2.14.11
353
+ - @atlaspack/plugin@2.14.11
354
+
355
+ ## 2.14.10
356
+
357
+ ### Patch Changes
358
+
359
+ - Updated dependencies []:
360
+ - @atlaspack/plugin@2.14.10
361
+ - @atlaspack/utils@2.14.10
362
+
363
+ ## 2.14.9
364
+
365
+ ### Patch Changes
366
+
367
+ - Updated dependencies []:
368
+ - @atlaspack/utils@2.14.9
369
+ - @atlaspack/plugin@2.14.9
370
+
3
371
  ## 2.14.8
4
372
 
5
373
  ### Patch Changes
@@ -0,0 +1,330 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.getSpecifier = getSpecifier;
40
+ const lightningcss_1 = __importStar(require("lightningcss"));
41
+ const assert_1 = __importDefault(require("assert"));
42
+ const nullthrows_1 = __importDefault(require("nullthrows"));
43
+ const source_map_1 = __importDefault(require("@atlaspack/source-map"));
44
+ const plugin_1 = require("@atlaspack/plugin");
45
+ const diagnostic_1 = require("@atlaspack/diagnostic");
46
+ const utils_1 = require("@atlaspack/utils");
47
+ exports.default = new plugin_1.Packager({
48
+ async package({ bundle, bundleGraph, getInlineBundleContents, getSourceMapReference, logger, options, }) {
49
+ // Inline style attributes are parsed differently from full CSS files.
50
+ if (bundle.bundleBehavior === 'inline') {
51
+ let entry = bundle.getMainEntry();
52
+ if (entry?.meta.type === 'attr') {
53
+ return replaceReferences(bundle, bundleGraph, await entry.getCode(), await entry.getMap(), getInlineBundleContents);
54
+ }
55
+ }
56
+ let queue = new utils_1.PromiseQueue({
57
+ maxConcurrent: 32,
58
+ });
59
+ // @ts-expect-error TS2304
60
+ let hoistedImports = [];
61
+ let assetsByPlaceholder = new Map();
62
+ // @ts-expect-error TS7034
63
+ let entry = null;
64
+ let entryContents = '';
65
+ bundle.traverse({
66
+ enter: (node, context) => {
67
+ if (node.type === 'asset' && !context) {
68
+ // If there is only one entry, we'll use it directly.
69
+ // Otherwise, we'll create a fake bundle entry with @import rules for each root asset.
70
+ // @ts-expect-error TS7005
71
+ if (entry == null) {
72
+ entry = node.value.id;
73
+ }
74
+ else {
75
+ entry = bundle.id;
76
+ }
77
+ assetsByPlaceholder.set(node.value.id, node.value);
78
+ entryContents += `@import "${node.value.id}";\n`;
79
+ }
80
+ return true;
81
+ },
82
+ exit: (node) => {
83
+ if (node.type === 'dependency') {
84
+ let resolved = bundleGraph.getResolvedAsset(node.value, bundle);
85
+ // Hoist unresolved external dependencies (i.e. http: imports)
86
+ if (node.value.priority === 'sync' &&
87
+ !bundleGraph.isDependencySkipped(node.value) &&
88
+ !resolved) {
89
+ hoistedImports.push(node.value.specifier);
90
+ }
91
+ if (resolved && bundle.hasAsset(resolved)) {
92
+ assetsByPlaceholder.set(node.value.meta.placeholder ?? node.value.specifier, resolved);
93
+ }
94
+ return;
95
+ }
96
+ let asset = node.value;
97
+ queue.add(() => {
98
+ if (!asset.symbols.isCleared &&
99
+ options.mode === 'production' &&
100
+ asset.astGenerator?.type === 'postcss') {
101
+ // a CSS Modules asset
102
+ return processCSSModule(options, logger, bundleGraph, bundle, asset);
103
+ }
104
+ else {
105
+ return Promise.all([
106
+ asset,
107
+ asset.getCode().then((css) => {
108
+ // Replace CSS variable references with resolved symbols.
109
+ if (asset.meta.hasReferences) {
110
+ let replacements = new Map();
111
+ for (let dep of asset.getDependencies()) {
112
+ for (let [exported, { local }] of dep.symbols) {
113
+ let resolved = bundleGraph.getResolvedAsset(dep, bundle);
114
+ if (resolved) {
115
+ let resolution = bundleGraph.getSymbolResolution(resolved, exported, bundle);
116
+ if (resolution.symbol) {
117
+ replacements.set(local, resolution.symbol);
118
+ }
119
+ }
120
+ }
121
+ }
122
+ if (replacements.size > 0) {
123
+ let regex = new RegExp([...replacements.keys()].join('|'), 'g');
124
+ css = css.replace(regex, (m) => escapeDashedIdent(replacements.get(m) || m));
125
+ }
126
+ }
127
+ return css;
128
+ }),
129
+ bundle.env.sourceMap ? asset.getMap() : null,
130
+ ]);
131
+ }
132
+ });
133
+ },
134
+ });
135
+ let outputs = new Map(
136
+ // @ts-expect-error TS2345
137
+ (await queue.run()).map(([asset, code, map]) => [
138
+ asset,
139
+ [code, map],
140
+ ]));
141
+ let map = new source_map_1.default(options.projectRoot);
142
+ // @ts-expect-error TS2339
143
+ if (process.browser) {
144
+ // @ts-expect-error TS2349
145
+ await (0, lightningcss_1.default)();
146
+ }
147
+ let res = await (0, lightningcss_1.bundleAsync)({
148
+ // @ts-expect-error TS2322
149
+ filename: (0, nullthrows_1.default)(entry),
150
+ sourceMap: !!bundle.env.sourceMap,
151
+ resolver: {
152
+ resolve(specifier) {
153
+ return specifier;
154
+ },
155
+ async read(file) {
156
+ if (file === bundle.id) {
157
+ return entryContents;
158
+ }
159
+ let asset = assetsByPlaceholder.get(file);
160
+ if (!asset) {
161
+ return '';
162
+ }
163
+ let [code, map] = (0, nullthrows_1.default)(outputs.get(asset));
164
+ if (map) {
165
+ let sm = await map.stringify({ format: 'inline' });
166
+ (0, assert_1.default)(typeof sm === 'string');
167
+ code += `\n/*# sourceMappingURL=${sm} */`;
168
+ }
169
+ return code;
170
+ },
171
+ },
172
+ });
173
+ let contents = res.code.toString();
174
+ if (res.map) {
175
+ let vlqMap = JSON.parse(res.map.toString());
176
+ map.addVLQMap(vlqMap);
177
+ let reference = await getSourceMapReference(map);
178
+ if (reference != null) {
179
+ contents += '/*# sourceMappingURL=' + reference + ' */\n';
180
+ }
181
+ }
182
+ // Prepend hoisted external imports.
183
+ if (hoistedImports.length > 0) {
184
+ let lineOffset = 0;
185
+ let hoistedCode = '';
186
+ for (let url of hoistedImports) {
187
+ hoistedCode += `@import "${url}";\n`;
188
+ lineOffset++;
189
+ }
190
+ if (bundle.env.sourceMap) {
191
+ map.offsetLines(1, lineOffset);
192
+ }
193
+ contents = hoistedCode + contents;
194
+ }
195
+ return replaceReferences(bundle, bundleGraph, contents, map, getInlineBundleContents);
196
+ },
197
+ });
198
+ function replaceReferences(
199
+ // @ts-expect-error TS2304
200
+ bundle,
201
+ // @ts-expect-error TS2304
202
+ bundleGraph, contents,
203
+ // @ts-expect-error TS2552
204
+ map, getInlineBundleContents) {
205
+ ({ contents, map } = (0, utils_1.replaceURLReferences)({
206
+ bundle,
207
+ bundleGraph,
208
+ contents,
209
+ map,
210
+ getReplacement: escapeString,
211
+ }));
212
+ return (0, utils_1.replaceInlineReferences)({
213
+ bundle,
214
+ bundleGraph,
215
+ contents,
216
+ getInlineBundleContents,
217
+ getInlineReplacement: (dep, inlineType, contents) => ({
218
+ from: getSpecifier(dep),
219
+ to: escapeString(contents),
220
+ }),
221
+ map,
222
+ });
223
+ }
224
+ function getSpecifier(dep) {
225
+ if (typeof dep.meta.placeholder === 'string') {
226
+ return dep.meta.placeholder;
227
+ }
228
+ return dep.id;
229
+ }
230
+ function escapeString(contents) {
231
+ return contents.replace(/(["\\])/g, '\\$1');
232
+ }
233
+ async function processCSSModule(
234
+ // @ts-expect-error TS2552
235
+ options,
236
+ // @ts-expect-error TS2304
237
+ logger,
238
+ // @ts-expect-error TS2304
239
+ bundleGraph,
240
+ // @ts-expect-error TS2304
241
+ bundle, asset) {
242
+ // @ts-expect-error TS2709
243
+ let postcss = await options.packageManager.require('postcss', options.projectRoot + '/index', {
244
+ range: '^8.4.5',
245
+ saveDev: true,
246
+ shouldAutoInstall: options.shouldAutoInstall,
247
+ });
248
+ let ast = postcss.fromJSON((0, nullthrows_1.default)((await asset.getAST())?.program));
249
+ let usedSymbols = bundleGraph.getUsedSymbols(asset);
250
+ if (usedSymbols != null) {
251
+ let localSymbols = new Set([...asset.symbols].map(([, { local }]) => `.${local}`));
252
+ let defaultImport = null;
253
+ if (usedSymbols.has('default')) {
254
+ let incoming = bundleGraph.getIncomingDependencies(asset);
255
+ // @ts-expect-error TS7006
256
+ defaultImport = incoming.find((d) => d.symbols.hasExportSymbol('default'));
257
+ if (defaultImport) {
258
+ let loc = defaultImport.symbols.get('default')?.loc;
259
+ logger.warn({
260
+ message: 'CSS modules cannot be tree shaken when imported with a default specifier',
261
+ ...(loc && {
262
+ codeFrames: [
263
+ {
264
+ filePath: (0, nullthrows_1.default)(loc?.filePath ?? defaultImport.sourcePath),
265
+ codeHighlights: [(0, diagnostic_1.convertSourceLocationToHighlight)(loc)],
266
+ },
267
+ ],
268
+ }),
269
+ hints: [
270
+ `Instead do: import * as style from "${defaultImport.specifier}";`,
271
+ ],
272
+ documentationURL: 'https://parceljs.org/languages/css/#tree-shaking',
273
+ });
274
+ }
275
+ }
276
+ if (!defaultImport && !usedSymbols.has('*')) {
277
+ let usedLocalSymbols = new Set([...usedSymbols].map((exportSymbol) => `.${(0, nullthrows_1.default)(asset.symbols.get(exportSymbol)).local}`));
278
+ ast.walkRules((rule) => {
279
+ if (localSymbols.has(rule.selector) &&
280
+ !usedLocalSymbols.has(rule.selector)) {
281
+ rule.remove();
282
+ }
283
+ });
284
+ }
285
+ }
286
+ let { content, map } = await postcss().process(ast, {
287
+ from: undefined,
288
+ to: options.projectRoot + '/index',
289
+ map: {
290
+ annotation: false,
291
+ inline: false,
292
+ },
293
+ // Pass postcss's own stringifier to it to silence its warning
294
+ // as we don't want to perform any transformations -- only generate
295
+ stringifier: postcss.stringify,
296
+ });
297
+ let sourceMap;
298
+ if (bundle.env.sourceMap && map != null) {
299
+ sourceMap = new source_map_1.default(options.projectRoot);
300
+ sourceMap.addVLQMap(map.toJSON());
301
+ }
302
+ return [asset, content, sourceMap];
303
+ }
304
+ function escapeDashedIdent(name) {
305
+ // https://drafts.csswg.org/cssom/#serialize-an-identifier
306
+ let res = '';
307
+ // @ts-expect-error TS2488
308
+ for (let c of name) {
309
+ let code = c.codePointAt(0);
310
+ if (code === 0) {
311
+ res += '\ufffd';
312
+ }
313
+ else if ((code >= 0x1 && code <= 0x1f) || code === 0x7f) {
314
+ res += '\\' + code.toString(16) + ' ';
315
+ }
316
+ else if ((code >= 48 /* '0' */ && code <= 57) /* '9' */ ||
317
+ (code >= 65 /* 'A' */ && code <= 90) /* 'Z' */ ||
318
+ (code >= 97 /* 'a' */ && code <= 122) /* 'z' */ ||
319
+ code === 95 /* '_' */ ||
320
+ code === 45 /* '-' */ ||
321
+ code & 128 // non-ascii
322
+ ) {
323
+ res += c;
324
+ }
325
+ else {
326
+ res += '\\' + c;
327
+ }
328
+ }
329
+ return res;
330
+ }