@vxrn/compiler 1.1.431 → 1.1.433
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/dist/cjs/index.cjs +14 -3
- package/dist/cjs/index.js +10 -3
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/index.js +10 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs +12 -2
- package/dist/esm/index.mjs.map +1 -1
- package/package.json +3 -3
- package/src/index.ts +28 -0
- package/types/index.d.ts +1 -0
- package/types/index.d.ts.map +1 -1
package/dist/cjs/index.cjs
CHANGED
|
@@ -21,6 +21,7 @@ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
|
21
21
|
}), mod);
|
|
22
22
|
var index_exports = {};
|
|
23
23
|
__export(index_exports, {
|
|
24
|
+
clearCompilerCache: () => clearCompilerCache,
|
|
24
25
|
createVXRNCompilerPlugin: () => createVXRNCompilerPlugin
|
|
25
26
|
});
|
|
26
27
|
module.exports = __toCommonJS(index_exports);
|
|
@@ -32,11 +33,18 @@ var import_utils = require("@vxrn/utils"),
|
|
|
32
33
|
import_configure = require("./configure.cjs"),
|
|
33
34
|
import_constants = require("./constants.cjs"),
|
|
34
35
|
import_transformBabel = require("./transformBabel.cjs"),
|
|
35
|
-
import_transformSWC = require("./transformSWC.cjs")
|
|
36
|
+
import_transformSWC = require("./transformSWC.cjs"),
|
|
37
|
+
import_node_crypto = require("node:crypto");
|
|
36
38
|
__reExport(index_exports, require("./configure.cjs"), module.exports);
|
|
37
39
|
__reExport(index_exports, require("./transformBabel.cjs"), module.exports);
|
|
38
40
|
__reExport(index_exports, require("./transformSWC.cjs"), module.exports);
|
|
39
|
-
const import_meta = {}
|
|
41
|
+
const import_meta = {},
|
|
42
|
+
getHash = (environment, id, code) => (0, import_node_crypto.createHash)("sha1").update(`${environment}${id}${code}`).digest("base64"),
|
|
43
|
+
clearCompilerCache = () => {
|
|
44
|
+
memoryCache = {}, cacheSize = 0;
|
|
45
|
+
};
|
|
46
|
+
let memoryCache = {},
|
|
47
|
+
cacheSize = 0;
|
|
40
48
|
async function createVXRNCompilerPlugin(optionsIn) {
|
|
41
49
|
const reactVersion = await (async () => {
|
|
42
50
|
const path = (0, import_utils.resolvePath)("react/package.json");
|
|
@@ -132,6 +140,9 @@ ${code}`), isNative && import_configure.configuration.enableNativewind && (code
|
|
|
132
140
|
${code}`), code;
|
|
133
141
|
const shouldDebug = process.env.NODE_ENV === "development" && codeIn.startsWith("// debug");
|
|
134
142
|
shouldDebug && (console.info(`[one] ${_id} input:`), console.info(codeIn));
|
|
143
|
+
const cacheKey = getHash(environment, _id, code),
|
|
144
|
+
cached = memoryCache[cacheKey];
|
|
145
|
+
if (cached) return (0, import_constants.debug)?.(`Using cache ${_id} ${cacheKey}`), cached;
|
|
135
146
|
const extension = (0, import_node_path.extname)(_id);
|
|
136
147
|
if (extension === ".css" || !import_constants.validParsers.has(extension)) return;
|
|
137
148
|
let id = _id.split("?")[0];
|
|
@@ -167,7 +178,7 @@ ${code}`), code;
|
|
|
167
178
|
es5: !0,
|
|
168
179
|
noHMR: isPreProcess
|
|
169
180
|
});
|
|
170
|
-
return shouldDebug && (console.info("swcOptions", swcOptions), console.info("final output:", out?.code)), out;
|
|
181
|
+
return shouldDebug && (console.info("swcOptions", swcOptions), console.info("final output:", out?.code)), out && (cacheSize += out?.code.length, cacheSize > 262144e3 && clearCompilerCache(), memoryCache[cacheKey] = out), out;
|
|
171
182
|
}
|
|
172
183
|
}
|
|
173
184
|
}];
|
package/dist/cjs/index.js
CHANGED
|
@@ -14,14 +14,18 @@ var __export = (target, all) => {
|
|
|
14
14
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
15
15
|
var index_exports = {};
|
|
16
16
|
__export(index_exports, {
|
|
17
|
+
clearCompilerCache: () => clearCompilerCache,
|
|
17
18
|
createVXRNCompilerPlugin: () => createVXRNCompilerPlugin
|
|
18
19
|
});
|
|
19
20
|
module.exports = __toCommonJS(index_exports);
|
|
20
|
-
var import_utils = require("@vxrn/utils"), import_node_fs = require("node:fs"), import_promises = require("node:fs/promises"), import_node_path = require("node:path"), import_css_to_rn = require("react-native-css-interop/css-to-rn/index.js"), import_configure = require("./configure"), import_constants = require("./constants"), import_transformBabel = require("./transformBabel"), import_transformSWC = require("./transformSWC");
|
|
21
|
+
var import_utils = require("@vxrn/utils"), import_node_fs = require("node:fs"), import_promises = require("node:fs/promises"), import_node_path = require("node:path"), import_css_to_rn = require("react-native-css-interop/css-to-rn/index.js"), import_configure = require("./configure"), import_constants = require("./constants"), import_transformBabel = require("./transformBabel"), import_transformSWC = require("./transformSWC"), import_node_crypto = require("node:crypto");
|
|
21
22
|
__reExport(index_exports, require("./configure"), module.exports);
|
|
22
23
|
__reExport(index_exports, require("./transformBabel"), module.exports);
|
|
23
24
|
__reExport(index_exports, require("./transformSWC"), module.exports);
|
|
24
|
-
const import_meta = {}
|
|
25
|
+
const import_meta = {}, getHash = (environment, id, code) => (0, import_node_crypto.createHash)("sha1").update(`${environment}${id}${code}`).digest("base64"), clearCompilerCache = () => {
|
|
26
|
+
memoryCache = {}, cacheSize = 0;
|
|
27
|
+
};
|
|
28
|
+
let memoryCache = {}, cacheSize = 0;
|
|
25
29
|
async function createVXRNCompilerPlugin(optionsIn) {
|
|
26
30
|
const reactVersion = await (async () => {
|
|
27
31
|
const path = (0, import_utils.resolvePath)("react/package.json");
|
|
@@ -113,6 +117,9 @@ ${code}`), isNative && import_configure.configuration.enableNativewind && (code
|
|
|
113
117
|
${code}`), code;
|
|
114
118
|
const shouldDebug = process.env.NODE_ENV === "development" && codeIn.startsWith("// debug");
|
|
115
119
|
shouldDebug && (console.info(`[one] ${_id} input:`), console.info(codeIn));
|
|
120
|
+
const cacheKey = getHash(environment, _id, code), cached = memoryCache[cacheKey];
|
|
121
|
+
if (cached)
|
|
122
|
+
return (0, import_constants.debug)?.(`Using cache ${_id} ${cacheKey}`), cached;
|
|
116
123
|
const extension = (0, import_node_path.extname)(_id);
|
|
117
124
|
if (extension === ".css" || !import_constants.validParsers.has(extension))
|
|
118
125
|
return;
|
|
@@ -149,7 +156,7 @@ ${code}`), code;
|
|
|
149
156
|
es5: !0,
|
|
150
157
|
noHMR: isPreProcess
|
|
151
158
|
});
|
|
152
|
-
return shouldDebug && (console.info("swcOptions", swcOptions), console.info("final output:", out?.code)), out;
|
|
159
|
+
return shouldDebug && (console.info("swcOptions", swcOptions), console.info("final output:", out?.code)), out && (cacheSize += out?.code.length, cacheSize > 262144e3 && clearCompilerCache(), memoryCache[cacheKey] = out), out;
|
|
153
160
|
}
|
|
154
161
|
}
|
|
155
162
|
}
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/index.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,mBAA4B,wBAC5B,iBAA6B,oBAC7B,kBAAyB,6BACzB,mBAAmC,sBACnC,mBAAwC,wDAGxC,mBAA8B,wBAC9B,mBAAuD,wBACvD,wBAAgD,6BAChD,sBAA6B;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/esm/index.js
CHANGED
|
@@ -7,9 +7,14 @@ import { configuration } from "./configure";
|
|
|
7
7
|
import { debug, runtimePublicPath, validParsers } from "./constants";
|
|
8
8
|
import { getBabelOptions, transformBabel } from "./transformBabel";
|
|
9
9
|
import { transformSWC } from "./transformSWC";
|
|
10
|
+
import { createHash } from "node:crypto";
|
|
10
11
|
export * from "./configure";
|
|
11
12
|
export * from "./transformBabel";
|
|
12
13
|
export * from "./transformSWC";
|
|
14
|
+
const getHash = (environment, id, code) => createHash("sha1").update(`${environment}${id}${code}`).digest("base64"), clearCompilerCache = () => {
|
|
15
|
+
memoryCache = {}, cacheSize = 0;
|
|
16
|
+
};
|
|
17
|
+
let memoryCache = {}, cacheSize = 0;
|
|
13
18
|
async function createVXRNCompilerPlugin(optionsIn) {
|
|
14
19
|
const reactVersion = await (async () => {
|
|
15
20
|
const path = resolvePath("react/package.json");
|
|
@@ -101,6 +106,9 @@ ${code}`), isNative && configuration.enableNativewind && (code = `import * as x
|
|
|
101
106
|
${code}`), code;
|
|
102
107
|
const shouldDebug = process.env.NODE_ENV === "development" && codeIn.startsWith("// debug");
|
|
103
108
|
shouldDebug && (console.info(`[one] ${_id} input:`), console.info(codeIn));
|
|
109
|
+
const cacheKey = getHash(environment, _id, code), cached = memoryCache[cacheKey];
|
|
110
|
+
if (cached)
|
|
111
|
+
return debug?.(`Using cache ${_id} ${cacheKey}`), cached;
|
|
104
112
|
const extension = extname(_id);
|
|
105
113
|
if (extension === ".css" || !validParsers.has(extension))
|
|
106
114
|
return;
|
|
@@ -137,13 +145,14 @@ ${code}`), code;
|
|
|
137
145
|
es5: !0,
|
|
138
146
|
noHMR: isPreProcess
|
|
139
147
|
});
|
|
140
|
-
return shouldDebug && (console.info("swcOptions", swcOptions), console.info("final output:", out?.code)), out;
|
|
148
|
+
return shouldDebug && (console.info("swcOptions", swcOptions), console.info("final output:", out?.code)), out && (cacheSize += out?.code.length, cacheSize > 262144e3 && clearCompilerCache(), memoryCache[cacheKey] = out), out;
|
|
141
149
|
}
|
|
142
150
|
}
|
|
143
151
|
}
|
|
144
152
|
];
|
|
145
153
|
}
|
|
146
154
|
export {
|
|
155
|
+
clearCompilerCache,
|
|
147
156
|
createVXRNCompilerPlugin
|
|
148
157
|
};
|
|
149
158
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/index.ts"],
|
|
4
|
-
"mappings": "AAKA,SAAS,mBAAmB;AAC5B,SAAS,oBAAoB;AAC7B,SAAS,gBAAgB;AACzB,SAAS,SAAS,MAAM,WAAW;AACnC,SAAS,+BAA+B;AAGxC,SAAS,qBAAqB;AAC9B,SAAS,OAAO,mBAAmB,oBAAoB;AACvD,SAAS,iBAAiB,sBAAsB;AAChD,SAAS,oBAAoB;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/esm/index.mjs
CHANGED
|
@@ -7,9 +7,16 @@ import { configuration } from "./configure.mjs";
|
|
|
7
7
|
import { debug, runtimePublicPath, validParsers } from "./constants.mjs";
|
|
8
8
|
import { getBabelOptions, transformBabel } from "./transformBabel.mjs";
|
|
9
9
|
import { transformSWC } from "./transformSWC.mjs";
|
|
10
|
+
import { createHash } from "node:crypto";
|
|
10
11
|
export * from "./configure.mjs";
|
|
11
12
|
export * from "./transformBabel.mjs";
|
|
12
13
|
export * from "./transformSWC.mjs";
|
|
14
|
+
const getHash = (environment, id, code) => createHash("sha1").update(`${environment}${id}${code}`).digest("base64"),
|
|
15
|
+
clearCompilerCache = () => {
|
|
16
|
+
memoryCache = {}, cacheSize = 0;
|
|
17
|
+
};
|
|
18
|
+
let memoryCache = {},
|
|
19
|
+
cacheSize = 0;
|
|
13
20
|
async function createVXRNCompilerPlugin(optionsIn) {
|
|
14
21
|
const reactVersion = await (async () => {
|
|
15
22
|
const path = resolvePath("react/package.json");
|
|
@@ -105,6 +112,9 @@ ${code}`), isNative && configuration.enableNativewind && (code = `import * as x
|
|
|
105
112
|
${code}`), code;
|
|
106
113
|
const shouldDebug = process.env.NODE_ENV === "development" && codeIn.startsWith("// debug");
|
|
107
114
|
shouldDebug && (console.info(`[one] ${_id} input:`), console.info(codeIn));
|
|
115
|
+
const cacheKey = getHash(environment, _id, code),
|
|
116
|
+
cached = memoryCache[cacheKey];
|
|
117
|
+
if (cached) return debug?.(`Using cache ${_id} ${cacheKey}`), cached;
|
|
108
118
|
const extension = extname(_id);
|
|
109
119
|
if (extension === ".css" || !validParsers.has(extension)) return;
|
|
110
120
|
let id = _id.split("?")[0];
|
|
@@ -140,10 +150,10 @@ ${code}`), code;
|
|
|
140
150
|
es5: !0,
|
|
141
151
|
noHMR: isPreProcess
|
|
142
152
|
});
|
|
143
|
-
return shouldDebug && (console.info("swcOptions", swcOptions), console.info("final output:", out?.code)), out;
|
|
153
|
+
return shouldDebug && (console.info("swcOptions", swcOptions), console.info("final output:", out?.code)), out && (cacheSize += out?.code.length, cacheSize > 262144e3 && clearCompilerCache(), memoryCache[cacheKey] = out), out;
|
|
144
154
|
}
|
|
145
155
|
}
|
|
146
156
|
}];
|
|
147
157
|
}
|
|
148
|
-
export { createVXRNCompilerPlugin };
|
|
158
|
+
export { clearCompilerCache, createVXRNCompilerPlugin };
|
|
149
159
|
//# sourceMappingURL=index.mjs.map
|
package/dist/esm/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["resolvePath","readFileSync","readFile","extname","join","sep","cssToReactNativeRuntime","configuration","debug","runtimePublicPath","validParsers","getBabelOptions","transformBabel","transformSWC","createVXRNCompilerPlugin","optionsIn","reactVersion","path","JSON","parse","version","envNames","ios","android","client","ssr","getEnvName","name","Error","reactForRNVersion","split","cssTransformCache","Map","rollupPath","rollupNodeMods","slice","indexOf","apply","enforce","resolveId","
|
|
1
|
+
{"version":3,"names":["resolvePath","readFileSync","readFile","extname","join","sep","cssToReactNativeRuntime","configuration","debug","runtimePublicPath","validParsers","getBabelOptions","transformBabel","transformSWC","createHash","getHash","environment","id","code","update","digest","clearCompilerCache","memoryCache","cacheSize","createVXRNCompilerPlugin","optionsIn","reactVersion","path","JSON","parse","version","envNames","ios","android","client","ssr","getEnvName","name","Error","reactForRNVersion","split","cssTransformCache","Map","rollupPath","rollupNodeMods","slice","indexOf","apply","enforce","resolveId","load","import","meta","dirname","transform","codeIn","enableNativeCSS","stringify","inlineRem","newId","cssId","replace","set","map","generateBundle","_","bundle","rootJSName","Object","keys","find","i","chunk","type","fileName","match","rootJS","cssAssets","filter","endsWith","jsCSS","get","config","esbuild","optimizeDeps","noDiscovery","define","environments","order","handler","_id","isNative","production","process","env","NODE_ENV","includes","enableNativewind","shouldDebug","startsWith","console","info","cacheKey","cached","extension","has","isPreProcess","transformProps","development","userTransform","babelOptions","userSetting","babelOut","swcOptions","mode","out","es5","noHMR","length"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vxrn/compiler",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.433",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
"./package.json": "./package.json",
|
|
@@ -34,8 +34,8 @@
|
|
|
34
34
|
"@babel/plugin-transform-react-jsx": "^7.25.9",
|
|
35
35
|
"@babel/plugin-transform-regenerator": "^7.25.9",
|
|
36
36
|
"@swc/core": "^1.10.4",
|
|
37
|
-
"@vxrn/utils": "1.1.
|
|
38
|
-
"@vxrn/vite-native-client": "1.1.
|
|
37
|
+
"@vxrn/utils": "1.1.433",
|
|
38
|
+
"@vxrn/vite-native-client": "1.1.433",
|
|
39
39
|
"babel-plugin-react-compiler": "^19.0.0-beta-201e55d-20241215",
|
|
40
40
|
"react-native-css-interop": "^0.1.22",
|
|
41
41
|
"ts-deepmerge": "^7.0.2",
|
package/src/index.ts
CHANGED
|
@@ -15,12 +15,24 @@ import { debug, runtimePublicPath, validParsers } from './constants'
|
|
|
15
15
|
import { getBabelOptions, transformBabel } from './transformBabel'
|
|
16
16
|
import { transformSWC } from './transformSWC'
|
|
17
17
|
import type { Environment, GetTransformProps, Options } from './types'
|
|
18
|
+
import { createHash } from 'node:crypto'
|
|
18
19
|
|
|
19
20
|
export * from './configure'
|
|
20
21
|
export * from './transformBabel'
|
|
21
22
|
export * from './transformSWC'
|
|
22
23
|
export type { GetTransform } from './types'
|
|
23
24
|
|
|
25
|
+
const getHash = (environment: string, id: string, code: string) =>
|
|
26
|
+
createHash('sha1').update(`${environment}${id}${code}`).digest('base64')
|
|
27
|
+
|
|
28
|
+
export const clearCompilerCache = () => {
|
|
29
|
+
memoryCache = {}
|
|
30
|
+
cacheSize = 0
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
let memoryCache = {}
|
|
34
|
+
let cacheSize = 0
|
|
35
|
+
|
|
24
36
|
export async function createVXRNCompilerPlugin(
|
|
25
37
|
optionsIn?: Partial<Options>
|
|
26
38
|
): Promise<PluginOption[]> {
|
|
@@ -179,6 +191,13 @@ ${rootJS.code}
|
|
|
179
191
|
console.info(codeIn)
|
|
180
192
|
}
|
|
181
193
|
|
|
194
|
+
const cacheKey = getHash(environment, _id, code)
|
|
195
|
+
const cached = memoryCache[cacheKey]
|
|
196
|
+
if (cached) {
|
|
197
|
+
debug?.(`Using cache ${_id} ${cacheKey}`)
|
|
198
|
+
return cached
|
|
199
|
+
}
|
|
200
|
+
|
|
182
201
|
const extension = extname(_id)
|
|
183
202
|
|
|
184
203
|
if (extension === '.css') {
|
|
@@ -255,6 +274,15 @@ ${rootJS.code}
|
|
|
255
274
|
console.info(`final output:`, out?.code)
|
|
256
275
|
}
|
|
257
276
|
|
|
277
|
+
if (out) {
|
|
278
|
+
cacheSize += out?.code.length
|
|
279
|
+
// ~500Mb cache for recently compiler files
|
|
280
|
+
if (cacheSize > 262144000) {
|
|
281
|
+
clearCompilerCache()
|
|
282
|
+
}
|
|
283
|
+
memoryCache[cacheKey] = out
|
|
284
|
+
}
|
|
285
|
+
|
|
258
286
|
return out
|
|
259
287
|
},
|
|
260
288
|
},
|
package/types/index.d.ts
CHANGED
|
@@ -8,5 +8,6 @@ export * from './configure';
|
|
|
8
8
|
export * from './transformBabel';
|
|
9
9
|
export * from './transformSWC';
|
|
10
10
|
export type { GetTransform } from './types';
|
|
11
|
+
export declare const clearCompilerCache: () => void;
|
|
11
12
|
export declare function createVXRNCompilerPlugin(optionsIn?: Partial<Options>): Promise<PluginOption[]>;
|
|
12
13
|
//# sourceMappingURL=index.d.ts.map
|
package/types/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,OAAO,KAAK,EAAE,YAAY,EAAc,MAAM,MAAM,CAAA;AAKpD,OAAO,KAAK,EAAkC,OAAO,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,OAAO,KAAK,EAAE,YAAY,EAAc,MAAM,MAAM,CAAA;AAKpD,OAAO,KAAK,EAAkC,OAAO,EAAE,MAAM,SAAS,CAAA;AAGtE,cAAc,aAAa,CAAA;AAC3B,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAK3C,eAAO,MAAM,kBAAkB,YAG9B,CAAA;AAKD,wBAAsB,wBAAwB,CAC5C,SAAS,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,GAC3B,OAAO,CAAC,YAAY,EAAE,CAAC,CA6PzB"}
|