@atlaspack/transformer-js 3.2.7 → 3.3.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.
@@ -160,25 +160,25 @@ var _default = exports.default = new (_plugin().Transformer)({
160
160
  config,
161
161
  options
162
162
  }) {
163
- let pkg = await config.getPackage();
163
+ let packageJson = await config.getPackage();
164
164
  let isJSX, pragma, pragmaFrag, jsxImportSource, automaticJSXRuntime, reactRefresh, decorators, useDefineForClassFields;
165
165
  if (config.isSource) {
166
- var _pkg$dependencies2, _pkg$devDependencies2, _pkg$peerDependencies2, _await$config$getConf, _await$config$getConf2;
166
+ var _packageJson$dependen2, _packageJson$devDepen2, _packageJson$peerDepe2, _await$config$getConf;
167
167
  let reactLib;
168
- if (pkg !== null && pkg !== void 0 && pkg.alias && pkg.alias['react']) {
168
+ if (packageJson !== null && packageJson !== void 0 && packageJson.alias && packageJson.alias['react']) {
169
169
  // e.g.: `{ alias: { "react": "preact/compat" } }`
170
170
  reactLib = 'react';
171
171
  } else {
172
172
  // Find a dependency that we can map to a JSX pragma
173
173
  reactLib = Object.keys(JSX_PRAGMA).find(libName => {
174
- var _pkg$dependencies, _pkg$devDependencies, _pkg$peerDependencies;
175
- return (pkg === null || pkg === void 0 || (_pkg$dependencies = pkg.dependencies) === null || _pkg$dependencies === void 0 ? void 0 : _pkg$dependencies[libName]) || (pkg === null || pkg === void 0 || (_pkg$devDependencies = pkg.devDependencies) === null || _pkg$devDependencies === void 0 ? void 0 : _pkg$devDependencies[libName]) || (pkg === null || pkg === void 0 || (_pkg$peerDependencies = pkg.peerDependencies) === null || _pkg$peerDependencies === void 0 ? void 0 : _pkg$peerDependencies[libName]);
174
+ var _packageJson$dependen, _packageJson$devDepen, _packageJson$peerDepe;
175
+ return (packageJson === null || packageJson === void 0 || (_packageJson$dependen = packageJson.dependencies) === null || _packageJson$dependen === void 0 ? void 0 : _packageJson$dependen[libName]) || (packageJson === null || packageJson === void 0 || (_packageJson$devDepen = packageJson.devDependencies) === null || _packageJson$devDepen === void 0 ? void 0 : _packageJson$devDepen[libName]) || (packageJson === null || packageJson === void 0 || (_packageJson$peerDepe = packageJson.peerDependencies) === null || _packageJson$peerDepe === void 0 ? void 0 : _packageJson$peerDepe[libName]);
176
176
  });
177
177
  }
178
- reactRefresh = options.hmrOptions && options.mode === 'development' && Boolean((pkg === null || pkg === void 0 || (_pkg$dependencies2 = pkg.dependencies) === null || _pkg$dependencies2 === void 0 ? void 0 : _pkg$dependencies2.react) || (pkg === null || pkg === void 0 || (_pkg$devDependencies2 = pkg.devDependencies) === null || _pkg$devDependencies2 === void 0 ? void 0 : _pkg$devDependencies2.react) || (pkg === null || pkg === void 0 || (_pkg$peerDependencies2 = pkg.peerDependencies) === null || _pkg$peerDependencies2 === void 0 ? void 0 : _pkg$peerDependencies2.react));
179
- const compilerOptions = (0, _featureFlags().getFeatureFlag)('granularTsConfigInvalidation') ? (_await$config$getConf = await config.getConfigFrom(options.projectRoot + '/index', ['tsconfig.json', 'jsconfig.json'], {
180
- configKey: 'compilerOptions'
181
- })) === null || _await$config$getConf === void 0 ? void 0 : _await$config$getConf.contents : (_await$config$getConf2 = await config.getConfigFrom(options.projectRoot + '/index', ['tsconfig.json', 'jsconfig.json'])) === null || _await$config$getConf2 === void 0 || (_await$config$getConf2 = _await$config$getConf2.contents) === null || _await$config$getConf2 === void 0 ? void 0 : _await$config$getConf2.compilerOptions;
178
+ reactRefresh = options.hmrOptions && options.mode === 'development' && Boolean((packageJson === null || packageJson === void 0 || (_packageJson$dependen2 = packageJson.dependencies) === null || _packageJson$dependen2 === void 0 ? void 0 : _packageJson$dependen2.react) || (packageJson === null || packageJson === void 0 || (_packageJson$devDepen2 = packageJson.devDependencies) === null || _packageJson$devDepen2 === void 0 ? void 0 : _packageJson$devDepen2.react) || (packageJson === null || packageJson === void 0 || (_packageJson$peerDepe2 = packageJson.peerDependencies) === null || _packageJson$peerDepe2 === void 0 ? void 0 : _packageJson$peerDepe2.react));
179
+ const compilerOptions = (_await$config$getConf = await config.getConfigFrom(options.projectRoot + '/index', ['tsconfig.json', 'jsconfig.json'], {
180
+ readTracking: (0, _featureFlags().getFeatureFlag)('granularTsConfigInvalidation')
181
+ })) === null || _await$config$getConf === void 0 || (_await$config$getConf = _await$config$getConf.contents) === null || _await$config$getConf === void 0 ? void 0 : _await$config$getConf.compilerOptions;
182
182
 
183
183
  // Use explicitly defined JSX options in tsconfig.json over inferred values from dependencies.
184
184
  pragma = (compilerOptions === null || compilerOptions === void 0 ? void 0 : compilerOptions.jsxFactory) || (reactLib ? JSX_PRAGMA[reactLib].pragma : undefined);
@@ -187,10 +187,10 @@ var _default = exports.default = new (_plugin().Transformer)({
187
187
  jsxImportSource = compilerOptions === null || compilerOptions === void 0 ? void 0 : compilerOptions.jsxImportSource;
188
188
  automaticJSXRuntime = true;
189
189
  } else if (reactLib) {
190
- var _JSX_PRAGMA$effective, _pkg$dependencies3, _pkg$devDependencies3, _pkg$peerDependencies3, _semver$minVersion;
191
- let effectiveReactLib = pkg !== null && pkg !== void 0 && pkg.alias && pkg.alias['react'] === 'preact/compat' ? 'preact' : reactLib;
190
+ var _JSX_PRAGMA$effective, _packageJson$dependen3, _packageJson$devDepen3, _packageJson$peerDepe3, _semver$minVersion;
191
+ let effectiveReactLib = packageJson !== null && packageJson !== void 0 && packageJson.alias && packageJson.alias['react'] === 'preact/compat' ? 'preact' : reactLib;
192
192
  let automaticVersion = (_JSX_PRAGMA$effective = JSX_PRAGMA[effectiveReactLib]) === null || _JSX_PRAGMA$effective === void 0 ? void 0 : _JSX_PRAGMA$effective.automatic;
193
- let reactLibVersion = (pkg === null || pkg === void 0 || (_pkg$dependencies3 = pkg.dependencies) === null || _pkg$dependencies3 === void 0 ? void 0 : _pkg$dependencies3[effectiveReactLib]) || (pkg === null || pkg === void 0 || (_pkg$devDependencies3 = pkg.devDependencies) === null || _pkg$devDependencies3 === void 0 ? void 0 : _pkg$devDependencies3[effectiveReactLib]) || (pkg === null || pkg === void 0 || (_pkg$peerDependencies3 = pkg.peerDependencies) === null || _pkg$peerDependencies3 === void 0 ? void 0 : _pkg$peerDependencies3[effectiveReactLib]);
193
+ let reactLibVersion = (packageJson === null || packageJson === void 0 || (_packageJson$dependen3 = packageJson.dependencies) === null || _packageJson$dependen3 === void 0 ? void 0 : _packageJson$dependen3[effectiveReactLib]) || (packageJson === null || packageJson === void 0 || (_packageJson$devDepen3 = packageJson.devDependencies) === null || _packageJson$devDepen3 === void 0 ? void 0 : _packageJson$devDepen3[effectiveReactLib]) || (packageJson === null || packageJson === void 0 || (_packageJson$peerDepe3 = packageJson.peerDependencies) === null || _packageJson$peerDepe3 === void 0 ? void 0 : _packageJson$peerDepe3[effectiveReactLib]);
194
194
  reactLibVersion = reactLibVersion ? _semver().default.validRange(reactLibVersion) : null;
195
195
  let minReactLibVersion = reactLibVersion !== null && reactLibVersion !== '*' ? (_semver$minVersion = _semver().default.minVersion(reactLibVersion)) === null || _semver$minVersion === void 0 ? void 0 : _semver$minVersion.toString() : null;
196
196
  automaticJSXRuntime = automaticVersion && !(compilerOptions !== null && compilerOptions !== void 0 && compilerOptions.jsxFactory) && minReactLibVersion != null && _semver().default.satisfies(minReactLibVersion, automaticVersion, {
@@ -216,7 +216,7 @@ var _default = exports.default = new (_plugin().Transformer)({
216
216
 
217
217
  // Check if we should ignore fs calls
218
218
  // See https://github.com/defunctzombie/node-browser-resolve#skip
219
- let ignoreFS = pkg && pkg.browser && typeof pkg.browser === 'object' && pkg.browser.fs === false;
219
+ let ignoreFS = packageJson && packageJson.browser && typeof packageJson.browser === 'object' && packageJson.browser.fs === false;
220
220
  let conf = await config.getConfigFrom(options.projectRoot + '/index', [], {
221
221
  packageKey: '@atlaspack/transformer-js'
222
222
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaspack/transformer-js",
3
- "version": "3.2.7",
3
+ "version": "3.3.0",
4
4
  "license": "(MIT OR Apache-2.0)",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -24,11 +24,11 @@
24
24
  "dependencies": {
25
25
  "@atlaspack/diagnostic": "2.14.1",
26
26
  "@atlaspack/feature-flags": "2.16.0",
27
- "@atlaspack/plugin": "2.14.9",
28
- "@atlaspack/rust": "3.3.4",
27
+ "@atlaspack/plugin": "2.14.10",
28
+ "@atlaspack/rust": "3.3.5",
29
29
  "@parcel/source-map": "^2.1.1",
30
- "@atlaspack/utils": "2.14.9",
31
- "@atlaspack/workers": "2.14.9",
30
+ "@atlaspack/utils": "2.14.10",
31
+ "@atlaspack/workers": "2.14.10",
32
32
  "@swc/helpers": "^0.5.15",
33
33
  "browserslist": "^4.6.6",
34
34
  "nullthrows": "^1.1.1",
@@ -173,7 +173,7 @@ type MacroContext = {|
173
173
 
174
174
  export default (new Transformer({
175
175
  async loadConfig({config, options}) {
176
- let pkg = await config.getPackage();
176
+ let packageJson = await config.getPackage();
177
177
  let isJSX,
178
178
  pragma,
179
179
  pragmaFrag,
@@ -184,16 +184,16 @@ export default (new Transformer({
184
184
  useDefineForClassFields;
185
185
  if (config.isSource) {
186
186
  let reactLib;
187
- if (pkg?.alias && pkg.alias['react']) {
187
+ if (packageJson?.alias && packageJson.alias['react']) {
188
188
  // e.g.: `{ alias: { "react": "preact/compat" } }`
189
189
  reactLib = 'react';
190
190
  } else {
191
191
  // Find a dependency that we can map to a JSX pragma
192
192
  reactLib = Object.keys(JSX_PRAGMA).find(
193
193
  (libName) =>
194
- pkg?.dependencies?.[libName] ||
195
- pkg?.devDependencies?.[libName] ||
196
- pkg?.peerDependencies?.[libName],
194
+ packageJson?.dependencies?.[libName] ||
195
+ packageJson?.devDependencies?.[libName] ||
196
+ packageJson?.peerDependencies?.[libName],
197
197
  );
198
198
  }
199
199
 
@@ -201,27 +201,20 @@ export default (new Transformer({
201
201
  options.hmrOptions &&
202
202
  options.mode === 'development' &&
203
203
  Boolean(
204
- pkg?.dependencies?.react ||
205
- pkg?.devDependencies?.react ||
206
- pkg?.peerDependencies?.react,
204
+ packageJson?.dependencies?.react ||
205
+ packageJson?.devDependencies?.react ||
206
+ packageJson?.peerDependencies?.react,
207
207
  );
208
208
 
209
- const compilerOptions: TSConfig['compilerOptions'] = getFeatureFlag(
210
- 'granularTsConfigInvalidation',
211
- )
212
- ? (
213
- await config.getConfigFrom<TSConfig['compilerOptions']>(
214
- options.projectRoot + '/index',
215
- ['tsconfig.json', 'jsconfig.json'],
216
- {configKey: 'compilerOptions'},
217
- )
218
- )?.contents
219
- : (
220
- await config.getConfigFrom<TSConfig>(
221
- options.projectRoot + '/index',
222
- ['tsconfig.json', 'jsconfig.json'],
223
- )
224
- )?.contents?.compilerOptions;
209
+ const compilerOptions: TSConfig['compilerOptions'] = (
210
+ await config.getConfigFrom<TSConfig>(
211
+ options.projectRoot + '/index',
212
+ ['tsconfig.json', 'jsconfig.json'],
213
+ {
214
+ readTracking: getFeatureFlag('granularTsConfigInvalidation'),
215
+ },
216
+ )
217
+ )?.contents?.compilerOptions;
225
218
 
226
219
  // Use explicitly defined JSX options in tsconfig.json over inferred values from dependencies.
227
220
  pragma =
@@ -240,14 +233,14 @@ export default (new Transformer({
240
233
  automaticJSXRuntime = true;
241
234
  } else if (reactLib) {
242
235
  let effectiveReactLib =
243
- pkg?.alias && pkg.alias['react'] === 'preact/compat'
236
+ packageJson?.alias && packageJson.alias['react'] === 'preact/compat'
244
237
  ? 'preact'
245
238
  : reactLib;
246
239
  let automaticVersion = JSX_PRAGMA[effectiveReactLib]?.automatic;
247
240
  let reactLibVersion =
248
- pkg?.dependencies?.[effectiveReactLib] ||
249
- pkg?.devDependencies?.[effectiveReactLib] ||
250
- pkg?.peerDependencies?.[effectiveReactLib];
241
+ packageJson?.dependencies?.[effectiveReactLib] ||
242
+ packageJson?.devDependencies?.[effectiveReactLib] ||
243
+ packageJson?.peerDependencies?.[effectiveReactLib];
251
244
  reactLibVersion = reactLibVersion
252
245
  ? semver.validRange(reactLibVersion)
253
246
  : null;
@@ -289,10 +282,10 @@ export default (new Transformer({
289
282
  // Check if we should ignore fs calls
290
283
  // See https://github.com/defunctzombie/node-browser-resolve#skip
291
284
  let ignoreFS =
292
- pkg &&
293
- pkg.browser &&
294
- typeof pkg.browser === 'object' &&
295
- pkg.browser.fs === false;
285
+ packageJson &&
286
+ packageJson.browser &&
287
+ typeof packageJson.browser === 'object' &&
288
+ packageJson.browser.fs === false;
296
289
 
297
290
  let conf = await config.getConfigFrom(options.projectRoot + '/index', [], {
298
291
  packageKey: '@atlaspack/transformer-js',