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