@atlaspack/transformer-js 3.2.3-canary.57 → 3.2.3-canary.58
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 -13
- package/package.json +8 -8
- package/src/JSTransformer.js +25 -32
package/lib/JSTransformer.js
CHANGED
|
@@ -160,25 +160,25 @@ var _default = exports.default = new (_plugin().Transformer)({
|
|
|
160
160
|
config,
|
|
161
161
|
options
|
|
162
162
|
}) {
|
|
163
|
-
let
|
|
163
|
+
let packageJson = await config.getPackage();
|
|
164
164
|
let isJSX, pragma, pragmaFrag, jsxImportSource, automaticJSXRuntime, reactRefresh, decorators, useDefineForClassFields;
|
|
165
165
|
if (config.isSource) {
|
|
166
|
-
var
|
|
166
|
+
var _packageJson$dependen2, _packageJson$devDepen2, _packageJson$peerDepe2, _await$config$getConf;
|
|
167
167
|
let reactLib;
|
|
168
|
-
if (
|
|
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
|
|
175
|
-
return (
|
|
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((
|
|
179
|
-
const compilerOptions = (
|
|
180
|
-
|
|
181
|
-
})) === null || _await$config$getConf === void 0
|
|
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,
|
|
191
|
-
let effectiveReactLib =
|
|
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 = (
|
|
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 =
|
|
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.3-canary.
|
|
3
|
+
"version": "3.2.3-canary.58+1e32d4eae",
|
|
4
4
|
"license": "(MIT OR Apache-2.0)",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -22,12 +22,12 @@
|
|
|
22
22
|
"src"
|
|
23
23
|
],
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@atlaspack/diagnostic": "2.14.1-canary.
|
|
26
|
-
"@atlaspack/feature-flags": "2.14.1-canary.
|
|
27
|
-
"@atlaspack/plugin": "2.14.5-canary.
|
|
28
|
-
"@atlaspack/rust": "3.2.1-canary.
|
|
29
|
-
"@atlaspack/utils": "2.14.5-canary.
|
|
30
|
-
"@atlaspack/workers": "2.14.5-canary.
|
|
25
|
+
"@atlaspack/diagnostic": "2.14.1-canary.126+1e32d4eae",
|
|
26
|
+
"@atlaspack/feature-flags": "2.14.1-canary.126+1e32d4eae",
|
|
27
|
+
"@atlaspack/plugin": "2.14.5-canary.58+1e32d4eae",
|
|
28
|
+
"@atlaspack/rust": "3.2.1-canary.58+1e32d4eae",
|
|
29
|
+
"@atlaspack/utils": "2.14.5-canary.58+1e32d4eae",
|
|
30
|
+
"@atlaspack/workers": "2.14.5-canary.58+1e32d4eae",
|
|
31
31
|
"@parcel/source-map": "^2.1.1",
|
|
32
32
|
"@swc/helpers": "^0.5.15",
|
|
33
33
|
"browserslist": "^4.6.6",
|
|
@@ -39,5 +39,5 @@
|
|
|
39
39
|
"@atlaspack/core": "^2.13.1"
|
|
40
40
|
},
|
|
41
41
|
"type": "commonjs",
|
|
42
|
-
"gitHead": "
|
|
42
|
+
"gitHead": "1e32d4eae6b3af3968e8a0ef97d35b4347fd4196"
|
|
43
43
|
}
|
package/src/JSTransformer.js
CHANGED
|
@@ -173,7 +173,7 @@ type MacroContext = {|
|
|
|
173
173
|
|
|
174
174
|
export default (new Transformer({
|
|
175
175
|
async loadConfig({config, options}) {
|
|
176
|
-
let
|
|
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 (
|
|
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
|
-
|
|
195
|
-
|
|
196
|
-
|
|
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
|
-
|
|
205
|
-
|
|
206
|
-
|
|
204
|
+
packageJson?.dependencies?.react ||
|
|
205
|
+
packageJson?.devDependencies?.react ||
|
|
206
|
+
packageJson?.peerDependencies?.react,
|
|
207
207
|
);
|
|
208
208
|
|
|
209
|
-
const compilerOptions: TSConfig['compilerOptions'] =
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
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
|
-
|
|
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
|
-
|
|
249
|
-
|
|
250
|
-
|
|
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
|
-
|
|
293
|
-
|
|
294
|
-
typeof
|
|
295
|
-
|
|
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',
|