@wyw-in-js/parcel-transformer 1.1.0 → 2.0.0-alpha.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.
- package/esm/index.mjs +76 -82
- package/esm/index.mjs.map +1 -1
- package/package.json +12 -13
- package/types/index.js +14 -14
- package/lib/index.js +0 -91
- package/lib/index.js.map +0 -1
package/esm/index.mjs
CHANGED
|
@@ -1,83 +1,77 @@
|
|
|
1
|
-
import { Transformer } from
|
|
2
|
-
import
|
|
3
|
-
import { asyncResolveFallback } from
|
|
4
|
-
import { transform, TransformCacheCollection } from
|
|
1
|
+
import { Transformer } from "@parcel/plugin";
|
|
2
|
+
import * as SourceMapModule from "@parcel/source-map";
|
|
3
|
+
import { asyncResolveFallback } from "@wyw-in-js/shared";
|
|
4
|
+
import { transform, TransformCacheCollection } from "@wyw-in-js/transform";
|
|
5
5
|
const cache = new TransformCacheCollection();
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
sideEffects: true,
|
|
79
|
-
uniqueKey: cssKey
|
|
80
|
-
}];
|
|
81
|
-
}
|
|
82
|
-
});
|
|
83
|
-
//# sourceMappingURL=index.mjs.map
|
|
6
|
+
const sourceMapDefault = SourceMapModule;
|
|
7
|
+
const SourceMapValue = sourceMapDefault.default?.default ?? sourceMapDefault.default ?? SourceMapModule;
|
|
8
|
+
const SourceMap = SourceMapValue;
|
|
9
|
+
export default new Transformer({ async transform({ asset, logger, options, resolve }) {
|
|
10
|
+
if (!asset.isSource) {
|
|
11
|
+
return [asset];
|
|
12
|
+
}
|
|
13
|
+
const originalCode = await asset.getCode();
|
|
14
|
+
const originalMap = await asset.getMap();
|
|
15
|
+
const originalVlqMap = originalMap?.toVLQ();
|
|
16
|
+
const inputSourceMap = originalVlqMap ? {
|
|
17
|
+
...originalVlqMap,
|
|
18
|
+
version: originalVlqMap.version ?? 3,
|
|
19
|
+
sources: [...originalVlqMap.sources],
|
|
20
|
+
names: [...originalVlqMap.names],
|
|
21
|
+
sourcesContent: undefined,
|
|
22
|
+
file: originalVlqMap.file ?? asset.filePath
|
|
23
|
+
} : undefined;
|
|
24
|
+
const result = await transform({
|
|
25
|
+
cache,
|
|
26
|
+
emitWarning: (message) => {
|
|
27
|
+
logger.warn({
|
|
28
|
+
message,
|
|
29
|
+
origin: "@wyw-in-js/parcel-transformer"
|
|
30
|
+
});
|
|
31
|
+
},
|
|
32
|
+
options: {
|
|
33
|
+
filename: asset.filePath,
|
|
34
|
+
inputSourceMap,
|
|
35
|
+
root: options.projectRoot
|
|
36
|
+
}
|
|
37
|
+
}, originalCode, async (what, importer, stack) => {
|
|
38
|
+
try {
|
|
39
|
+
return await resolve(importer, what, { specifierType: "esm" });
|
|
40
|
+
} catch (error) {
|
|
41
|
+
try {
|
|
42
|
+
return await asyncResolveFallback(what, importer, stack);
|
|
43
|
+
} catch {
|
|
44
|
+
throw error;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
if (result.dependencies) {
|
|
49
|
+
for (const dependency of result.dependencies) {
|
|
50
|
+
asset.invalidateOnFileChange(dependency);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
asset.setCode(result.code);
|
|
54
|
+
if (result.sourceMap) {
|
|
55
|
+
const map = new SourceMap(options.projectRoot);
|
|
56
|
+
map.addVLQMap(result.sourceMap);
|
|
57
|
+
asset.setMap(map);
|
|
58
|
+
} else {
|
|
59
|
+
asset.setMap(null);
|
|
60
|
+
}
|
|
61
|
+
if (!result.cssText) {
|
|
62
|
+
return [asset];
|
|
63
|
+
}
|
|
64
|
+
const cssKey = `${asset.id}::wyw-in-js.css`;
|
|
65
|
+
asset.addDependency({
|
|
66
|
+
specifier: cssKey,
|
|
67
|
+
specifierType: "esm"
|
|
68
|
+
});
|
|
69
|
+
return [asset, {
|
|
70
|
+
type: "css",
|
|
71
|
+
content: `${result.cssText}\n`,
|
|
72
|
+
env: asset.env,
|
|
73
|
+
sideEffects: true,
|
|
74
|
+
uniqueKey: cssKey
|
|
75
|
+
}];
|
|
76
|
+
} });
|
|
77
|
+
//# sourceMappingURL=index.mjs.map
|
package/esm/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"
|
|
1
|
+
{"mappings":"AAAA,SAAS,mBAAmB;AAC5B,YAAY,qBAAqB;AAGjC,SAAS,4BAA4B;AACrC,SAAS,WAAW,gCAAgC;AAEpD,MAAM,QAAQ,IAAI,0BAA0B;AAG5C,MAAM,mBAAmB;AAIzB,MAAM,iBACJ,iBAAiB,SAAS,WAC1B,iBAAiB,WACjB;AACF,MAAM,YAAY;AAElB,eAAe,IAAI,YAAY,EAC7B,MAAM,UAAU,EAAE,OAAO,QAAQ,SAAS,WAAW;AACnD,KAAI,CAAC,MAAM,UAAU;AACnB,SAAO,CAAC,MAAM;;CAGhB,MAAM,eAAe,MAAM,MAAM,SAAS;CAC1C,MAAM,cAAc,MAAM,MAAM,QAAQ;CACxC,MAAM,iBAAiB,aAAa,OAAO;CAC3C,MAAM,iBAAiB,iBACnB;EACE,GAAG;EACH,SAAS,eAAe,WAAW;EACnC,SAAS,CAAC,GAAG,eAAe,QAAQ;EACpC,OAAO,CAAC,GAAG,eAAe,MAAM;EAChC,gBAAgB;EAChB,MAAM,eAAe,QAAQ,MAAM;EACpC,GACD;CAEJ,MAAM,SAAS,MAAM,UACnB;EACE;EACA,cAAc,YAAoB;AAChC,UAAO,KAAK;IAAE;IAAS,QAAQ;IAAiC,CAAC;;EAEnE,SAAS;GACP,UAAU,MAAM;GAChB;GACA,MAAM,QAAQ;GACf;EACF,EACD,cACA,OAAO,MAAc,UAAkB,UAAoB;AACzD,MAAI;AACF,UAAO,MAAM,QAAQ,UAAU,MAAM,EAAE,eAAe,OAAO,CAAC;WACvD,OAAO;AACd,OAAI;AACF,WAAO,MAAM,qBAAqB,MAAM,UAAU,MAAM;WAClD;AACN,UAAM;;;GAIb;AAED,KAAI,OAAO,cAAc;AACvB,OAAK,MAAM,cAAc,OAAO,cAAc;AAC5C,SAAM,uBAAuB,WAAW;;;AAI5C,OAAM,QAAQ,OAAO,KAAK;AAE1B,KAAI,OAAO,WAAW;EACpB,MAAM,MAAM,IAAI,UAAU,QAAQ,YAAY;AAC9C,MAAI,UAAU,OAAO,UAAU;AAC/B,QAAM,OAAO,IAAI;QACZ;AACL,QAAM,OAAO,KAAK;;AAGpB,KAAI,CAAC,OAAO,SAAS;AACnB,SAAO,CAAC,MAAM;;CAGhB,MAAM,SAAS,GAAG,MAAM,GAAG;AAE3B,OAAM,cAAc;EAClB,WAAW;EACX,eAAe;EAChB,CAAC;AAEF,QAAO,CACL,OACA;EACE,MAAM;EACN,SAAS,GAAG,OAAO,QAAQ;EAC3B,KAAK,MAAM;EACX,aAAa;EACb,WAAW;EACZ,CACF;GAEJ,CAAC","names":[],"sources":["../src/index.ts"],"version":3,"sourcesContent":["import { Transformer } from '@parcel/plugin';\nimport * as SourceMapModule from '@parcel/source-map';\nimport type SourceMapInstance from '@parcel/source-map';\n\nimport { asyncResolveFallback } from '@wyw-in-js/shared';\nimport { transform, TransformCacheCollection } from '@wyw-in-js/transform';\n\nconst cache = new TransformCacheCollection();\ntype SourceMapCtor = new (projectRoot: string) => SourceMapInstance;\n\nconst sourceMapDefault = SourceMapModule as unknown as {\n default?: { default?: typeof SourceMapModule } | typeof SourceMapModule;\n};\n\nconst SourceMapValue =\n sourceMapDefault.default?.default ??\n sourceMapDefault.default ??\n SourceMapModule;\nconst SourceMap = SourceMapValue as unknown as SourceMapCtor;\n\nexport default new Transformer({\n async transform({ asset, logger, options, resolve }) {\n if (!asset.isSource) {\n return [asset];\n }\n\n const originalCode = await asset.getCode();\n const originalMap = await asset.getMap();\n const originalVlqMap = originalMap?.toVLQ();\n const inputSourceMap = originalVlqMap\n ? {\n ...originalVlqMap,\n version: originalVlqMap.version ?? 3,\n sources: [...originalVlqMap.sources],\n names: [...originalVlqMap.names],\n sourcesContent: undefined,\n file: originalVlqMap.file ?? asset.filePath,\n }\n : undefined;\n\n const result = await transform(\n {\n cache,\n emitWarning: (message: string) => {\n logger.warn({ message, origin: '@wyw-in-js/parcel-transformer' });\n },\n options: {\n filename: asset.filePath,\n inputSourceMap,\n root: options.projectRoot,\n },\n },\n originalCode,\n async (what: string, importer: string, stack: string[]) => {\n try {\n return await resolve(importer, what, { specifierType: 'esm' });\n } catch (error) {\n try {\n return await asyncResolveFallback(what, importer, stack);\n } catch {\n throw error;\n }\n }\n }\n );\n\n if (result.dependencies) {\n for (const dependency of result.dependencies) {\n asset.invalidateOnFileChange(dependency);\n }\n }\n\n asset.setCode(result.code);\n\n if (result.sourceMap) {\n const map = new SourceMap(options.projectRoot);\n map.addVLQMap(result.sourceMap);\n asset.setMap(map);\n } else {\n asset.setMap(null);\n }\n\n if (!result.cssText) {\n return [asset];\n }\n\n const cssKey = `${asset.id}::wyw-in-js.css`;\n\n asset.addDependency({\n specifier: cssKey,\n specifierType: 'esm',\n });\n\n return [\n asset,\n {\n type: 'css',\n content: `${result.cssText}\\n`,\n env: asset.env,\n sideEffects: true,\n uniqueKey: cssKey,\n },\n ];\n },\n});\n"],"file":"index.mjs"}
|
package/package.json
CHANGED
|
@@ -1,34 +1,34 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wyw-in-js/parcel-transformer",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0-alpha.0",
|
|
4
|
+
"type": "module",
|
|
4
5
|
"dependencies": {
|
|
5
6
|
"@parcel/plugin": "^2.16.3",
|
|
6
7
|
"@parcel/source-map": "^2.1.1",
|
|
7
|
-
"@wyw-in-js/shared": "
|
|
8
|
-
"@wyw-in-js/transform": "
|
|
8
|
+
"@wyw-in-js/shared": "2.0.0-alpha.0",
|
|
9
|
+
"@wyw-in-js/transform": "2.0.0-alpha.0"
|
|
9
10
|
},
|
|
10
11
|
"devDependencies": {
|
|
11
|
-
"@types/node": "^
|
|
12
|
-
"@wyw-in-js/babel-config": "workspace:*",
|
|
12
|
+
"@types/node": "^22.0.0",
|
|
13
13
|
"@wyw-in-js/eslint-config": "workspace:*",
|
|
14
14
|
"@wyw-in-js/ts-config": "workspace:*"
|
|
15
15
|
},
|
|
16
16
|
"engines": {
|
|
17
|
-
"node": ">=
|
|
17
|
+
"node": ">=22.0.0",
|
|
18
18
|
"parcel": "^2.0.0"
|
|
19
19
|
},
|
|
20
20
|
"exports": {
|
|
21
|
-
"
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
".": {
|
|
22
|
+
"types": "./types/index.d.ts",
|
|
23
|
+
"default": "./esm/index.mjs"
|
|
24
|
+
}
|
|
24
25
|
},
|
|
25
26
|
"files": [
|
|
26
27
|
"esm/",
|
|
27
|
-
"lib/",
|
|
28
28
|
"types/"
|
|
29
29
|
],
|
|
30
30
|
"license": "MIT",
|
|
31
|
-
"main": "
|
|
31
|
+
"main": "esm/index.mjs",
|
|
32
32
|
"module": "esm/index.mjs",
|
|
33
33
|
"peerDependencies": {
|
|
34
34
|
"parcel": ">=2.0.0"
|
|
@@ -37,8 +37,7 @@
|
|
|
37
37
|
"access": "public"
|
|
38
38
|
},
|
|
39
39
|
"scripts": {
|
|
40
|
-
"build:esm": "
|
|
41
|
-
"build:lib": "cross-env NODE_ENV=legacy babel src --out-dir lib --extensions '.js,.jsx,.ts,.tsx' --source-maps --delete-dir-on-start",
|
|
40
|
+
"build:esm": "node ../../scripts/build-esm-oxc.mjs --out-file-extension .mjs",
|
|
42
41
|
"build:types": "tsc --project ./tsconfig.lib.json --baseUrl . --rootDir ./src",
|
|
43
42
|
"lint": "eslint --ext .js,.ts ."
|
|
44
43
|
},
|
package/types/index.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
const
|
|
11
|
-
|
|
1
|
+
import { Transformer } from '@parcel/plugin';
|
|
2
|
+
import * as SourceMapModule from '@parcel/source-map';
|
|
3
|
+
import { asyncResolveFallback } from '@wyw-in-js/shared';
|
|
4
|
+
import { transform, TransformCacheCollection } from '@wyw-in-js/transform';
|
|
5
|
+
const cache = new TransformCacheCollection();
|
|
6
|
+
const sourceMapDefault = SourceMapModule;
|
|
7
|
+
const SourceMapValue = sourceMapDefault.default?.default ??
|
|
8
|
+
sourceMapDefault.default ??
|
|
9
|
+
SourceMapModule;
|
|
10
|
+
const SourceMap = SourceMapValue;
|
|
11
|
+
export default new Transformer({
|
|
12
12
|
async transform({ asset, logger, options, resolve }) {
|
|
13
13
|
if (!asset.isSource) {
|
|
14
14
|
return [asset];
|
|
@@ -26,7 +26,7 @@ exports.default = new plugin_1.Transformer({
|
|
|
26
26
|
file: originalVlqMap.file ?? asset.filePath,
|
|
27
27
|
}
|
|
28
28
|
: undefined;
|
|
29
|
-
const result = await
|
|
29
|
+
const result = await transform({
|
|
30
30
|
cache,
|
|
31
31
|
emitWarning: (message) => {
|
|
32
32
|
logger.warn({ message, origin: '@wyw-in-js/parcel-transformer' });
|
|
@@ -42,7 +42,7 @@ exports.default = new plugin_1.Transformer({
|
|
|
42
42
|
}
|
|
43
43
|
catch (error) {
|
|
44
44
|
try {
|
|
45
|
-
return await
|
|
45
|
+
return await asyncResolveFallback(what, importer, stack);
|
|
46
46
|
}
|
|
47
47
|
catch {
|
|
48
48
|
throw error;
|
|
@@ -56,7 +56,7 @@ exports.default = new plugin_1.Transformer({
|
|
|
56
56
|
}
|
|
57
57
|
asset.setCode(result.code);
|
|
58
58
|
if (result.sourceMap) {
|
|
59
|
-
const map = new
|
|
59
|
+
const map = new SourceMap(options.projectRoot);
|
|
60
60
|
map.addVLQMap(result.sourceMap);
|
|
61
61
|
asset.setMap(map);
|
|
62
62
|
}
|
package/lib/index.js
DELETED
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _plugin = require("@parcel/plugin");
|
|
8
|
-
var _sourceMap = _interopRequireDefault(require("@parcel/source-map"));
|
|
9
|
-
var _shared = require("@wyw-in-js/shared");
|
|
10
|
-
var _transform = require("@wyw-in-js/transform");
|
|
11
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
|
-
const cache = new _transform.TransformCacheCollection();
|
|
13
|
-
var _default = exports.default = new _plugin.Transformer({
|
|
14
|
-
async transform({
|
|
15
|
-
asset,
|
|
16
|
-
logger,
|
|
17
|
-
options,
|
|
18
|
-
resolve
|
|
19
|
-
}) {
|
|
20
|
-
var _originalVlqMap$versi, _originalVlqMap$file;
|
|
21
|
-
if (!asset.isSource) {
|
|
22
|
-
return [asset];
|
|
23
|
-
}
|
|
24
|
-
const originalCode = await asset.getCode();
|
|
25
|
-
const originalMap = await asset.getMap();
|
|
26
|
-
const originalVlqMap = originalMap === null || originalMap === void 0 ? void 0 : originalMap.toVLQ();
|
|
27
|
-
const inputSourceMap = originalVlqMap ? {
|
|
28
|
-
...originalVlqMap,
|
|
29
|
-
version: (_originalVlqMap$versi = originalVlqMap.version) !== null && _originalVlqMap$versi !== void 0 ? _originalVlqMap$versi : 3,
|
|
30
|
-
sources: [...originalVlqMap.sources],
|
|
31
|
-
names: [...originalVlqMap.names],
|
|
32
|
-
sourcesContent: undefined,
|
|
33
|
-
file: (_originalVlqMap$file = originalVlqMap.file) !== null && _originalVlqMap$file !== void 0 ? _originalVlqMap$file : asset.filePath
|
|
34
|
-
} : undefined;
|
|
35
|
-
const result = await (0, _transform.transform)({
|
|
36
|
-
cache,
|
|
37
|
-
emitWarning: message => {
|
|
38
|
-
logger.warn({
|
|
39
|
-
message,
|
|
40
|
-
origin: '@wyw-in-js/parcel-transformer'
|
|
41
|
-
});
|
|
42
|
-
},
|
|
43
|
-
options: {
|
|
44
|
-
filename: asset.filePath,
|
|
45
|
-
inputSourceMap,
|
|
46
|
-
root: options.projectRoot
|
|
47
|
-
}
|
|
48
|
-
}, originalCode, async (what, importer, stack) => {
|
|
49
|
-
try {
|
|
50
|
-
return await resolve(importer, what, {
|
|
51
|
-
specifierType: 'esm'
|
|
52
|
-
});
|
|
53
|
-
} catch (error) {
|
|
54
|
-
try {
|
|
55
|
-
return await (0, _shared.asyncResolveFallback)(what, importer, stack);
|
|
56
|
-
} catch {
|
|
57
|
-
throw error;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
});
|
|
61
|
-
if (result.dependencies) {
|
|
62
|
-
for (const dependency of result.dependencies) {
|
|
63
|
-
asset.invalidateOnFileChange(dependency);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
asset.setCode(result.code);
|
|
67
|
-
if (result.sourceMap) {
|
|
68
|
-
const map = new _sourceMap.default(options.projectRoot);
|
|
69
|
-
map.addVLQMap(result.sourceMap);
|
|
70
|
-
asset.setMap(map);
|
|
71
|
-
} else {
|
|
72
|
-
asset.setMap(null);
|
|
73
|
-
}
|
|
74
|
-
if (!result.cssText) {
|
|
75
|
-
return [asset];
|
|
76
|
-
}
|
|
77
|
-
const cssKey = `${asset.id}::wyw-in-js.css`;
|
|
78
|
-
asset.addDependency({
|
|
79
|
-
specifier: cssKey,
|
|
80
|
-
specifierType: 'esm'
|
|
81
|
-
});
|
|
82
|
-
return [asset, {
|
|
83
|
-
type: 'css',
|
|
84
|
-
content: `${result.cssText}\n`,
|
|
85
|
-
env: asset.env,
|
|
86
|
-
sideEffects: true,
|
|
87
|
-
uniqueKey: cssKey
|
|
88
|
-
}];
|
|
89
|
-
}
|
|
90
|
-
});
|
|
91
|
-
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_plugin","require","_sourceMap","_interopRequireDefault","_shared","_transform","e","__esModule","default","cache","TransformCacheCollection","_default","exports","Transformer","transform","asset","logger","options","resolve","_originalVlqMap$versi","_originalVlqMap$file","isSource","originalCode","getCode","originalMap","getMap","originalVlqMap","toVLQ","inputSourceMap","version","sources","names","sourcesContent","undefined","file","filePath","result","emitWarning","message","warn","origin","filename","root","projectRoot","what","importer","stack","specifierType","error","asyncResolveFallback","dependencies","dependency","invalidateOnFileChange","setCode","code","sourceMap","map","SourceMap","addVLQMap","setMap","cssText","cssKey","id","addDependency","specifier","type","content","env","sideEffects","uniqueKey"],"sources":["../src/index.ts"],"sourcesContent":["import { Transformer } from '@parcel/plugin';\nimport SourceMap from '@parcel/source-map';\n\nimport { asyncResolveFallback } from '@wyw-in-js/shared';\nimport { transform, TransformCacheCollection } from '@wyw-in-js/transform';\n\nconst cache = new TransformCacheCollection();\n\nexport default new Transformer({\n async transform({ asset, logger, options, resolve }) {\n if (!asset.isSource) {\n return [asset];\n }\n\n const originalCode = await asset.getCode();\n const originalMap = await asset.getMap();\n const originalVlqMap = originalMap?.toVLQ();\n const inputSourceMap = originalVlqMap\n ? {\n ...originalVlqMap,\n version: originalVlqMap.version ?? 3,\n sources: [...originalVlqMap.sources],\n names: [...originalVlqMap.names],\n sourcesContent: undefined,\n file: originalVlqMap.file ?? asset.filePath,\n }\n : undefined;\n\n const result = await transform(\n {\n cache,\n emitWarning: (message: string) => {\n logger.warn({ message, origin: '@wyw-in-js/parcel-transformer' });\n },\n options: {\n filename: asset.filePath,\n inputSourceMap,\n root: options.projectRoot,\n },\n },\n originalCode,\n async (what: string, importer: string, stack: string[]) => {\n try {\n return await resolve(importer, what, { specifierType: 'esm' });\n } catch (error) {\n try {\n return await asyncResolveFallback(what, importer, stack);\n } catch {\n throw error;\n }\n }\n }\n );\n\n if (result.dependencies) {\n for (const dependency of result.dependencies) {\n asset.invalidateOnFileChange(dependency);\n }\n }\n\n asset.setCode(result.code);\n\n if (result.sourceMap) {\n const map = new SourceMap(options.projectRoot);\n map.addVLQMap(result.sourceMap);\n asset.setMap(map);\n } else {\n asset.setMap(null);\n }\n\n if (!result.cssText) {\n return [asset];\n }\n\n const cssKey = `${asset.id}::wyw-in-js.css`;\n\n asset.addDependency({\n specifier: cssKey,\n specifierType: 'esm',\n });\n\n return [\n asset,\n {\n type: 'css',\n content: `${result.cssText}\\n`,\n env: asset.env,\n sideEffects: true,\n uniqueKey: cssKey,\n },\n ];\n },\n});\n"],"mappings":"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","ignoreList":[]}
|