@vxrn/compiler 1.27.1 → 2.0.0-beta.45.1
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/cache.cjs +106 -117
- package/dist/cjs/configure.cjs +26 -28
- package/dist/cjs/constants.cjs +56 -60
- package/dist/cjs/index.cjs +420 -443
- package/dist/cjs/reactNativeCodegen.cjs +105 -114
- package/dist/cjs/reactNativeViewConfig.cjs +362 -381
- package/dist/cjs/refresh-runtime.cjs +390 -397
- package/dist/cjs/transformBabel.cjs +273 -263
- package/dist/cjs/transformHermesAsync.cjs +36 -47
- package/dist/cjs/transformHermesLoops.cjs +279 -281
- package/dist/cjs/transformSWC.cjs +183 -200
- package/dist/cjs/transformWorklets.cjs +107 -95
- package/dist/cjs/types.cjs +9 -11
- package/dist/cjs/worklets/autoworklet.cjs +277 -222
- package/dist/cjs/worklets/globals.cjs +124 -60
- package/dist/cjs/worklets/hash.cjs +23 -27
- package/dist/cjs/worklets/scope.cjs +338 -359
- package/dist/cjs/worklets/serialize.cjs +73 -75
- package/dist/cjs/worklets/transform.cjs +217 -222
- package/dist/cjs/worklets/types.cjs +9 -11
- package/dist/esm/cache.mjs +90 -97
- package/dist/esm/cache.mjs.map +1 -1
- package/dist/esm/configure.mjs +11 -10
- package/dist/esm/configure.mjs.map +1 -1
- package/dist/esm/constants.mjs +41 -41
- package/dist/esm/constants.mjs.map +1 -1
- package/dist/esm/index.js +417 -425
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs +417 -425
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/reactNativeCodegen.mjs +90 -88
- package/dist/esm/reactNativeCodegen.mjs.map +1 -1
- package/dist/esm/reactNativeViewConfig.mjs +347 -362
- package/dist/esm/reactNativeViewConfig.mjs.map +1 -1
- package/dist/esm/refresh-runtime.mjs +372 -376
- package/dist/esm/refresh-runtime.mjs.map +1 -1
- package/dist/esm/transformBabel.mjs +255 -237
- package/dist/esm/transformBabel.mjs.map +1 -1
- package/dist/esm/transformHermesAsync.mjs +20 -21
- package/dist/esm/transformHermesAsync.mjs.map +1 -1
- package/dist/esm/transformHermesLoops.mjs +264 -255
- package/dist/esm/transformHermesLoops.mjs.map +1 -1
- package/dist/esm/transformSWC.mjs +163 -171
- package/dist/esm/transformSWC.mjs.map +1 -1
- package/dist/esm/transformWorklets.mjs +89 -69
- package/dist/esm/transformWorklets.mjs.map +1 -1
- package/dist/esm/types.mjs +0 -2
- package/dist/esm/worklets/autoworklet.mjs +258 -200
- package/dist/esm/worklets/autoworklet.mjs.map +1 -1
- package/dist/esm/worklets/globals.mjs +109 -42
- package/dist/esm/worklets/globals.mjs.map +1 -1
- package/dist/esm/worklets/hash.mjs +10 -9
- package/dist/esm/worklets/hash.mjs.map +1 -1
- package/dist/esm/worklets/scope.mjs +325 -341
- package/dist/esm/worklets/scope.mjs.map +1 -1
- package/dist/esm/worklets/serialize.mjs +60 -58
- package/dist/esm/worklets/serialize.mjs.map +1 -1
- package/dist/esm/worklets/transform.mjs +201 -197
- package/dist/esm/worklets/transform.mjs.map +1 -1
- package/dist/esm/worklets/types.mjs +0 -2
- package/package.json +7 -6
- package/src/transformBabel.test.ts +77 -17
- package/src/transformBabel.ts +28 -12
- package/types/transformBabel.d.ts +12 -0
- package/types/transformBabel.d.ts.map +1 -1
- package/types/transformSWC.d.ts +1 -4
- package/types/transformSWC.d.ts.map +1 -1
- package/dist/cjs/transformBabel.test.cjs +0 -652
- package/dist/cjs/transformHermesLoops.test.cjs +0 -257
- package/dist/cjs/transformSWC.test.cjs +0 -117
- package/dist/cjs/transformWorklets.test.cjs +0 -604
- package/dist/esm/transformBabel.test.mjs +0 -629
- package/dist/esm/transformBabel.test.mjs.map +0 -1
- package/dist/esm/transformHermesLoops.test.mjs +0 -234
- package/dist/esm/transformHermesLoops.test.mjs.map +0 -1
- package/dist/esm/transformSWC.test.mjs +0 -118
- package/dist/esm/transformSWC.test.mjs.map +0 -1
- package/dist/esm/transformWorklets.test.mjs +0 -581
- package/dist/esm/transformWorklets.test.mjs.map +0 -1
- package/dist/esm/types.mjs.map +0 -1
- package/dist/esm/worklets/types.mjs.map +0 -1
- package/types/transformBabel.test.d.ts +0 -2
- package/types/transformBabel.test.d.ts.map +0 -1
- package/types/transformHermesLoops.test.d.ts +0 -2
- package/types/transformHermesLoops.test.d.ts.map +0 -1
- package/types/transformSWC.test.d.ts +0 -2
- package/types/transformSWC.test.d.ts.map +0 -1
- package/types/transformWorklets.test.d.ts +0 -2
- package/types/transformWorklets.test.d.ts.map +0 -1
package/dist/esm/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["readFileSync","readFile","dirname","extname","join","relative","sep","fileURLToPath","resolvePath","cssToReactNativeRuntime","configuration","isNativeWorkletsEnabled","debug","runtimePublicPath","validParsers","getBabelOptions","transformBabel","transformOxcReactCompiler","shouldSourceMap","prepareWorkletsForReactCompiler","shouldTransformWorklets","transformWorklets","getCachedTransform","logCacheStats","setCachedTransform","clearTransformCache","JS_GLOBALS","getClosureVariables","perfStats","babel","totalCalls","totalTransforms","totalTime","byEnvironment","optimizeDeps","logPerfSummary","process","env","DEBUG_COMPILER_PERF","console","info","Math","max","toFixed","stats","Object","entries","transforms","time","elapsed","Date","now","startTime","filesChecked","filesTransformed","compilerLog","compiled","cached","timer","logCompiled","ms","clearTimeout","setTimeout","total","detail","unref","performBabelTransform","id","code","projectRoot","environment","production","reactForRNVersion","optionsIn","calls","transformProps","development","userTransform","transform","babelOptions","userSetting","hasCompilerPlugin","plugins","some","x","Array","isArray","userBabelConfigPath","configFile","includes","cwd","isWorkletPlugin","entry","name","workletEntry","find","workletPluginOptions","useWorklets","Boolean","curCode","workletPreparation","compilerOut","compilerPluginIndex","findIndex","compilerPluginConfig","compilerPluginOptions","useBabelCompiler","compiler","ONE_REACT_COMPILER","VXRN_REACT_COMPILER","splice","workletsOut","filter","babelOut","length","babelrc","finalMap","intermediateMaps","map","remapping","default","slice","reverse","babelOptsWithMap","sourceMaps","priorMaps","babelTime","outCode","result","createVXRNCompilerPlugin","reactVersion","path","json","JSON","parse","version","envNames","ios","android","client","ssr","getEnvName","Error","split","cssTransformCache","Map","rolldownPath","rolldownNodeMods","indexOf","config","apply","enforce","resolveId","load","basePath","import","meta","url","replace","stringify","sources","mappings","handler","codeIn","enableNativeCSS","data","inlineRem","newId","cssId","set","generateBundle","_","bundle","rootJSName","keys","i","chunk","type","fileName","match","rootJS","cssAssets","endsWith","jsCSS","get","nodeModulesFilter","createEnvironmentConfig","rolldownOptions","test","NODE_ENV","root","buildEnd","allDone","define","environments","configResolved","resolvedConfig","_id","isNative","command","isEntry","enableNativewind","extension","has","ext","hasRefreshCalls","out"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["esm/index.js"],"sourcesContent":["import { readFileSync } from \"node:fs\";\nimport { readFile } from \"node:fs/promises\";\nimport { dirname, extname, join, relative, sep } from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\nimport { resolvePath } from \"@vxrn/utils\";\nimport { cssToReactNativeRuntime } from \"react-native-css-interop/css-to-rn/index.js\";\nimport { configuration, isNativeWorkletsEnabled } from \"./configure\";\nimport { debug, runtimePublicPath, validParsers } from \"./constants\";\nimport {\n getBabelOptions,\n transformBabel,\n transformOxcReactCompiler\n} from \"./transformBabel\";\nimport { shouldSourceMap } from \"./transformSWC\";\nimport {\n prepareWorkletsForReactCompiler,\n shouldTransformWorklets,\n transformWorklets\n} from \"./transformWorklets\";\nimport { getCachedTransform, logCacheStats, setCachedTransform } from \"./cache\";\nexport * from \"./configure\";\nexport * from \"./transformBabel\";\nexport * from \"./transformSWC\";\nexport * from \"./transformWorklets\";\nexport * from \"./reactNativeCodegen\";\nexport * from \"./transformHermesLoops\";\nexport * from \"./transformHermesAsync\";\nimport { clearTransformCache } from \"./cache\";\nimport { JS_GLOBALS } from \"./worklets/globals\";\nimport { getClosureVariables } from \"./worklets/scope\";\nconst perfStats = {\n babel: {\n totalCalls: 0,\n totalTransforms: 0,\n totalTime: 0,\n byEnvironment: {}\n },\n optimizeDeps: {\n byEnvironment: {}\n }\n};\nfunction logPerfSummary() {\n if (!process.env.DEBUG_COMPILER_PERF) {\n return;\n }\n console.info(\"\\n\\u{1F4CA} [Compiler Performance Summary]\");\n console.info(\n `Babel: ${perfStats.babel.totalTransforms} transforms / ${perfStats.babel.totalCalls} calls (${(perfStats.babel.totalTransforms / Math.max(perfStats.babel.totalCalls, 1) * 100).toFixed(1)}% transform rate)`\n );\n console.info(`Babel total time: ${perfStats.babel.totalTime}ms`);\n for (const [env, stats] of Object.entries(perfStats.babel.byEnvironment)) {\n if (stats.transforms > 0) {\n console.info(\n ` ${env}: ${stats.transforms} transforms, ${stats.time}ms (${(stats.time / stats.transforms).toFixed(1)}ms avg)`\n );\n }\n }\n for (const [env, stats] of Object.entries(perfStats.optimizeDeps.byEnvironment)) {\n const elapsed = Date.now() - stats.startTime;\n console.info(\n `optimizeDeps ${env}: checked ${stats.filesChecked} files, transformed ${stats.filesTransformed} (${elapsed}ms)`\n );\n }\n}\nconst compilerLog = {\n compiled: 0,\n cached: 0,\n time: 0,\n // typed loose because the dom lib types setTimeout as number, but node gives\n // us a Timeout we need to unref so the debounce never holds the process open\n timer: null\n};\nfunction logCompiled(cached, ms) {\n if (cached) {\n compilerLog.cached++;\n } else {\n compilerLog.compiled++;\n compilerLog.time += ms;\n }\n if (compilerLog.timer) clearTimeout(compilerLog.timer);\n compilerLog.timer = setTimeout(() => {\n const total = compilerLog.compiled + compilerLog.cached;\n const detail = compilerLog.compiled ? `${compilerLog.compiled} compiled in ${compilerLog.time}ms${compilerLog.cached ? `, ${compilerLog.cached} cached` : \"\"}` : `all cached`;\n console.info(` \\u{1FA84} [compiler] ${total} file${total === 1 ? \"\" : \"s\"} (${detail})`);\n compilerLog.compiled = 0;\n compilerLog.cached = 0;\n compilerLog.time = 0;\n compilerLog.timer = null;\n }, 500);\n compilerLog.timer.unref?.();\n}\nasync function performBabelTransform({\n id,\n code,\n projectRoot,\n environment,\n production,\n reactForRNVersion,\n optionsIn\n}) {\n perfStats.babel.totalCalls++;\n if (!perfStats.babel.byEnvironment[environment]) {\n perfStats.babel.byEnvironment[environment] = { calls: 0, transforms: 0, time: 0 };\n }\n perfStats.babel.byEnvironment[environment].calls++;\n const transformProps = {\n id,\n code,\n projectRoot,\n development: !production,\n environment,\n reactForRNVersion\n };\n const userTransform = optionsIn?.transform?.(transformProps);\n if (userTransform === false) {\n return null;\n }\n if (userTransform !== \"swc\" && userTransform !== \"oxc\") {\n const babelOptions = getBabelOptions({\n ...transformProps,\n userSetting: userTransform\n });\n if (babelOptions) {\n const hasCompilerPlugin = babelOptions.plugins?.some(\n (x) => Array.isArray(x) && x[0] === \"babel-plugin-react-compiler\"\n );\n const userBabelConfigPath = typeof babelOptions.configFile === \"string\" ? babelOptions.configFile : null;\n const cached = getCachedTransform(id, code, environment, userBabelConfigPath);\n if (cached) {\n perfStats.babel.byEnvironment[environment].transforms++;\n if (hasCompilerPlugin && (cached.code.includes(\"react/compiler-runtime\") || cached.code.includes(\"react-compiler-runtime\"))) {\n debug?.(` \\u{1FA84} [compiler] ${relative(process.cwd(), id)} (cached)`);\n logCompiled(true, 0);\n }\n debug?.(`[babel/cached] ${id}`);\n return cached;\n }\n const isWorkletPlugin = (entry) => {\n if (!entry) return false;\n const name = typeof entry === \"string\" ? entry : Array.isArray(entry) ? entry[0] : null;\n return typeof name === \"string\" && (name.includes(\"react-native-worklets\") || name.includes(\"react-native-reanimated\"));\n };\n const workletEntry = babelOptions.plugins?.find(isWorkletPlugin);\n const workletPluginOptions = Array.isArray(workletEntry) ? workletEntry[1] : void 0;\n const useWorklets = isNativeWorkletsEnabled() && (Boolean(workletEntry) || shouldTransformWorklets({ id, code }));\n let curCode = code;\n let workletPreparation = null;\n let compilerOut = null;\n const compilerPluginIndex = babelOptions.plugins?.findIndex(\n (x) => Array.isArray(x) && x[0] === \"babel-plugin-react-compiler\"\n ) ?? -1;\n if (compilerPluginIndex !== -1) {\n const compilerPluginConfig = babelOptions.plugins[compilerPluginIndex];\n const compilerPluginOptions = compilerPluginConfig[1] || {};\n const useBabelCompiler = compilerPluginOptions.compiler === \"babel\" || process.env.ONE_REACT_COMPILER === \"babel\" || process.env.VXRN_REACT_COMPILER === \"babel\";\n if (!useBabelCompiler) {\n if (useWorklets) {\n workletPreparation = prepareWorkletsForReactCompiler(\n id,\n curCode,\n shouldSourceMap()\n );\n if (workletPreparation) curCode = workletPreparation.code;\n }\n compilerOut = await transformOxcReactCompiler(\n id,\n curCode,\n compilerPluginOptions,\n shouldSourceMap()\n );\n if (compilerOut) curCode = compilerOut.code;\n babelOptions.plugins.splice(compilerPluginIndex, 1);\n }\n }\n let workletsOut = null;\n if (useWorklets) {\n workletsOut = await transformWorklets(id, curCode, shouldSourceMap(), {\n projectRoot,\n ...workletPluginOptions\n });\n babelOptions.plugins = babelOptions.plugins?.filter(\n (entry) => !isWorkletPlugin(entry)\n );\n curCode = workletsOut.code;\n }\n const startTime = Date.now();\n let babelOut = null;\n if (babelOptions.plugins?.length === 0 && !babelOptions.configFile && !babelOptions.babelrc) {\n let finalMap = void 0;\n if (shouldSourceMap()) {\n const intermediateMaps = [\n workletPreparation?.map,\n compilerOut?.map,\n workletsOut?.map\n ].filter(Boolean);\n if (intermediateMaps.length === 1) {\n finalMap = intermediateMaps[0];\n } else if (intermediateMaps.length > 1) {\n const remapping = (await import(\"@jridgewell/remapping\")).default;\n finalMap = remapping(intermediateMaps.slice().reverse(), () => null);\n }\n }\n babelOut = { code: curCode, map: finalMap };\n } else {\n const babelOptsWithMap = shouldSourceMap() && (workletsOut?.map || compilerOut?.map || workletPreparation?.map) ? { ...babelOptions, sourceMaps: true } : babelOptions;\n babelOut = await transformBabel(id, curCode, babelOptsWithMap);\n if (shouldSourceMap() && babelOut?.map) {\n const priorMaps = [\n workletPreparation?.map,\n compilerOut?.map,\n workletsOut?.map\n ].filter(Boolean);\n if (priorMaps.length > 0) {\n const remapping = (await import(\"@jridgewell/remapping\")).default;\n babelOut.map = remapping(\n [babelOut.map, ...priorMaps.slice().reverse()],\n () => null\n );\n }\n }\n }\n const babelTime = Date.now() - startTime;\n if (babelOut?.code) {\n perfStats.babel.totalTransforms++;\n perfStats.babel.totalTime += babelTime;\n perfStats.babel.byEnvironment[environment].transforms++;\n perfStats.babel.byEnvironment[environment].time += babelTime;\n if (hasCompilerPlugin && (babelOut.code.includes(\"react/compiler-runtime\") || babelOut.code.includes(\"react-compiler-runtime\"))) {\n debug?.(` \\u{1FA84} [compiler] ${relative(process.cwd(), id)} (${babelTime}ms)`);\n logCompiled(false, babelTime);\n }\n debug?.(`[babel] ${id}`);\n const outCode = `${babelOut.code}\n// vxrn-did-babel`;\n const result = { code: outCode, map: babelOut.map };\n setCachedTransform(id, code, result, environment, userBabelConfigPath);\n return result;\n }\n }\n }\n return null;\n}\nasync function createVXRNCompilerPlugin(optionsIn) {\n const reactVersion = await (async () => {\n const path = resolvePath(\"react/package.json\");\n const json = JSON.parse(await readFile(path, \"utf-8\"));\n return json.version;\n })();\n const envNames = {\n ios: true,\n android: true,\n client: true,\n ssr: true\n };\n function getEnvName(name) {\n if (name === \"worker\") return \"ssr\";\n if (!envNames[name]) throw new Error(`Invalid env: ${name}`);\n return name;\n }\n const reactForRNVersion = reactVersion.split(\".\")[0];\n const cssTransformCache = /* @__PURE__ */ new Map();\n const rolldownPath = resolvePath(\"rolldown\");\n const rolldownNodeMods = rolldownPath.slice(\n 0,\n rolldownPath.indexOf(sep + \"node_modules\")\n );\n let config;\n return [\n {\n name: \"one:compiler-resolve-refresh-runtime\",\n apply: \"serve\",\n enforce: \"pre\",\n // Run before Vite default resolve to avoid syscalls\n resolveId: (id) => id === runtimePublicPath || id === `${runtimePublicPath}.map` ? id : void 0,\n load: (id) => {\n const basePath = dirname(fileURLToPath(import.meta.url));\n if (id === runtimePublicPath) {\n return readFileSync(join(basePath, \"refresh-runtime.mjs\"), \"utf-8\").replace(\n /\\/\\/# sourceMappingURL=.*/,\n \"\"\n );\n }\n if (id === `${runtimePublicPath}.map`) {\n return JSON.stringify({ version: 3, sources: [], mappings: \"\" });\n }\n return void 0;\n }\n },\n {\n name: `one:compiler-css-to-js`,\n // only .css files can match, so let rust reject everything else\n transform: {\n filter: { id: /\\.css$/ },\n handler(codeIn, id) {\n const environment = getEnvName(this.environment.name);\n if (configuration.enableNativeCSS && (environment === \"ios\" || environment === \"android\")) {\n {\n const data = JSON.stringify(\n cssToReactNativeRuntime(codeIn, { inlineRem: 16 })\n );\n const code = `require(\"nativewind/dist/index.js\").require().StyleSheet.registerCompiled(${data})`;\n const newId = `${id}.js`;\n const cssId = newId.replace(rolldownNodeMods + sep, \"\");\n cssTransformCache.set(cssId, code);\n return {\n code,\n id: newId,\n map: null\n };\n }\n }\n }\n },\n generateBundle(_, bundle) {\n const environment = getEnvName(this.environment.name);\n if (configuration.enableNativeCSS && (environment === \"ios\" || environment === \"android\")) {\n const rootJSName = Object.keys(bundle).find((i) => {\n const chunk = bundle[i];\n return chunk.type == \"chunk\" && chunk.fileName.match(/.[cm]?js(?:\\?.+)?$/) != null;\n });\n if (!rootJSName) {\n throw new Error(`Can't find root js, internal one error`);\n }\n const rootJS = bundle[rootJSName];\n const cssAssets = Object.keys(bundle).filter(\n (i) => bundle[i].fileName.endsWith(\".css.js\")\n );\n for (const name of cssAssets) {\n delete bundle[name];\n const jsCSS = cssTransformCache.get(name);\n rootJS.code = `\n${jsCSS}\n${rootJS.code}\n`;\n }\n }\n }\n },\n {\n name: \"one:compiler\",\n enforce: \"pre\",\n config: () => {\n const nodeModulesFilter = /node_modules[/\\\\].*\\.(tsx?|jsx?|mjs|cjs)$/;\n const createEnvironmentConfig = (environment) => {\n if (!perfStats.optimizeDeps.byEnvironment[environment]) {\n perfStats.optimizeDeps.byEnvironment[environment] = {\n filesChecked: 0,\n filesTransformed: 0,\n startTime: Date.now()\n };\n }\n return {\n optimizeDeps: {\n rolldownOptions: {\n plugins: [\n {\n name: `transform-before-optimize-deps-${environment}`,\n async transform(code, id) {\n if (!nodeModulesFilter.test(id)) {\n return null;\n }\n perfStats.optimizeDeps.byEnvironment[environment].filesChecked++;\n const production = process.env.NODE_ENV === \"production\" || process.env.NODE_ENV === \"test\";\n debug?.(`[rolldown optimizeDeps] ${id}`);\n const result = await performBabelTransform({\n id,\n code,\n projectRoot: config.root,\n environment,\n production,\n reactForRNVersion,\n optionsIn\n });\n if (!result) {\n return null;\n }\n perfStats.optimizeDeps.byEnvironment[environment].filesTransformed++;\n return {\n code: result.code,\n map: result.map\n };\n },\n buildEnd() {\n if (process.env.DEBUG_COMPILER_PERF) {\n const stats = perfStats.optimizeDeps.byEnvironment[environment];\n const elapsed = Date.now() - stats.startTime;\n console.info(\n `[optimizeDeps ${environment}] Done: ${stats.filesChecked} files checked, ${stats.filesTransformed} transformed (${elapsed}ms)`\n );\n }\n const allDone = Object.keys(perfStats.optimizeDeps.byEnvironment).length >= 2;\n if (allDone) {\n logCacheStats();\n logPerfSummary();\n }\n }\n }\n ]\n }\n },\n define: {\n \"process.env.NATIVEWIND_OS\": JSON.stringify(\n environment === \"ios\" || environment === \"android\" ? \"native\" : \"web\"\n )\n }\n };\n };\n return {\n environments: {\n ios: createEnvironmentConfig(\"ios\"),\n android: createEnvironmentConfig(\"android\"),\n client: createEnvironmentConfig(\"client\"),\n ssr: createEnvironmentConfig(\"ssr\")\n }\n };\n },\n configResolved(resolvedConfig) {\n config = resolvedConfig;\n },\n async transform(codeIn, _id) {\n let code = codeIn;\n const environment = getEnvName(this.environment.name);\n const isNative = environment === \"ios\" || environment === \"android\";\n const production = config.command === \"build\" || process.env.NODE_ENV === \"production\" || JSON.parse(\n this.environment.config?.define?.[\"process.env.NODE_ENV\"] || '\"\"'\n ) === \"production\";\n const isEntry = _id.includes(\"one-entry-native\");\n if (isEntry) {\n if (isNative && !production) {\n code = `import '@vxrn/vite-native-client'\n${code}`;\n }\n if (isNative && configuration.enableNativewind) {\n code = `import * as x from 'nativewind'\n${code}`;\n }\n return code;\n }\n const id = _id.split(\"?\")[0];\n const extension = extname(id);\n if (extension === \".css\" || !validParsers.has(extension)) {\n return;\n }\n if (id.includes(`virtual:`)) {\n return;\n }\n if (codeIn.endsWith(`// vxrn-did-babel`)) {\n debug?.(`[skip babel] ${id}`);\n return;\n }\n return performBabelTransform({\n id,\n code: codeIn,\n projectRoot: config.root,\n environment,\n production,\n reactForRNVersion,\n optionsIn\n });\n }\n },\n // wraps client-side TSX/JSX with React Refresh preamble + import.meta.hot.accept\n // runs after vite:oxc (no enforce:'pre') so it sees the already-transformed code\n {\n name: \"one:react-refresh-web\",\n apply: \"serve\",\n transform(code, _id) {\n if (this.environment.name !== \"client\") return;\n if (code.includes(runtimePublicPath)) return;\n const id = _id.split(\"?\")[0];\n if (id.includes(\"node_modules\")) return;\n if (id.includes(\"virtual:\")) return;\n if (id === runtimePublicPath) return;\n const ext = extname(id);\n if (ext !== \".tsx\" && ext !== \".jsx\") return;\n const hasRefreshCalls = /\\$RefreshReg\\$\\(/.test(code);\n let out = `import * as RefreshRuntime from \"${runtimePublicPath}\";\n\n`;\n if (hasRefreshCalls) {\n out += `if (!window.$RefreshReg$) throw new Error(\"React refresh preamble was not loaded. Something is wrong.\");\nconst prevRefreshReg = window.$RefreshReg$;\nconst prevRefreshSig = window.$RefreshSig$;\nwindow.$RefreshReg$ = RefreshRuntime.getRefreshReg(\"${id}\");\nwindow.$RefreshSig$ = RefreshRuntime.createSignatureFunctionForTransform;\n\n`;\n }\n out += code;\n if (hasRefreshCalls) {\n out += `\n\nwindow.$RefreshReg$ = prevRefreshReg;\nwindow.$RefreshSig$ = prevRefreshSig;\n`;\n }\n out += `\nRefreshRuntime.__hmr_import(import.meta.url).then((currentExports) => {\n RefreshRuntime.registerExportsForReactRefresh(\"${id}\", currentExports);\n import.meta.hot.accept((nextExports) => {\n if (!nextExports) return;\n const invalidateMessage = RefreshRuntime.validateRefreshBoundaryAndEnqueueUpdate(\"${id}\", currentExports, nextExports);\n if (invalidateMessage) import.meta.hot.invalidate(invalidateMessage);\n });\n});\n`;\n return { code: out, map: null };\n }\n }\n ];\n}\nexport {\n JS_GLOBALS,\n clearTransformCache,\n createVXRNCompilerPlugin,\n getClosureVariables\n};\n//# sourceMappingURL=index.js.map\n"],"mappings":"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"}
|
|
@@ -1,104 +1,106 @@
|
|
|
1
1
|
import MagicString from "magic-string";
|
|
2
2
|
import { generateViewConfig, parseSpec, renderViewConfigModule } from "./reactNativeViewConfig.mjs";
|
|
3
|
+
|
|
3
4
|
function normalizePath(id) {
|
|
4
|
-
|
|
5
|
+
return id.replace(/\\/g, "/");
|
|
5
6
|
}
|
|
6
7
|
const CODEGEN_FILE_RE = /(?:NativeComponent\.[cm]?[jt]sx?$|[/\\]specs?[/\\])/;
|
|
7
8
|
const CODEGEN_CALL_RE = /codegenNativeComponent\s*[<(]/;
|
|
8
|
-
const startOf = node => node.start ?? node.range[0];
|
|
9
|
-
const endOf = node => node.end ?? node.range[1];
|
|
9
|
+
const startOf = (node) => node.start ?? node.range[0];
|
|
10
|
+
const endOf = (node) => node.end ?? node.range[1];
|
|
10
11
|
function unwrapExpression(node) {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
12
|
+
while (node) {
|
|
13
|
+
if (node.type === "TSAsExpression" || node.type === "TSSatisfiesExpression" || node.type === "TSTypeAssertion" || node.type === "TypeCastExpression" || node.type === "AsExpression" || node.type === "ParenthesizedExpression") {
|
|
14
|
+
node = node.expression;
|
|
15
|
+
} else if (node.type === "SequenceExpression" && Array.isArray(node.expressions) && node.expressions.length > 0) {
|
|
16
|
+
node = node.expressions[node.expressions.length - 1];
|
|
17
|
+
} else {
|
|
18
|
+
break;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
return node;
|
|
21
22
|
}
|
|
22
23
|
function isCodegenDeclaration(declaration) {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
24
|
+
if (!declaration) return false;
|
|
25
|
+
if (declaration.left && declaration.left.left && declaration.left.left.name === "codegenNativeComponent") {
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
const unwrapped = unwrapExpression(declaration);
|
|
29
|
+
return unwrapped?.type === "CallExpression" && unwrapped.callee?.type === "Identifier" && unwrapped.callee.name === "codegenNativeComponent";
|
|
29
30
|
}
|
|
30
31
|
function isCodegenNativeCommandsDeclaration(declaration) {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
if (!declaration) return false;
|
|
33
|
+
const unwrapped = unwrapExpression(declaration);
|
|
34
|
+
return unwrapped?.type === "CallExpression" && unwrapped.callee?.type === "Identifier" && unwrapped.callee.name === "codegenNativeCommands";
|
|
34
35
|
}
|
|
35
36
|
function transformReactNativeCodegen(code, id, projectRoot) {
|
|
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
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
37
|
+
const cleanId = normalizePath(id.split("?")[0]);
|
|
38
|
+
if (!CODEGEN_FILE_RE.test(cleanId)) {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
if (!CODEGEN_CALL_RE.test(code)) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
const program = parseSpec(code, cleanId, projectRoot);
|
|
45
|
+
const body = program?.body;
|
|
46
|
+
if (!body) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
let defaultExport = null;
|
|
50
|
+
let commandsExport = null;
|
|
51
|
+
for (const node of body) {
|
|
52
|
+
if (node.type === "ExportDefaultDeclaration") {
|
|
53
|
+
if (isCodegenDeclaration(node.declaration)) {
|
|
54
|
+
defaultExport = node;
|
|
55
|
+
}
|
|
56
|
+
} else if (node.type === "ExportNamedDeclaration") {
|
|
57
|
+
if (node.declaration && node.declaration.declarations) {
|
|
58
|
+
const firstDeclaration = node.declaration.declarations[0];
|
|
59
|
+
if (firstDeclaration?.type === "VariableDeclarator") {
|
|
60
|
+
const isValidCommandsExport = isCodegenNativeCommandsDeclaration(firstDeclaration.init);
|
|
61
|
+
if (isValidCommandsExport) {
|
|
62
|
+
if (firstDeclaration.id?.type === "Identifier" && firstDeclaration.id.name !== "Commands") {
|
|
63
|
+
throw new Error("Native commands must be exported with the name 'Commands'");
|
|
64
|
+
}
|
|
65
|
+
commandsExport = node;
|
|
66
|
+
} else {
|
|
67
|
+
if (firstDeclaration.id?.type === "Identifier" && firstDeclaration.id.name === "Commands") {
|
|
68
|
+
throw new Error("'Commands' is a reserved export and may only be used to export the result of codegenNativeCommands.");
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
} else if (node.specifiers && node.specifiers.length > 0) {
|
|
73
|
+
for (const specifier of node.specifiers) {
|
|
74
|
+
if (specifier.type === "ExportSpecifier" && (specifier.local?.type === "Identifier" && specifier.local.name === "Commands" || specifier.exported?.type === "Identifier" && specifier.exported.name === "Commands")) {
|
|
75
|
+
throw new Error("'Commands' is a reserved export and may only be used to export the result of codegenNativeCommands.");
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
if (!defaultExport) {
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
const generated = generateViewConfig(program);
|
|
85
|
+
if (!generated) {
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
const s = new MagicString(code);
|
|
89
|
+
if (commandsExport) {
|
|
90
|
+
let removeEnd = endOf(commandsExport);
|
|
91
|
+
if (code[removeEnd] === "\r") removeEnd++;
|
|
92
|
+
if (code[removeEnd] === "\n") removeEnd++;
|
|
93
|
+
s.remove(startOf(commandsExport), removeEnd);
|
|
94
|
+
}
|
|
95
|
+
s.overwrite(startOf(defaultExport), endOf(defaultExport), renderViewConfigModule(generated));
|
|
96
|
+
return {
|
|
97
|
+
code: s.toString(),
|
|
98
|
+
map: s.generateMap({
|
|
99
|
+
hires: true,
|
|
100
|
+
source: cleanId
|
|
101
|
+
})
|
|
102
|
+
};
|
|
102
103
|
}
|
|
104
|
+
|
|
103
105
|
export { transformReactNativeCodegen };
|
|
104
106
|
//# sourceMappingURL=reactNativeCodegen.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"reactNativeCodegen.js","names":[],"sources":["esm/reactNativeCodegen.js"],"sourcesContent":["import MagicString from \"magic-string\";\nimport {\n generateViewConfig,\n parseSpec,\n renderViewConfigModule\n} from \"./reactNativeViewConfig\";\nfunction normalizePath(id) {\n return id.replace(/\\\\/g, \"/\");\n}\nconst CODEGEN_FILE_RE = /(?:NativeComponent\\.[cm]?[jt]sx?$|[/\\\\]specs?[/\\\\])/;\nconst CODEGEN_CALL_RE = /codegenNativeComponent\\s*[<(]/;\nconst startOf = (node) => node.start ?? node.range[0];\nconst endOf = (node) => node.end ?? node.range[1];\nfunction unwrapExpression(node) {\n while (node) {\n if (node.type === \"TSAsExpression\" || node.type === \"TSSatisfiesExpression\" || node.type === \"TSTypeAssertion\" || node.type === \"TypeCastExpression\" || node.type === \"AsExpression\" || node.type === \"ParenthesizedExpression\") {\n node = node.expression;\n } else if (node.type === \"SequenceExpression\" && Array.isArray(node.expressions) && node.expressions.length > 0) {\n node = node.expressions[node.expressions.length - 1];\n } else {\n break;\n }\n }\n return node;\n}\nfunction isCodegenDeclaration(declaration) {\n if (!declaration) return false;\n if (declaration.left && declaration.left.left && declaration.left.left.name === \"codegenNativeComponent\") {\n return true;\n }\n const unwrapped = unwrapExpression(declaration);\n return unwrapped?.type === \"CallExpression\" && unwrapped.callee?.type === \"Identifier\" && unwrapped.callee.name === \"codegenNativeComponent\";\n}\nfunction isCodegenNativeCommandsDeclaration(declaration) {\n if (!declaration) return false;\n const unwrapped = unwrapExpression(declaration);\n return unwrapped?.type === \"CallExpression\" && unwrapped.callee?.type === \"Identifier\" && unwrapped.callee.name === \"codegenNativeCommands\";\n}\nfunction transformReactNativeCodegen(code, id, projectRoot) {\n const cleanId = normalizePath(id.split(\"?\")[0]);\n if (!CODEGEN_FILE_RE.test(cleanId)) {\n return;\n }\n if (!CODEGEN_CALL_RE.test(code)) {\n return;\n }\n const program = parseSpec(code, cleanId, projectRoot);\n const body = program?.body;\n if (!body) {\n return;\n }\n let defaultExport = null;\n let commandsExport = null;\n for (const node of body) {\n if (node.type === \"ExportDefaultDeclaration\") {\n if (isCodegenDeclaration(node.declaration)) {\n defaultExport = node;\n }\n } else if (node.type === \"ExportNamedDeclaration\") {\n if (node.declaration && node.declaration.declarations) {\n const firstDeclaration = node.declaration.declarations[0];\n if (firstDeclaration?.type === \"VariableDeclarator\") {\n const isValidCommandsExport = isCodegenNativeCommandsDeclaration(\n firstDeclaration.init\n );\n if (isValidCommandsExport) {\n if (firstDeclaration.id?.type === \"Identifier\" && firstDeclaration.id.name !== \"Commands\") {\n throw new Error(\"Native commands must be exported with the name 'Commands'\");\n }\n commandsExport = node;\n } else {\n if (firstDeclaration.id?.type === \"Identifier\" && firstDeclaration.id.name === \"Commands\") {\n throw new Error(\n \"'Commands' is a reserved export and may only be used to export the result of codegenNativeCommands.\"\n );\n }\n }\n }\n } else if (node.specifiers && node.specifiers.length > 0) {\n for (const specifier of node.specifiers) {\n if (specifier.type === \"ExportSpecifier\" && (specifier.local?.type === \"Identifier\" && specifier.local.name === \"Commands\" || specifier.exported?.type === \"Identifier\" && specifier.exported.name === \"Commands\")) {\n throw new Error(\n \"'Commands' is a reserved export and may only be used to export the result of codegenNativeCommands.\"\n );\n }\n }\n }\n }\n }\n if (!defaultExport) {\n return;\n }\n const generated = generateViewConfig(program);\n if (!generated) {\n return;\n }\n const s = new MagicString(code);\n if (commandsExport) {\n let removeEnd = endOf(commandsExport);\n if (code[removeEnd] === \"\\r\") removeEnd++;\n if (code[removeEnd] === \"\\n\") removeEnd++;\n s.remove(startOf(commandsExport), removeEnd);\n }\n s.overwrite(\n startOf(defaultExport),\n endOf(defaultExport),\n renderViewConfigModule(generated)\n );\n return {\n code: s.toString(),\n map: s.generateMap({ hires: true, source: cleanId })\n };\n}\nexport {\n transformReactNativeCodegen\n};\n//# sourceMappingURL=reactNativeCodegen.js.map\n"],"mappings":"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"}
|