@atlaspack/transformer-css 2.14.5-canary.22 → 2.14.5-canary.220

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.
@@ -60,6 +60,13 @@ function _diagnostic() {
60
60
  };
61
61
  return data;
62
62
  }
63
+ function _featureFlags() {
64
+ const data = require("@atlaspack/feature-flags");
65
+ _featureFlags = function () {
66
+ return data;
67
+ };
68
+ return data;
69
+ }
63
70
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
64
71
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
65
72
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -78,15 +85,27 @@ var _default = exports.default = new (_plugin().Transformer)({
78
85
  packageKey: '@atlaspack/transformer-css'
79
86
  });
80
87
  let contents = conf === null || conf === void 0 ? void 0 : conf.contents;
88
+ // @ts-expect-error TS2339
81
89
  if (typeof (contents === null || contents === void 0 || (_contents$cssModules = contents.cssModules) === null || _contents$cssModules === void 0 ? void 0 : _contents$cssModules.include) === 'string') {
90
+ // @ts-expect-error TS2339
82
91
  contents.cssModules.include = [(0, _utils().globToRegex)(contents.cssModules.include)];
92
+ // @ts-expect-error TS2339
83
93
  } else if (Array.isArray(contents === null || contents === void 0 || (_contents$cssModules2 = contents.cssModules) === null || _contents$cssModules2 === void 0 ? void 0 : _contents$cssModules2.include)) {
84
- contents.cssModules.include = contents.cssModules.include.map(include => typeof include === 'string' ? (0, _utils().globToRegex)(include) : include);
94
+ // @ts-expect-error TS2339
95
+ contents.cssModules.include = contents.cssModules.include.map(
96
+ // @ts-expect-error TS7006
97
+ include => typeof include === 'string' ? (0, _utils().globToRegex)(include) : include);
85
98
  }
99
+ // @ts-expect-error TS2339
86
100
  if (typeof (contents === null || contents === void 0 || (_contents$cssModules3 = contents.cssModules) === null || _contents$cssModules3 === void 0 ? void 0 : _contents$cssModules3.exclude) === 'string') {
101
+ // @ts-expect-error TS2339
87
102
  contents.cssModules.exclude = [(0, _utils().globToRegex)(contents.cssModules.exclude)];
103
+ // @ts-expect-error TS2339
88
104
  } else if (Array.isArray(contents === null || contents === void 0 || (_contents$cssModules4 = contents.cssModules) === null || _contents$cssModules4 === void 0 ? void 0 : _contents$cssModules4.exclude)) {
89
- contents.cssModules.exclude = contents.cssModules.exclude.map(exclude => typeof exclude === 'string' ? (0, _utils().globToRegex)(exclude) : exclude);
105
+ // @ts-expect-error TS2339
106
+ contents.cssModules.exclude = contents.cssModules.exclude.map(
107
+ // @ts-expect-error TS7006
108
+ exclude => typeof exclude === 'string' ? (0, _utils().globToRegex)(exclude) : exclude);
90
109
  }
91
110
  return contents;
92
111
  },
@@ -106,10 +125,11 @@ var _default = exports.default = new (_plugin().Transformer)({
106
125
  },
107
126
  shouldOptimize: asset.env.shouldOptimize,
108
127
  shouldScopeHoist: asset.env.shouldScopeHoist,
109
- sourceMap: asset.env.sourceMap
128
+ sourceMap: asset.env.sourceMap,
129
+ unstableSingleFileOutput: (0, _featureFlags().getFeatureFlag)('preserveUnstableSingleFileOutputInCss') ? asset.env.unstableSingleFileOutput : undefined
110
130
  });
111
131
  let [code, originalMap] = await Promise.all([asset.getBuffer(), asset.getMap(),
112
- // $FlowFixMe native.default is the init function only when bundled for the browser build
132
+ // @ts-expect-error TS2339
113
133
  process.browser && native().default()]);
114
134
  let targets = getTargets(asset.env.engines.browsers);
115
135
  let res;
@@ -118,12 +138,14 @@ var _default = exports.default = new (_plugin().Transformer)({
118
138
  res = transformStyleAttribute({
119
139
  code,
120
140
  analyzeDependencies: true,
141
+ // @ts-expect-error TS2339
121
142
  errorRecovery: (config === null || config === void 0 ? void 0 : config.errorRecovery) || false,
122
143
  targets
123
144
  });
124
145
  } else {
125
146
  let cssModules = false;
126
147
  if (asset.meta.type !== 'tag' && asset.meta.cssModulesCompiled == null) {
148
+ // @ts-expect-error TS2339
127
149
  let cssModulesConfig = config === null || config === void 0 ? void 0 : config.cssModules;
128
150
  let isCSSModule = /\.module\./.test(asset.filePath);
129
151
  if (asset.isSource) {
@@ -132,6 +154,7 @@ var _default = exports.default = new (_plugin().Transformer)({
132
154
  if (typeof cssModulesConfig === 'boolean') {
133
155
  isCSSModule = true;
134
156
  } else if (cssModulesConfig !== null && cssModulesConfig !== void 0 && cssModulesConfig.include) {
157
+ // @ts-expect-error TS7006
135
158
  isCSSModule = cssModulesConfig.include.some(include => include.test(projectRootPath));
136
159
  } else if (cssModulesConfig !== null && cssModulesConfig !== void 0 && cssModulesConfig.global) {
137
160
  isCSSModule = true;
@@ -155,8 +178,11 @@ var _default = exports.default = new (_plugin().Transformer)({
155
178
  preserveImports: true
156
179
  } : false,
157
180
  sourceMap: !!asset.env.sourceMap,
181
+ // @ts-expect-error TS2339
158
182
  drafts: config === null || config === void 0 ? void 0 : config.drafts,
183
+ // @ts-expect-error TS2339
159
184
  pseudoClasses: config === null || config === void 0 ? void 0 : config.pseudoClasses,
185
+ // @ts-expect-error TS2339
160
186
  errorRecovery: (config === null || config === void 0 ? void 0 : config.errorRecovery) || false,
161
187
  targets
162
188
  });
@@ -196,7 +222,10 @@ var _default = exports.default = new (_plugin().Transformer)({
196
222
  });
197
223
  }
198
224
  }
225
+
226
+ // @ts-expect-error TS2339
199
227
  if (res.map != null) {
228
+ // @ts-expect-error TS2339
200
229
  let vlqMap = JSON.parse(Buffer.from(res.map).toString());
201
230
  let map = new (_sourceMap().default)(options.projectRoot);
202
231
  map.addVLQMap(vlqMap);
@@ -209,8 +238,10 @@ var _default = exports.default = new (_plugin().Transformer)({
209
238
  for (let dep of res.dependencies) {
210
239
  let loc = convertLoc(dep.loc);
211
240
  if (originalMap) {
212
- loc = (0, _utils().remapSourceLocation)(loc, originalMap);
241
+ loc = (0, _utils().remapSourceLocation)(loc, originalMap, options.projectRoot);
213
242
  }
243
+
244
+ // @ts-expect-error TS2339
214
245
  if (dep.type === 'import' && !res.exports) {
215
246
  asset.addDependency({
216
247
  specifier: dep.url,
@@ -236,7 +267,10 @@ var _default = exports.default = new (_plugin().Transformer)({
236
267
  }
237
268
  let assets = [asset];
238
269
  let buffer = Buffer.from(res.code);
270
+
271
+ // @ts-expect-error TS2339
239
272
  if (res.exports != null) {
273
+ // @ts-expect-error TS2339
240
274
  let exports = res.exports;
241
275
  asset.symbols.ensure();
242
276
  asset.symbols.set('default', 'default');
@@ -246,6 +280,7 @@ var _default = exports.default = new (_plugin().Transformer)({
246
280
  let depjs = '';
247
281
  let js = '';
248
282
  let cssImports = '';
283
+ let jsDeps = [];
249
284
  for (let key in exports) {
250
285
  locals.set(exports[key].name, key);
251
286
  }
@@ -327,7 +362,10 @@ var _default = exports.default = new (_plugin().Transformer)({
327
362
  }
328
363
  }
329
364
  }
365
+
366
+ // @ts-expect-error TS2339
330
367
  if (res.references != null) {
368
+ // @ts-expect-error TS2339
331
369
  let references = res.references;
332
370
  for (let symbol in references) {
333
371
  let reference = references[symbol];
@@ -347,8 +385,9 @@ var _default = exports.default = new (_plugin().Transformer)({
347
385
  }
348
386
  assets.push({
349
387
  type: 'js',
388
+ // @ts-expect-error TS2353
350
389
  content: depjs + js,
351
- dependencies: [],
390
+ dependencies: jsDeps,
352
391
  env
353
392
  });
354
393
 
@@ -0,0 +1,3 @@
1
+ import { Transformer } from '@atlaspack/plugin';
2
+ declare const _default: Transformer<unknown>;
3
+ export default _default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaspack/transformer-css",
3
- "version": "2.14.5-canary.22+15c1e3c06",
3
+ "version": "2.14.5-canary.220+4fe721130",
4
4
  "license": "(MIT OR Apache-2.0)",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -9,15 +9,18 @@
9
9
  "type": "git",
10
10
  "url": "https://github.com/atlassian-labs/atlaspack.git"
11
11
  },
12
- "main": "lib/CSSTransformer.js",
13
- "source": "src/CSSTransformer.js",
12
+ "main": "./lib/CSSTransformer.js",
13
+ "source": "./src/CSSTransformer.ts",
14
+ "types": "./lib/types/CSSTransformer.d.ts",
14
15
  "engines": {
15
16
  "node": ">= 16.0.0"
16
17
  },
17
18
  "dependencies": {
18
- "@atlaspack/diagnostic": "2.14.1-canary.90+15c1e3c06",
19
- "@atlaspack/plugin": "2.14.5-canary.22+15c1e3c06",
20
- "@atlaspack/utils": "2.14.5-canary.22+15c1e3c06",
19
+ "@atlaspack/diagnostic": "2.14.1-canary.288+4fe721130",
20
+ "@atlaspack/feature-flags": "2.14.1-canary.288+4fe721130",
21
+ "@atlaspack/plugin": "2.14.5-canary.220+4fe721130",
22
+ "@atlaspack/types": "2.14.5-canary.220+4fe721130",
23
+ "@atlaspack/utils": "2.14.5-canary.220+4fe721130",
21
24
  "@parcel/source-map": "^2.1.1",
22
25
  "browserslist": "^4.6.6",
23
26
  "lightningcss": "^1.28.2",
@@ -30,5 +33,8 @@
30
33
  "lightningcss": "lightningcss-wasm"
31
34
  },
32
35
  "type": "commonjs",
33
- "gitHead": "15c1e3c0628bae4c768d76cf3afc53d6d0d7ce7c"
34
- }
36
+ "scripts": {
37
+ "build:lib": "gulp build --gulpfile ../../../gulpfile.js --cwd ."
38
+ },
39
+ "gitHead": "4fe7211301085c3e118d69a192e190e5ac343b42"
40
+ }
@@ -1,5 +1,3 @@
1
- // @flow strict-local
2
-
3
1
  import type {SourceLocation} from '@atlaspack/types';
4
2
 
5
3
  import path from 'path';
@@ -11,32 +9,45 @@ import {
11
9
  globToRegex,
12
10
  normalizeSeparators,
13
11
  } from '@atlaspack/utils';
14
- import {type SourceLocation as LightningSourceLocation} from 'lightningcss';
12
+ import {SourceLocation as LightningSourceLocation} from 'lightningcss';
15
13
  import * as native from 'lightningcss';
16
14
  import browserslist from 'browserslist';
17
15
  import nullthrows from 'nullthrows';
18
16
  import ThrowableDiagnostic, {errorToDiagnostic} from '@atlaspack/diagnostic';
17
+ import {getFeatureFlag} from '@atlaspack/feature-flags';
19
18
 
20
19
  const {transform, transformStyleAttribute, browserslistToTargets} = native;
21
20
 
22
- export default (new Transformer({
21
+ export default new Transformer({
23
22
  async loadConfig({config, options}) {
24
23
  let conf = await config.getConfigFrom(options.projectRoot + '/index', [], {
25
24
  packageKey: '@atlaspack/transformer-css',
26
25
  });
27
26
  let contents = conf?.contents;
27
+ // @ts-expect-error TS2339
28
28
  if (typeof contents?.cssModules?.include === 'string') {
29
+ // @ts-expect-error TS2339
29
30
  contents.cssModules.include = [globToRegex(contents.cssModules.include)];
31
+ // @ts-expect-error TS2339
30
32
  } else if (Array.isArray(contents?.cssModules?.include)) {
31
- contents.cssModules.include = contents.cssModules.include.map((include) =>
32
- typeof include === 'string' ? globToRegex(include) : include,
33
+ // @ts-expect-error TS2339
34
+ contents.cssModules.include = contents.cssModules.include.map(
35
+ // @ts-expect-error TS7006
36
+ (include) =>
37
+ typeof include === 'string' ? globToRegex(include) : include,
33
38
  );
34
39
  }
40
+ // @ts-expect-error TS2339
35
41
  if (typeof contents?.cssModules?.exclude === 'string') {
42
+ // @ts-expect-error TS2339
36
43
  contents.cssModules.exclude = [globToRegex(contents.cssModules.exclude)];
44
+ // @ts-expect-error TS2339
37
45
  } else if (Array.isArray(contents?.cssModules?.exclude)) {
38
- contents.cssModules.exclude = contents.cssModules.exclude.map((exclude) =>
39
- typeof exclude === 'string' ? globToRegex(exclude) : exclude,
46
+ // @ts-expect-error TS2339
47
+ contents.cssModules.exclude = contents.cssModules.exclude.map(
48
+ // @ts-expect-error TS7006
49
+ (exclude) =>
50
+ typeof exclude === 'string' ? globToRegex(exclude) : exclude,
40
51
  );
41
52
  }
42
53
  return contents;
@@ -53,12 +64,17 @@ export default (new Transformer({
53
64
  shouldOptimize: asset.env.shouldOptimize,
54
65
  shouldScopeHoist: asset.env.shouldScopeHoist,
55
66
  sourceMap: asset.env.sourceMap,
67
+ unstableSingleFileOutput: getFeatureFlag(
68
+ 'preserveUnstableSingleFileOutputInCss',
69
+ )
70
+ ? asset.env.unstableSingleFileOutput
71
+ : undefined,
56
72
  });
57
73
 
58
74
  let [code, originalMap] = await Promise.all([
59
75
  asset.getBuffer(),
60
76
  asset.getMap(),
61
- // $FlowFixMe native.default is the init function only when bundled for the browser build
77
+ // @ts-expect-error TS2339
62
78
  process.browser && native.default(),
63
79
  ]);
64
80
 
@@ -69,6 +85,7 @@ export default (new Transformer({
69
85
  res = transformStyleAttribute({
70
86
  code,
71
87
  analyzeDependencies: true,
88
+ // @ts-expect-error TS2339
72
89
  errorRecovery: config?.errorRecovery || false,
73
90
  targets,
74
91
  });
@@ -78,6 +95,7 @@ export default (new Transformer({
78
95
  asset.meta.type !== 'tag' &&
79
96
  asset.meta.cssModulesCompiled == null
80
97
  ) {
98
+ // @ts-expect-error TS2339
81
99
  let cssModulesConfig = config?.cssModules;
82
100
  let isCSSModule = /\.module\./.test(asset.filePath);
83
101
  if (asset.isSource) {
@@ -88,6 +106,7 @@ export default (new Transformer({
88
106
  if (typeof cssModulesConfig === 'boolean') {
89
107
  isCSSModule = true;
90
108
  } else if (cssModulesConfig?.include) {
109
+ // @ts-expect-error TS7006
91
110
  isCSSModule = cssModulesConfig.include.some((include) =>
92
111
  include.test(projectRootPath),
93
112
  );
@@ -96,7 +115,7 @@ export default (new Transformer({
96
115
  }
97
116
 
98
117
  if (
99
- cssModulesConfig?.exclude?.some((exclude) =>
118
+ cssModulesConfig?.exclude?.some((exclude: any) =>
100
119
  exclude.test(projectRootPath),
101
120
  )
102
121
  ) {
@@ -126,13 +145,16 @@ export default (new Transformer({
126
145
  }
127
146
  : false,
128
147
  sourceMap: !!asset.env.sourceMap,
148
+ // @ts-expect-error TS2339
129
149
  drafts: config?.drafts,
150
+ // @ts-expect-error TS2339
130
151
  pseudoClasses: config?.pseudoClasses,
152
+ // @ts-expect-error TS2339
131
153
  errorRecovery: config?.errorRecovery || false,
132
154
  targets,
133
155
  });
134
156
  }
135
- } catch (err) {
157
+ } catch (err: any) {
136
158
  err.filePath = asset.filePath;
137
159
  let diagnostic = errorToDiagnostic(err, {
138
160
  origin: '@atlaspack/transformer-css',
@@ -180,7 +202,9 @@ export default (new Transformer({
180
202
  }
181
203
  }
182
204
 
205
+ // @ts-expect-error TS2339
183
206
  if (res.map != null) {
207
+ // @ts-expect-error TS2339
184
208
  let vlqMap = JSON.parse(Buffer.from(res.map).toString());
185
209
  let map = new SourceMap(options.projectRoot);
186
210
  map.addVLQMap(vlqMap);
@@ -196,9 +220,10 @@ export default (new Transformer({
196
220
  for (let dep of res.dependencies) {
197
221
  let loc = convertLoc(dep.loc);
198
222
  if (originalMap) {
199
- loc = remapSourceLocation(loc, originalMap);
223
+ loc = remapSourceLocation(loc, originalMap, options.projectRoot);
200
224
  }
201
225
 
226
+ // @ts-expect-error TS2339
202
227
  if (dep.type === 'import' && !res.exports) {
203
228
  asset.addDependency({
204
229
  specifier: dep.url,
@@ -226,7 +251,9 @@ export default (new Transformer({
226
251
  let assets = [asset];
227
252
  let buffer = Buffer.from(res.code);
228
253
 
254
+ // @ts-expect-error TS2339
229
255
  if (res.exports != null) {
256
+ // @ts-expect-error TS2339
230
257
  let exports = res.exports;
231
258
  asset.symbols.ensure();
232
259
  asset.symbols.set('default', 'default');
@@ -238,7 +265,7 @@ export default (new Transformer({
238
265
  let js = '';
239
266
  let cssImports = '';
240
267
 
241
- let jsDeps = [];
268
+ let jsDeps: Array<never> = [];
242
269
 
243
270
  for (let key in exports) {
244
271
  locals.set(exports[key].name, key);
@@ -247,7 +274,7 @@ export default (new Transformer({
247
274
  asset.uniqueKey ??= asset.id;
248
275
 
249
276
  let seen = new Set();
250
- let add = (key) => {
277
+ let add = (key: string) => {
251
278
  if (seen.has(key)) {
252
279
  return;
253
280
  }
@@ -299,6 +326,7 @@ export default (new Transformer({
299
326
  asset.addDependency({
300
327
  specifier: nullthrows(asset.uniqueKey),
301
328
  specifierType: 'esm',
329
+
302
330
  symbols: new Map([
303
331
  [key, {local: exports[key].name, isWeak: false, loc: null}],
304
332
  ]),
@@ -322,12 +350,15 @@ export default (new Transformer({
322
350
  let d = `dep_$${c++}`;
323
351
  depjs += `import * as ${d} from ${JSON.stringify(dep.url)};\n`;
324
352
  js += `for (let key in ${d}) { if (key in module.exports) module.exports[key] += ' ' + ${d}[key]; else module.exports[key] = ${d}[key]; }\n`;
353
+
325
354
  asset.symbols.set('*', '*');
326
355
  }
327
356
  }
328
357
  }
329
358
 
359
+ // @ts-expect-error TS2339
330
360
  if (res.references != null) {
361
+ // @ts-expect-error TS2339
331
362
  let references = res.references;
332
363
  for (let symbol in references) {
333
364
  let reference = references[symbol];
@@ -347,6 +378,7 @@ export default (new Transformer({
347
378
 
348
379
  assets.push({
349
380
  type: 'js',
381
+ // @ts-expect-error TS2353
350
382
  content: depjs + js,
351
383
  dependencies: jsDeps,
352
384
  env,
@@ -361,11 +393,11 @@ export default (new Transformer({
361
393
  asset.setBuffer(buffer);
362
394
  return assets;
363
395
  },
364
- }): Transformer);
396
+ }) as Transformer<unknown>;
365
397
 
366
398
  let cache = new Map();
367
399
 
368
- function getTargets(browsers) {
400
+ function getTargets(browsers: undefined | string | Array<string>) {
369
401
  if (browsers == null) {
370
402
  return undefined;
371
403
  }
package/tsconfig.json ADDED
@@ -0,0 +1,24 @@
1
+ {
2
+ "extends": "../../../tsconfig.base.json",
3
+ "include": ["src"],
4
+ "compilerOptions": {
5
+ "composite": true
6
+ },
7
+ "references": [
8
+ {
9
+ "path": "../../core/diagnostic/tsconfig.json"
10
+ },
11
+ {
12
+ "path": "../../core/feature-flags/tsconfig.json"
13
+ },
14
+ {
15
+ "path": "../../core/plugin/tsconfig.json"
16
+ },
17
+ {
18
+ "path": "../../core/types/tsconfig.json"
19
+ },
20
+ {
21
+ "path": "../../core/utils/tsconfig.json"
22
+ }
23
+ ]
24
+ }