@hanzogui/static 8.3.0 → 8.3.2
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/check-dep-versions.js +438 -0
- package/dist/cjs/check-dep-versions.js.map +1 -0
- package/dist/cjs/checkDeps.js +343 -0
- package/dist/cjs/checkDeps.js.map +1 -0
- package/dist/cjs/constants.js +13 -0
- package/dist/cjs/constants.js.map +1 -0
- package/dist/cjs/exports.js +27 -0
- package/dist/cjs/exports.js.map +1 -0
- package/dist/cjs/extractor/accessSafe.js +17 -0
- package/dist/cjs/extractor/accessSafe.js.map +1 -0
- package/dist/cjs/extractor/babelParse.js +27 -0
- package/dist/cjs/extractor/babelParse.js.map +1 -0
- package/dist/cjs/extractor/buildClassName.js +65 -0
- package/dist/cjs/extractor/buildClassName.js.map +1 -0
- package/dist/cjs/extractor/bundle.js +257 -0
- package/dist/cjs/extractor/bundle.js.map +1 -0
- package/dist/cjs/extractor/bundleConfig.js +794 -0
- package/dist/cjs/extractor/bundleConfig.js.map +1 -0
- package/dist/cjs/extractor/concatClassName.js +101 -0
- package/dist/cjs/extractor/concatClassName.js.map +1 -0
- package/dist/cjs/extractor/createEvaluator.js +56 -0
- package/dist/cjs/extractor/createEvaluator.js.map +1 -0
- package/dist/cjs/extractor/createExtractor.js +2285 -0
- package/dist/cjs/extractor/createExtractor.js.map +1 -0
- package/dist/cjs/extractor/createLogger.js +34 -0
- package/dist/cjs/extractor/createLogger.js.map +1 -0
- package/dist/cjs/extractor/detectModuleFormat.js +41 -0
- package/dist/cjs/extractor/detectModuleFormat.js.map +1 -0
- package/dist/cjs/extractor/ensureImportingConcat.js +23 -0
- package/dist/cjs/extractor/ensureImportingConcat.js.map +1 -0
- package/dist/cjs/extractor/errors.js +7 -0
- package/dist/cjs/extractor/errors.js.map +1 -0
- package/dist/cjs/extractor/esbuildAliasPlugin.js +43 -0
- package/dist/cjs/extractor/esbuildAliasPlugin.js.map +1 -0
- package/dist/cjs/extractor/esbuildTsconfigPaths.js +68 -0
- package/dist/cjs/extractor/esbuildTsconfigPaths.js.map +1 -0
- package/dist/cjs/extractor/evaluateAstNode.js +107 -0
- package/dist/cjs/extractor/evaluateAstNode.js.map +1 -0
- package/dist/cjs/extractor/extractHelpers.js +183 -0
- package/dist/cjs/extractor/extractHelpers.js.map +1 -0
- package/dist/cjs/extractor/extractMediaStyle.js +143 -0
- package/dist/cjs/extractor/extractMediaStyle.js.map +1 -0
- package/dist/cjs/extractor/extractToClassNames.js +541 -0
- package/dist/cjs/extractor/extractToClassNames.js.map +1 -0
- package/dist/cjs/extractor/extractToNative.js +404 -0
- package/dist/cjs/extractor/extractToNative.js.map +1 -0
- package/dist/cjs/extractor/extractablePath.js +89 -0
- package/dist/cjs/extractor/extractablePath.js.map +1 -0
- package/dist/cjs/extractor/findTopmostFunction.js +17 -0
- package/dist/cjs/extractor/findTopmostFunction.js.map +1 -0
- package/dist/cjs/extractor/generatedUid.js +35 -0
- package/dist/cjs/extractor/generatedUid.js.map +1 -0
- package/dist/cjs/extractor/getGuiConfigPathFromOptionsConfig.js +21 -0
- package/dist/cjs/extractor/getGuiConfigPathFromOptionsConfig.js.map +1 -0
- package/dist/cjs/extractor/getPrefixLogs.js +9 -0
- package/dist/cjs/extractor/getPrefixLogs.js.map +1 -0
- package/dist/cjs/extractor/getPropValueFromAttributes.js +75 -0
- package/dist/cjs/extractor/getPropValueFromAttributes.js.map +1 -0
- package/dist/cjs/extractor/getSourceModule.js +81 -0
- package/dist/cjs/extractor/getSourceModule.js.map +1 -0
- package/dist/cjs/extractor/getStaticBindingsForScope.js +212 -0
- package/dist/cjs/extractor/getStaticBindingsForScope.js.map +1 -0
- package/dist/cjs/extractor/hasTopLevelAwait.js +29 -0
- package/dist/cjs/extractor/hasTopLevelAwait.js.map +1 -0
- package/dist/cjs/extractor/hoistClassNames.js +47 -0
- package/dist/cjs/extractor/hoistClassNames.js.map +1 -0
- package/dist/cjs/extractor/literalToAst.js +83 -0
- package/dist/cjs/extractor/literalToAst.js.map +1 -0
- package/dist/cjs/extractor/loadFile.js +24 -0
- package/dist/cjs/extractor/loadFile.js.map +1 -0
- package/dist/cjs/extractor/loadGui.js +414 -0
- package/dist/cjs/extractor/loadGui.js.map +1 -0
- package/dist/cjs/extractor/logLines.js +20 -0
- package/dist/cjs/extractor/logLines.js.map +1 -0
- package/dist/cjs/extractor/normalizeTernaries.js +60 -0
- package/dist/cjs/extractor/normalizeTernaries.js.map +1 -0
- package/dist/cjs/extractor/propsToFontFamilyCache.js +20 -0
- package/dist/cjs/extractor/propsToFontFamilyCache.js.map +1 -0
- package/dist/cjs/extractor/regenerateConfig.js +151 -0
- package/dist/cjs/extractor/regenerateConfig.js.map +1 -0
- package/dist/cjs/extractor/removeUnusedHooks.js +84 -0
- package/dist/cjs/extractor/removeUnusedHooks.js.map +1 -0
- package/dist/cjs/extractor/timer.js +30 -0
- package/dist/cjs/extractor/timer.js.map +1 -0
- package/dist/cjs/extractor/validHTMLAttributes.js +56 -0
- package/dist/cjs/extractor/validHTMLAttributes.js.map +1 -0
- package/dist/cjs/extractor/watchGuiConfig.js +56 -0
- package/dist/cjs/extractor/watchGuiConfig.js.map +1 -0
- package/dist/cjs/getPragmaOptions.js +52 -0
- package/dist/cjs/getPragmaOptions.js.map +1 -0
- package/dist/cjs/helpers/memoize.js +24 -0
- package/dist/cjs/helpers/memoize.js.map +1 -0
- package/dist/cjs/helpers/nativeEntry.js +87 -0
- package/dist/cjs/helpers/nativeEntry.js.map +1 -0
- package/dist/cjs/helpers/requireGuiCore.js +25 -0
- package/dist/cjs/helpers/requireGuiCore.js.map +1 -0
- package/dist/cjs/here.js +8 -0
- package/dist/cjs/here.js.map +1 -0
- package/dist/cjs/index.js +8 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/registerRequire.js +263 -0
- package/dist/cjs/registerRequire.js.map +1 -0
- package/dist/cjs/server.js +41 -0
- package/dist/cjs/server.js.map +1 -0
- package/dist/cjs/setup.js +2 -0
- package/dist/cjs/setup.js.map +1 -0
- package/dist/cjs/types.js +3 -0
- package/dist/cjs/types.js.map +1 -0
- package/dist/cjs/worker.js +95 -0
- package/dist/cjs/worker.js.map +1 -0
- package/dist/esm/check-dep-versions.js +433 -0
- package/dist/esm/check-dep-versions.js.map +1 -0
- package/dist/esm/checkDeps.js +339 -0
- package/dist/esm/checkDeps.js.map +1 -0
- package/dist/esm/constants.js +9 -0
- package/dist/esm/constants.js.map +1 -0
- package/dist/esm/exports.js +18 -0
- package/dist/esm/exports.js.map +1 -0
- package/dist/esm/extractor/accessSafe.js +13 -0
- package/dist/esm/extractor/accessSafe.js.map +1 -0
- package/dist/esm/extractor/babelParse.js +22 -0
- package/dist/esm/extractor/babelParse.js.map +1 -0
- package/dist/esm/extractor/buildClassName.js +59 -0
- package/dist/esm/extractor/buildClassName.js.map +1 -0
- package/dist/esm/extractor/bundle.js +252 -0
- package/dist/esm/extractor/bundle.js.map +1 -0
- package/dist/esm/extractor/bundleConfig.js +781 -0
- package/dist/esm/extractor/bundleConfig.js.map +1 -0
- package/dist/esm/extractor/concatClassName.js +98 -0
- package/dist/esm/extractor/concatClassName.js.map +1 -0
- package/dist/esm/extractor/createEvaluator.js +51 -0
- package/dist/esm/extractor/createEvaluator.js.map +1 -0
- package/dist/esm/extractor/createExtractor.js +2281 -0
- package/dist/esm/extractor/createExtractor.js.map +1 -0
- package/dist/esm/extractor/createLogger.js +31 -0
- package/dist/esm/extractor/createLogger.js.map +1 -0
- package/dist/esm/extractor/detectModuleFormat.js +37 -0
- package/dist/esm/extractor/detectModuleFormat.js.map +1 -0
- package/dist/esm/extractor/ensureImportingConcat.js +19 -0
- package/dist/esm/extractor/ensureImportingConcat.js.map +1 -0
- package/dist/esm/extractor/errors.js +3 -0
- package/dist/esm/extractor/errors.js.map +1 -0
- package/dist/esm/extractor/esbuildAliasPlugin.js +39 -0
- package/dist/esm/extractor/esbuildAliasPlugin.js.map +1 -0
- package/dist/esm/extractor/esbuildTsconfigPaths.js +63 -0
- package/dist/esm/extractor/esbuildTsconfigPaths.js.map +1 -0
- package/dist/esm/extractor/evaluateAstNode.js +103 -0
- package/dist/esm/extractor/evaluateAstNode.js.map +1 -0
- package/dist/esm/extractor/extractHelpers.js +166 -0
- package/dist/esm/extractor/extractHelpers.js.map +1 -0
- package/dist/esm/extractor/extractMediaStyle.js +138 -0
- package/dist/esm/extractor/extractMediaStyle.js.map +1 -0
- package/dist/esm/extractor/extractToClassNames.js +537 -0
- package/dist/esm/extractor/extractToClassNames.js.map +1 -0
- package/dist/esm/extractor/extractToNative.js +398 -0
- package/dist/esm/extractor/extractToNative.js.map +1 -0
- package/dist/esm/extractor/extractablePath.js +84 -0
- package/dist/esm/extractor/extractablePath.js.map +1 -0
- package/dist/esm/extractor/findTopmostFunction.js +14 -0
- package/dist/esm/extractor/findTopmostFunction.js.map +1 -0
- package/dist/esm/extractor/generatedUid.js +31 -0
- package/dist/esm/extractor/generatedUid.js.map +1 -0
- package/dist/esm/extractor/getGuiConfigPathFromOptionsConfig.js +18 -0
- package/dist/esm/extractor/getGuiConfigPathFromOptionsConfig.js.map +1 -0
- package/dist/esm/extractor/getPrefixLogs.js +6 -0
- package/dist/esm/extractor/getPrefixLogs.js.map +1 -0
- package/dist/esm/extractor/getPropValueFromAttributes.js +71 -0
- package/dist/esm/extractor/getPropValueFromAttributes.js.map +1 -0
- package/dist/esm/extractor/getSourceModule.js +77 -0
- package/dist/esm/extractor/getSourceModule.js.map +1 -0
- package/dist/esm/extractor/getStaticBindingsForScope.js +207 -0
- package/dist/esm/extractor/getStaticBindingsForScope.js.map +1 -0
- package/dist/esm/extractor/hasTopLevelAwait.js +25 -0
- package/dist/esm/extractor/hasTopLevelAwait.js.map +1 -0
- package/dist/esm/extractor/hoistClassNames.js +43 -0
- package/dist/esm/extractor/hoistClassNames.js.map +1 -0
- package/dist/esm/extractor/literalToAst.js +78 -0
- package/dist/esm/extractor/literalToAst.js.map +1 -0
- package/dist/esm/extractor/loadFile.js +22 -0
- package/dist/esm/extractor/loadFile.js.map +1 -0
- package/dist/esm/extractor/loadGui.js +402 -0
- package/dist/esm/extractor/loadGui.js.map +1 -0
- package/dist/esm/extractor/logLines.js +16 -0
- package/dist/esm/extractor/logLines.js.map +1 -0
- package/dist/esm/extractor/normalizeTernaries.js +56 -0
- package/dist/esm/extractor/normalizeTernaries.js.map +1 -0
- package/dist/esm/extractor/propsToFontFamilyCache.js +15 -0
- package/dist/esm/extractor/propsToFontFamilyCache.js.map +1 -0
- package/dist/esm/extractor/regenerateConfig.js +145 -0
- package/dist/esm/extractor/regenerateConfig.js.map +1 -0
- package/dist/esm/extractor/removeUnusedHooks.js +80 -0
- package/dist/esm/extractor/removeUnusedHooks.js.map +1 -0
- package/dist/esm/extractor/timer.js +26 -0
- package/dist/esm/extractor/timer.js.map +1 -0
- package/dist/esm/extractor/validHTMLAttributes.js +53 -0
- package/dist/esm/extractor/validHTMLAttributes.js.map +1 -0
- package/dist/esm/extractor/watchGuiConfig.js +53 -0
- package/dist/esm/extractor/watchGuiConfig.js.map +1 -0
- package/dist/esm/getPragmaOptions.js +49 -0
- package/dist/esm/getPragmaOptions.js.map +1 -0
- package/dist/esm/helpers/memoize.js +21 -0
- package/dist/esm/helpers/memoize.js.map +1 -0
- package/dist/esm/helpers/nativeEntry.js +82 -0
- package/dist/esm/helpers/nativeEntry.js.map +1 -0
- package/dist/esm/helpers/requireGuiCore.js +22 -0
- package/dist/esm/helpers/requireGuiCore.js.map +1 -0
- package/dist/esm/here.js +7 -0
- package/dist/esm/here.js.map +1 -0
- package/dist/esm/index.js +5 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/registerRequire.js +256 -0
- package/dist/esm/registerRequire.js.map +1 -0
- package/dist/esm/server.js +37 -0
- package/dist/esm/server.js.map +1 -0
- package/dist/esm/setup.js +2 -0
- package/dist/esm/setup.js.map +1 -0
- package/dist/esm/types.js +2 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/esm/worker.js +92 -0
- package/dist/esm/worker.js.map +1 -0
- package/package.json +77 -56
- package/src/check-dep-versions.ts +2 -1
- package/src/checkDeps.ts +1 -1
- package/src/exports.ts +17 -17
- package/src/extractor/babelParse.ts +2 -11
- package/src/extractor/buildClassName.ts +1 -1
- package/src/extractor/bundle.ts +13 -9
- package/src/extractor/bundleConfig.ts +25 -21
- package/src/extractor/createEvaluator.ts +3 -3
- package/src/extractor/createExtractor.ts +59 -77
- package/src/extractor/createLogger.ts +2 -2
- package/src/extractor/esbuildTsconfigPaths.ts +55 -120
- package/src/extractor/evaluateAstNode.ts +2 -2
- package/src/extractor/extractHelpers.ts +3 -3
- package/src/extractor/extractMediaStyle.ts +3 -3
- package/src/extractor/extractToClassNames.ts +12 -12
- package/src/extractor/extractToNative.ts +20 -22
- package/src/extractor/findTopmostFunction.ts +5 -13
- package/src/extractor/getGuiConfigPathFromOptionsConfig.ts +1 -1
- package/src/extractor/getPrefixLogs.ts +1 -1
- package/src/extractor/getPropValueFromAttributes.ts +2 -2
- package/src/extractor/getStaticBindingsForScope.ts +6 -6
- package/src/extractor/hasTopLevelAwait.ts +1 -1
- package/src/extractor/literalToAst.ts +2 -2
- package/src/extractor/loadFile.ts +6 -1
- package/src/extractor/loadGui.ts +16 -12
- package/src/extractor/normalizeTernaries.ts +3 -3
- package/src/extractor/regenerateConfig.ts +10 -6
- package/src/extractor/watchGuiConfig.ts +7 -3
- package/src/helpers/nativeEntry.ts +92 -0
- package/src/helpers/requireGuiCore.ts +8 -3
- package/src/here.cjs.ts +6 -0
- package/src/here.ts +8 -0
- package/src/index.ts +2 -2
- package/src/registerRequire.ts +30 -14
- package/src/server.ts +1 -1
- package/src/types.ts +1 -1
- package/src/worker.ts +7 -7
- package/types/check-dep-versions.d.ts.map +1 -1
- package/types/constants.d.ts +1 -1
- package/types/constants.d.ts.map +1 -1
- package/types/exports.d.ts +17 -17
- package/types/exports.d.ts.map +1 -1
- package/types/extractor/babelParse.d.ts.map +1 -1
- package/types/extractor/buildClassName.d.ts +1 -1
- package/types/extractor/buildClassName.d.ts.map +1 -1
- package/types/extractor/bundle.d.ts +66 -66
- package/types/extractor/bundle.d.ts.map +1 -1
- package/types/extractor/bundleConfig.d.ts +2 -2
- package/types/extractor/bundleConfig.d.ts.map +1 -1
- package/types/extractor/createEvaluator.d.ts +1 -1
- package/types/extractor/createEvaluator.d.ts.map +1 -1
- package/types/extractor/createExtractor.d.ts +4 -4
- package/types/extractor/createExtractor.d.ts.map +1 -1
- package/types/extractor/createLogger.d.ts +1 -1
- package/types/extractor/createLogger.d.ts.map +1 -1
- package/types/extractor/esbuildAliasPlugin.d.ts.map +1 -1
- package/types/extractor/esbuildTsconfigPaths.d.ts +4 -9
- package/types/extractor/esbuildTsconfigPaths.d.ts.map +1 -1
- package/types/extractor/extractHelpers.d.ts +1 -1
- package/types/extractor/extractHelpers.d.ts.map +1 -1
- package/types/extractor/extractMediaStyle.d.ts +2 -3
- package/types/extractor/extractMediaStyle.d.ts.map +1 -1
- package/types/extractor/extractToClassNames.d.ts +2 -2
- package/types/extractor/extractToClassNames.d.ts.map +1 -1
- package/types/extractor/extractToNative.d.ts +4 -4
- package/types/extractor/extractToNative.d.ts.map +1 -1
- package/types/extractor/findTopmostFunction.d.ts +1 -1
- package/types/extractor/findTopmostFunction.d.ts.map +1 -1
- package/types/extractor/getGuiConfigPathFromOptionsConfig.d.ts +1 -1
- package/types/extractor/getGuiConfigPathFromOptionsConfig.d.ts.map +1 -1
- package/types/extractor/getPrefixLogs.d.ts +1 -1
- package/types/extractor/getPrefixLogs.d.ts.map +1 -1
- package/types/extractor/loadFile.d.ts +1 -0
- package/types/extractor/loadGui.d.ts +1 -1
- package/types/extractor/loadGui.d.ts.map +1 -1
- package/types/extractor/logLines.d.ts.map +1 -1
- package/types/extractor/normalizeTernaries.d.ts +1 -1
- package/types/extractor/normalizeTernaries.d.ts.map +1 -1
- package/types/extractor/regenerateConfig.d.ts +1 -1
- package/types/extractor/regenerateConfig.d.ts.map +1 -1
- package/types/extractor/timer.d.ts.map +1 -1
- package/types/extractor/validHTMLAttributes.d.ts.map +1 -1
- package/types/extractor/watchGuiConfig.d.ts.map +1 -1
- package/types/getPragmaOptions.d.ts +1 -1
- package/types/helpers/memoize.d.ts +1 -1
- package/types/helpers/memoize.d.ts.map +1 -1
- package/types/helpers/nativeEntry.d.ts +16 -0
- package/types/helpers/nativeEntry.d.ts.map +1 -0
- package/types/helpers/requireGuiCore.d.ts +1 -1
- package/types/helpers/requireGuiCore.d.ts.map +1 -1
- package/types/here.d.ts +3 -0
- package/types/here.d.ts.map +1 -0
- package/types/index.d.ts +2 -2
- package/types/index.d.ts.map +1 -1
- package/types/registerRequire.d.ts +1 -1
- package/types/registerRequire.d.ts.map +1 -1
- package/types/server.d.ts +1 -1
- package/types/server.d.ts.map +1 -1
- package/types/types.d.ts +1 -1
- package/types/types.d.ts.map +1 -1
- package/types/worker.d.ts +4 -4
- package/types/worker.d.ts.map +1 -1
- package/dist/check-dep-versions.cjs +0 -372
- package/dist/checkDeps.cjs +0 -271
- package/dist/constants.cjs +0 -51
- package/dist/exports.cjs +0 -49
- package/dist/extractor/accessSafe.cjs +0 -48
- package/dist/extractor/babelParse.cjs +0 -56
- package/dist/extractor/buildClassName.cjs +0 -86
- package/dist/extractor/bundle.cjs +0 -234
- package/dist/extractor/bundleConfig.cjs +0 -729
- package/dist/extractor/concatClassName.cjs +0 -121
- package/dist/extractor/createEvaluator.cjs +0 -88
- package/dist/extractor/createExtractor.cjs +0 -1935
- package/dist/extractor/createLogger.cjs +0 -50
- package/dist/extractor/detectModuleFormat.cjs +0 -55
- package/dist/extractor/ensureImportingConcat.cjs +0 -54
- package/dist/extractor/errors.cjs +0 -28
- package/dist/extractor/esbuildAliasPlugin.cjs +0 -56
- package/dist/extractor/esbuildTsconfigPaths.cjs +0 -126
- package/dist/extractor/evaluateAstNode.cjs +0 -128
- package/dist/extractor/extractHelpers.cjs +0 -182
- package/dist/extractor/extractMediaStyle.cjs +0 -169
- package/dist/extractor/extractToClassNames.cjs +0 -476
- package/dist/extractor/extractToNative.cjs +0 -369
- package/dist/extractor/extractablePath.cjs +0 -51
- package/dist/extractor/findTopmostFunction.cjs +0 -43
- package/dist/extractor/generatedUid.cjs +0 -58
- package/dist/extractor/getGuiConfigPathFromOptionsConfig.cjs +0 -41
- package/dist/extractor/getPrefixLogs.cjs +0 -31
- package/dist/extractor/getPropValueFromAttributes.cjs +0 -85
- package/dist/extractor/getSourceModule.cjs +0 -100
- package/dist/extractor/getStaticBindingsForScope.cjs +0 -213
- package/dist/extractor/hasTopLevelAwait.cjs +0 -62
- package/dist/extractor/hoistClassNames.cjs +0 -76
- package/dist/extractor/literalToAst.cjs +0 -109
- package/dist/extractor/loadFile.cjs +0 -17
- package/dist/extractor/loadGui.cjs +0 -373
- package/dist/extractor/logLines.cjs +0 -43
- package/dist/extractor/normalizeTernaries.cjs +0 -95
- package/dist/extractor/propsToFontFamilyCache.cjs +0 -42
- package/dist/extractor/regenerateConfig.cjs +0 -178
- package/dist/extractor/removeUnusedHooks.cjs +0 -108
- package/dist/extractor/timer.cjs +0 -52
- package/dist/extractor/validHTMLAttributes.cjs +0 -79
- package/dist/extractor/watchGuiConfig.cjs +0 -70
- package/dist/getPragmaOptions.cjs +0 -73
- package/dist/helpers/memoize.cjs +0 -45
- package/dist/helpers/requireGuiCore.cjs +0 -40
- package/dist/index.cjs +0 -42
- package/dist/registerRequire.cjs +0 -209
- package/dist/server.cjs +0 -82
- package/dist/setup.cjs +0 -0
- package/dist/types.cjs +0 -18
- package/dist/worker.cjs +0 -111
|
@@ -0,0 +1,404 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.extractToNative = extractToNative;
|
|
4
|
+
exports.getBabelPlugin = getBabelPlugin;
|
|
5
|
+
exports.getBabelParseDefinition = getBabelParseDefinition;
|
|
6
|
+
const tslib_1 = require("tslib");
|
|
7
|
+
const core_1 = require("@babel/core");
|
|
8
|
+
const generator_1 = tslib_1.__importDefault(require("@babel/generator"));
|
|
9
|
+
const helper_plugin_utils_1 = require("@babel/helper-plugin-utils");
|
|
10
|
+
const template_1 = tslib_1.__importDefault(require("@babel/template"));
|
|
11
|
+
const t = tslib_1.__importStar(require("@babel/types"));
|
|
12
|
+
const node_path_1 = require("node:path");
|
|
13
|
+
const getPragmaOptions_ts_1 = require("../getPragmaOptions.js");
|
|
14
|
+
const createExtractor_ts_1 = require("./createExtractor.js");
|
|
15
|
+
const createLogger_ts_1 = require("./createLogger.js");
|
|
16
|
+
const extractHelpers_ts_1 = require("./extractHelpers.js");
|
|
17
|
+
const literalToAst_ts_1 = require("./literalToAst.js");
|
|
18
|
+
const loadGui_ts_1 = require("./loadGui.js");
|
|
19
|
+
const node_module_1 = require("node:module");
|
|
20
|
+
const here_ts_1 = require("../here.js");
|
|
21
|
+
const need = (0, node_module_1.createRequire)(here_ts_1.url);
|
|
22
|
+
const importNativeView = (0, template_1.default)(`
|
|
23
|
+
const __ReactNativeView = need('react-native').View;
|
|
24
|
+
const __ReactNativeText = need('react-native').Text;
|
|
25
|
+
`);
|
|
26
|
+
const importStyleSheet = (0, template_1.default)(`
|
|
27
|
+
const __ReactNativeStyleSheet = need('react-native').StyleSheet;
|
|
28
|
+
`);
|
|
29
|
+
const importWithStyle = template_1.default.ast(`import { _withStableStyle } from '@hanzogui/core';`);
|
|
30
|
+
const extractor = (0, createExtractor_ts_1.createExtractor)({ platform: 'native' });
|
|
31
|
+
let hanzoguiBuildOptionsLoaded;
|
|
32
|
+
function extractToNative(sourceFileName, sourceCode, options) {
|
|
33
|
+
const out = (0, core_1.transformSync)(sourceCode, {
|
|
34
|
+
plugins: [[getBabelPlugin(), options]],
|
|
35
|
+
sourceType: 'module',
|
|
36
|
+
parserOpts: { plugins: ['jsx', 'typescript'] },
|
|
37
|
+
configFile: false,
|
|
38
|
+
sourceFileName,
|
|
39
|
+
filename: sourceFileName,
|
|
40
|
+
});
|
|
41
|
+
if (!out) {
|
|
42
|
+
throw new Error(`No output returned`);
|
|
43
|
+
}
|
|
44
|
+
return out;
|
|
45
|
+
}
|
|
46
|
+
function getBabelPlugin() {
|
|
47
|
+
return (0, helper_plugin_utils_1.declare)((api, options) => {
|
|
48
|
+
api.assertVersion('^7.0.0 || ^8.0.0-0');
|
|
49
|
+
return getBabelParseDefinition(options);
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
function getBabelParseDefinition(options) {
|
|
53
|
+
return {
|
|
54
|
+
name: 'hanzogui',
|
|
55
|
+
visitor: {
|
|
56
|
+
Program: {
|
|
57
|
+
enter(root) {
|
|
58
|
+
let sourcePath = this.file.opts.filename;
|
|
59
|
+
if (sourcePath?.includes('node_modules')) {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
// by default only pick up .jsx / .tsx
|
|
63
|
+
if (!sourcePath?.endsWith('.jsx') && !sourcePath?.endsWith('.tsx')) {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
// this filename comes back incorrect in react-native, it adds /ios/ for some reason
|
|
67
|
+
// adding a fix here, but it's a bit tentative...
|
|
68
|
+
if (process.env.SOURCE_ROOT?.endsWith('ios')) {
|
|
69
|
+
sourcePath = sourcePath.replace('/ios', '');
|
|
70
|
+
}
|
|
71
|
+
let hasImportedView = false;
|
|
72
|
+
let hasImportedViewWrapper = false;
|
|
73
|
+
let wrapperCount = 0;
|
|
74
|
+
const sheetStyles = {};
|
|
75
|
+
const sheetIdentifier = root.scope.generateUidIdentifier('sheet');
|
|
76
|
+
// babel doesnt append the `//` so we need to
|
|
77
|
+
const firstCommentContents = // join because you can join together multiple pragmas
|
|
78
|
+
root.node.body[0]?.leadingComments
|
|
79
|
+
?.map((comment) => comment?.value || ' ')
|
|
80
|
+
.join(' ') ?? '';
|
|
81
|
+
const firstComment = firstCommentContents ? `//${firstCommentContents}` : '';
|
|
82
|
+
const { shouldPrintDebug, shouldDisable } = (0, getPragmaOptions_ts_1.getPragmaOptions)({
|
|
83
|
+
source: firstComment,
|
|
84
|
+
path: sourcePath,
|
|
85
|
+
});
|
|
86
|
+
if (shouldDisable) {
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
if (!options.config && !options.components) {
|
|
90
|
+
// if no config/components given try and load from the hanzogui.build.ts file
|
|
91
|
+
hanzoguiBuildOptionsLoaded || (hanzoguiBuildOptionsLoaded = (0, loadGui_ts_1.loadGuiBuildConfigSync)({}));
|
|
92
|
+
}
|
|
93
|
+
const finalOptions = {
|
|
94
|
+
// @ts-ignore just in case they leave it out
|
|
95
|
+
platform: 'native',
|
|
96
|
+
...hanzoguiBuildOptionsLoaded,
|
|
97
|
+
...options,
|
|
98
|
+
};
|
|
99
|
+
const printLog = (0, createLogger_ts_1.createLogger)(sourcePath, finalOptions);
|
|
100
|
+
function addSheetStyle(style, node) {
|
|
101
|
+
const styleIndex = `${Object.keys(sheetStyles).length}`;
|
|
102
|
+
let key = `${styleIndex}`;
|
|
103
|
+
if (process.env.NODE_ENV === 'development') {
|
|
104
|
+
const lineNumbers = node.loc
|
|
105
|
+
? node.loc.start.line +
|
|
106
|
+
(node.loc.start.line !== node.loc.end.line
|
|
107
|
+
? `-${node.loc.end.line}`
|
|
108
|
+
: '')
|
|
109
|
+
: '';
|
|
110
|
+
key += `:${(0, node_path_1.basename)(sourcePath)}:${lineNumbers}`;
|
|
111
|
+
}
|
|
112
|
+
sheetStyles[key] = style;
|
|
113
|
+
return readStyleExpr(key);
|
|
114
|
+
}
|
|
115
|
+
function readStyleExpr(key) {
|
|
116
|
+
return (0, template_1.default)(`SHEET['KEY']`)({
|
|
117
|
+
SHEET: sheetIdentifier.name,
|
|
118
|
+
KEY: key,
|
|
119
|
+
})['expression'];
|
|
120
|
+
}
|
|
121
|
+
let res;
|
|
122
|
+
try {
|
|
123
|
+
res = extractor.parseSync(root, {
|
|
124
|
+
importsWhitelist: ['constants.js', 'colors.js'],
|
|
125
|
+
excludeProps: new Set([
|
|
126
|
+
'className',
|
|
127
|
+
'userSelect',
|
|
128
|
+
'whiteSpace',
|
|
129
|
+
'textOverflow',
|
|
130
|
+
'cursor',
|
|
131
|
+
'contain',
|
|
132
|
+
]),
|
|
133
|
+
// native props that should pass through without preventing extraction
|
|
134
|
+
inlineProps: new Set([
|
|
135
|
+
'testID',
|
|
136
|
+
'nativeID',
|
|
137
|
+
'accessibilityLabel',
|
|
138
|
+
'accessibilityHint',
|
|
139
|
+
'accessibilityRole',
|
|
140
|
+
'accessibilityState',
|
|
141
|
+
'accessibilityValue',
|
|
142
|
+
'accessibilityActions',
|
|
143
|
+
'accessibilityLabelledBy',
|
|
144
|
+
'accessibilityLiveRegion',
|
|
145
|
+
'accessibilityElementsHidden',
|
|
146
|
+
'accessibilityViewIsModal',
|
|
147
|
+
'importantForAccessibility',
|
|
148
|
+
'onAccessibilityAction',
|
|
149
|
+
'onAccessibilityEscape',
|
|
150
|
+
'onAccessibilityTap',
|
|
151
|
+
'onMagicTap',
|
|
152
|
+
'collapsable',
|
|
153
|
+
'needsOffscreenAlphaCompositing',
|
|
154
|
+
'removeClippedSubviews',
|
|
155
|
+
'renderToHardwareTextureAndroid',
|
|
156
|
+
'shouldRasterizeIOS',
|
|
157
|
+
'hitSlop',
|
|
158
|
+
'pointerEvents',
|
|
159
|
+
]),
|
|
160
|
+
shouldPrintDebug,
|
|
161
|
+
...finalOptions,
|
|
162
|
+
// disable extracting variables as no native concept of them (only theme values)
|
|
163
|
+
disableExtractVariables: false,
|
|
164
|
+
sourcePath,
|
|
165
|
+
// disabling flattening for now
|
|
166
|
+
// it's flattening a plain <Paragraph>hello</Paragraph> which breaks things because themes
|
|
167
|
+
// thinking it's not really worth the effort to do much compilation on native
|
|
168
|
+
// for now just disable flatten as it can only run in narrow places on native
|
|
169
|
+
// disableFlattening: 'styled',
|
|
170
|
+
getFlattenedNode({ isTextView }) {
|
|
171
|
+
if (!hasImportedView) {
|
|
172
|
+
hasImportedView = true;
|
|
173
|
+
root.unshiftContainer('body', importNativeView());
|
|
174
|
+
}
|
|
175
|
+
return isTextView ? '__ReactNativeText' : '__ReactNativeView';
|
|
176
|
+
},
|
|
177
|
+
onExtractTag(props) {
|
|
178
|
+
assertValidTag(props.node);
|
|
179
|
+
const stylesExpr = t.arrayExpression([]);
|
|
180
|
+
const hocStylesExpr = t.arrayExpression([]);
|
|
181
|
+
const expressions = [];
|
|
182
|
+
const mediaExpressionIndexes = new Set();
|
|
183
|
+
const finalAttrs = [];
|
|
184
|
+
const themeKeysUsed = new Set();
|
|
185
|
+
function getStyleExpression(style, forTernary = false) {
|
|
186
|
+
if (!style)
|
|
187
|
+
return;
|
|
188
|
+
// split theme properties and leave them as props since RN has no concept of theme
|
|
189
|
+
const { plain, themed } = splitThemeStyles(style);
|
|
190
|
+
// TODO: themed is not a good name, because it's not just theme it also includes tokens
|
|
191
|
+
let themeExpr = null;
|
|
192
|
+
if (themed) {
|
|
193
|
+
for (const key in themed) {
|
|
194
|
+
themeKeysUsed.add(themed[key].split('$')[1]);
|
|
195
|
+
}
|
|
196
|
+
// make a sub-array
|
|
197
|
+
themeExpr = getThemedStyleExpression(themed);
|
|
198
|
+
}
|
|
199
|
+
const hasPlainKeys = Object.keys(plain).length > 0;
|
|
200
|
+
const ident = hasPlainKeys ? addSheetStyle(plain, props.node) : null;
|
|
201
|
+
if (themeExpr) {
|
|
202
|
+
if (forTernary) {
|
|
203
|
+
// for ternary branches, return combined expression
|
|
204
|
+
// without adding plain styles unconditionally
|
|
205
|
+
if (ident) {
|
|
206
|
+
return t.arrayExpression([ident, themeExpr]);
|
|
207
|
+
}
|
|
208
|
+
return themeExpr;
|
|
209
|
+
}
|
|
210
|
+
// for base styles, add unconditionally
|
|
211
|
+
if (ident) {
|
|
212
|
+
addStyleExpression(ident);
|
|
213
|
+
addStyleExpression(ident, true);
|
|
214
|
+
}
|
|
215
|
+
return themeExpr;
|
|
216
|
+
}
|
|
217
|
+
return ident;
|
|
218
|
+
}
|
|
219
|
+
function addStyleExpression(expr, HOC = false) {
|
|
220
|
+
if (Array.isArray(expr)) {
|
|
221
|
+
;
|
|
222
|
+
(HOC ? hocStylesExpr : stylesExpr).elements.push(...expr);
|
|
223
|
+
}
|
|
224
|
+
else {
|
|
225
|
+
;
|
|
226
|
+
(HOC ? hocStylesExpr : stylesExpr).elements.push(expr);
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
function getThemedStyleExpression(styles) {
|
|
230
|
+
const themedStylesAst = (0, literalToAst_ts_1.literalToAst)(styles);
|
|
231
|
+
themedStylesAst.properties.forEach((_) => {
|
|
232
|
+
const prop = _;
|
|
233
|
+
if (prop.value.type === 'StringLiteral') {
|
|
234
|
+
const propVal = prop.value.value.slice(1);
|
|
235
|
+
const isComputed = !t.isValidIdentifier(propVal);
|
|
236
|
+
prop.value = t.callExpression(t.memberExpression(t.memberExpression(t.identifier('theme'), isComputed ? t.stringLiteral(propVal) : t.identifier(propVal), isComputed), t.identifier('get')), []);
|
|
237
|
+
}
|
|
238
|
+
});
|
|
239
|
+
return themedStylesAst;
|
|
240
|
+
}
|
|
241
|
+
let hasDynamicStyle = false;
|
|
242
|
+
let hasMediaKeys = false;
|
|
243
|
+
for (const attr of props.attrs) {
|
|
244
|
+
switch (attr.type) {
|
|
245
|
+
case 'style': {
|
|
246
|
+
let styleExpr = getStyleExpression(attr.value);
|
|
247
|
+
addStyleExpression(styleExpr);
|
|
248
|
+
addStyleExpression(styleExpr, true);
|
|
249
|
+
break;
|
|
250
|
+
}
|
|
251
|
+
case 'ternary': {
|
|
252
|
+
const { consequent, alternate } = attr.value;
|
|
253
|
+
const consExpr = getStyleExpression(consequent, true);
|
|
254
|
+
const altExpr = getStyleExpression(alternate, true);
|
|
255
|
+
if (attr.value.inlineMediaQuery) {
|
|
256
|
+
hasMediaKeys = true;
|
|
257
|
+
}
|
|
258
|
+
let expression = attr.value.test;
|
|
259
|
+
if (attr.value.inlineMediaQuery &&
|
|
260
|
+
t.isLogicalExpression(attr.value.test, { operator: '&&' }) &&
|
|
261
|
+
t.isStringLiteral(attr.value.test.left)) {
|
|
262
|
+
expression = t.arrayExpression([
|
|
263
|
+
t.stringLiteral(attr.value.inlineMediaQuery),
|
|
264
|
+
t.unaryExpression('!', t.unaryExpression('!', attr.value.test.right)),
|
|
265
|
+
]);
|
|
266
|
+
mediaExpressionIndexes.add(expressions.length);
|
|
267
|
+
}
|
|
268
|
+
expressions.push(expression);
|
|
269
|
+
addStyleExpression(t.conditionalExpression(t.identifier(`_expressions[${expressions.length - 1}]`), consExpr || t.nullLiteral(), altExpr || t.nullLiteral()), true);
|
|
270
|
+
const styleExpr = t.conditionalExpression(attr.value.test, consExpr || t.nullLiteral(), altExpr || t.nullLiteral());
|
|
271
|
+
addStyleExpression(styleExpr);
|
|
272
|
+
break;
|
|
273
|
+
}
|
|
274
|
+
case 'attr': {
|
|
275
|
+
if (t.isJSXSpreadAttribute(attr.value)) {
|
|
276
|
+
if ((0, extractHelpers_ts_1.isSimpleSpread)(attr.value)) {
|
|
277
|
+
stylesExpr.elements.push(t.memberExpression(attr.value.argument, t.identifier('style')));
|
|
278
|
+
hocStylesExpr.elements.push(t.memberExpression(attr.value.argument, t.identifier('style')));
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
finalAttrs.push(attr.value);
|
|
282
|
+
break;
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
props.node.attributes = finalAttrs;
|
|
287
|
+
if (themeKeysUsed.size ||
|
|
288
|
+
hocStylesExpr.elements.length > 1 ||
|
|
289
|
+
hasDynamicStyle ||
|
|
290
|
+
hasMediaKeys) {
|
|
291
|
+
if (!hasImportedViewWrapper) {
|
|
292
|
+
root.unshiftContainer('body', importWithStyle);
|
|
293
|
+
hasImportedViewWrapper = true;
|
|
294
|
+
}
|
|
295
|
+
const name = props.flatNodeName || props.node.name['name'];
|
|
296
|
+
// Use a unique name that won't conflict with the base component
|
|
297
|
+
const wrapperName = `_${name.replace(/^_+/, '')}Styled${wrapperCount++}`;
|
|
298
|
+
// Use regular identifier for variable declarations, JSX identifier for JSX elements
|
|
299
|
+
const WrapperIdentifier = t.identifier(wrapperName);
|
|
300
|
+
const WrapperJSXIdentifier = t.jsxIdentifier(wrapperName);
|
|
301
|
+
const hasThemeKeysFlag = themeKeysUsed.size > 0;
|
|
302
|
+
root.pushContainer('body', t.variableDeclaration('const', [
|
|
303
|
+
t.variableDeclarator(WrapperIdentifier, t.callExpression(t.identifier('_withStableStyle'), [
|
|
304
|
+
t.identifier(name),
|
|
305
|
+
t.arrowFunctionExpression([t.identifier('theme'), t.identifier('_expressions')],
|
|
306
|
+
// return styles directly - no useMemo, theme changes must trigger style recalc
|
|
307
|
+
t.arrayExpression([...hocStylesExpr.elements])),
|
|
308
|
+
t.booleanLiteral(hasThemeKeysFlag),
|
|
309
|
+
t.booleanLiteral(hasMediaKeys),
|
|
310
|
+
])),
|
|
311
|
+
]));
|
|
312
|
+
// @ts-ignore - use JSX identifier for JSX elements
|
|
313
|
+
props.node.name = WrapperJSXIdentifier;
|
|
314
|
+
// Also set the opening element directly via the path
|
|
315
|
+
props.jsxPath.node.openingElement.name = WrapperJSXIdentifier;
|
|
316
|
+
if (props.jsxPath.node.closingElement) {
|
|
317
|
+
// @ts-ignore
|
|
318
|
+
props.jsxPath.node.closingElement.name = t.jsxIdentifier(wrapperName);
|
|
319
|
+
}
|
|
320
|
+
if (expressions.length) {
|
|
321
|
+
// coerce runtime expressions to boolean so they can't be
|
|
322
|
+
// confused with string media keys at runtime
|
|
323
|
+
const safeExpressions = expressions.map((expr, index) => t.isStringLiteral(expr) || mediaExpressionIndexes.has(index)
|
|
324
|
+
? expr
|
|
325
|
+
: t.unaryExpression('!', t.unaryExpression('!', expr)));
|
|
326
|
+
props.node.attributes.push(t.jsxAttribute(t.jsxIdentifier('_expressions'), t.jsxExpressionContainer(t.arrayExpression(safeExpressions))));
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
else {
|
|
330
|
+
props.node.attributes.push(t.jsxAttribute(t.jsxIdentifier('style'), t.jsxExpressionContainer(stylesExpr.elements.length === 1
|
|
331
|
+
? stylesExpr.elements[0]
|
|
332
|
+
: stylesExpr)));
|
|
333
|
+
}
|
|
334
|
+
},
|
|
335
|
+
});
|
|
336
|
+
}
|
|
337
|
+
catch (err) {
|
|
338
|
+
if (err instanceof Error) {
|
|
339
|
+
// metro doesn't show stack so we can
|
|
340
|
+
let message = `${shouldPrintDebug === 'verbose' ? err : err.message}`;
|
|
341
|
+
if (message.includes('Unexpected return value from visitor method')) {
|
|
342
|
+
message = 'Unexpected return value from visitor method';
|
|
343
|
+
}
|
|
344
|
+
console.warn('Error in Gui parse, skipping', message, err.stack);
|
|
345
|
+
return;
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
if (!Object.keys(sheetStyles).length) {
|
|
349
|
+
if (shouldPrintDebug) {
|
|
350
|
+
console.info('END no styles');
|
|
351
|
+
}
|
|
352
|
+
if (res)
|
|
353
|
+
printLog(res);
|
|
354
|
+
return;
|
|
355
|
+
}
|
|
356
|
+
const sheetObject = (0, literalToAst_ts_1.literalToAst)(sheetStyles);
|
|
357
|
+
const sheetOuter = (0, template_1.default)('const SHEET = __ReactNativeStyleSheet.create(null)')({
|
|
358
|
+
SHEET: sheetIdentifier.name,
|
|
359
|
+
});
|
|
360
|
+
// replace the null with our object
|
|
361
|
+
sheetOuter.declarations[0].init.arguments[0] = sheetObject;
|
|
362
|
+
root.unshiftContainer('body', sheetOuter);
|
|
363
|
+
// add import
|
|
364
|
+
root.unshiftContainer('body', importStyleSheet());
|
|
365
|
+
if (shouldPrintDebug) {
|
|
366
|
+
console.info('\n -------- output code ------- \n');
|
|
367
|
+
console.info((0, generator_1.default)(root.parent)
|
|
368
|
+
.code.split('\n')
|
|
369
|
+
.filter((x) => !x.startsWith('//'))
|
|
370
|
+
.join('\n'));
|
|
371
|
+
}
|
|
372
|
+
if (res)
|
|
373
|
+
printLog(res);
|
|
374
|
+
},
|
|
375
|
+
},
|
|
376
|
+
},
|
|
377
|
+
};
|
|
378
|
+
}
|
|
379
|
+
function assertValidTag(node) {
|
|
380
|
+
if (node.attributes.find((x) => x.type === 'JSXAttribute' && x.name.name === 'style')) {
|
|
381
|
+
// we can just deopt here instead and log warning
|
|
382
|
+
// need to make onExtractTag have a special catch error or similar
|
|
383
|
+
if (process.env.DEBUG?.startsWith('hanzogui')) {
|
|
384
|
+
console.warn('⚠️ Cannot pass style attribute to extracted style');
|
|
385
|
+
}
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
function splitThemeStyles(style) {
|
|
389
|
+
const themed = {};
|
|
390
|
+
const plain = {};
|
|
391
|
+
let noTheme = true;
|
|
392
|
+
for (const key in style) {
|
|
393
|
+
const val = style[key];
|
|
394
|
+
if (val && val[0] === '$') {
|
|
395
|
+
themed[key] = val;
|
|
396
|
+
noTheme = false;
|
|
397
|
+
}
|
|
398
|
+
else {
|
|
399
|
+
plain[key] = val;
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
return { themed: noTheme ? null : themed, plain };
|
|
403
|
+
}
|
|
404
|
+
//# sourceMappingURL=extractToNative.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extractToNative.js","sourceRoot":"","sources":["../../../src/extractor/extractToNative.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* One place decides which files the compiler may read styles out of.
|
|
4
|
+
*
|
|
5
|
+
* The compiler used to answer this with `sourcePath.includes('node_modules')`,
|
|
6
|
+
* in two places that had to agree by hand — the webpack loader and
|
|
7
|
+
* extractToClassNames. That answer was right about the cost and wrong about
|
|
8
|
+
* the design system: for a *consumer*, `@hanzo/ui` and every `@hanzogui/*`
|
|
9
|
+
* package IS node_modules, so no app could ask the compiler to look at them
|
|
10
|
+
* even if it wanted to.
|
|
11
|
+
*
|
|
12
|
+
* So this is a policy with a knob, not a hardcoded skip. The knob is
|
|
13
|
+
* `extractPackages`, and it is EMPTY by default, which is exactly the old
|
|
14
|
+
* behavior. What turning it on buys, measured on hanzo.one (Vite 5, @hanzo/ui
|
|
15
|
+
* 8.0.63 on @hanzo/gui 8.1, 5026 modules):
|
|
16
|
+
*
|
|
17
|
+
* extracted files 4 -> 54
|
|
18
|
+
* cached sheet 150,172 -> 151,151 B (+979)
|
|
19
|
+
* CSS injected at runtime 27,376 -> 27,376 B (unchanged, 356 rules both)
|
|
20
|
+
*
|
|
21
|
+
* Every one of those 979 bytes is a `styled()` DEFINITION rule, and the
|
|
22
|
+
* compiler deliberately leaves the definition in place ("the runtime needs
|
|
23
|
+
* real values for animations, context, and group styles"), so the runtime
|
|
24
|
+
* mints the same class again. 10 of the 20 new rules are delivered twice on
|
|
25
|
+
* the home route; the rest are for components that route never renders. The
|
|
26
|
+
* saving that would justify the cost — flattening a `<YStack p={10}>` usage
|
|
27
|
+
* site down to a className — cannot happen inside an installed package at all,
|
|
28
|
+
* because `module:jsx` currently emits the same JSX-lowered output as the ESM
|
|
29
|
+
* build (byte-identical, hardlinked), so there is no JSX left to flatten.
|
|
30
|
+
*
|
|
31
|
+
* Fix that, and turning this on becomes a real win. Until then, an app can opt
|
|
32
|
+
* in with `extractPackages: DEFAULT_EXTRACT_PACKAGES` and get a slightly
|
|
33
|
+
* bigger sheet for its trouble.
|
|
34
|
+
*/
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.DEFAULT_EXTRACT_PACKAGES = void 0;
|
|
37
|
+
exports.installedPackageOf = installedPackageOf;
|
|
38
|
+
exports.isExtractable = isExtractable;
|
|
39
|
+
/** The design-system allowlist an app can opt into. Not the default. */
|
|
40
|
+
exports.DEFAULT_EXTRACT_PACKAGES = ['@hanzo/ui', '@hanzo/gui', '@hanzogui/*'];
|
|
41
|
+
/**
|
|
42
|
+
* Generated icon sets: 1760 modules of react-native-svg elements wrapped in
|
|
43
|
+
* `themed()`, holding no `styled()` between them. Parsing them costs a full
|
|
44
|
+
* babel pass each and yields no CSS, installed or in a workspace — which is
|
|
45
|
+
* why the path is skipped rather than the package name. Measured on the same
|
|
46
|
+
* build: 1761 files that the allowlist would otherwise have to reject one at
|
|
47
|
+
* a time.
|
|
48
|
+
*/
|
|
49
|
+
const NEVER_EXTRACT = ['lucide-icons'];
|
|
50
|
+
const NODE_MODULES = 'node_modules/';
|
|
51
|
+
/**
|
|
52
|
+
* The installed package a file belongs to, or '' when the file is app or
|
|
53
|
+
* workspace source. Reads the LAST `node_modules/` segment, so a nested
|
|
54
|
+
* install and pnpm's `.pnpm/<pkg>@<ver>/node_modules/<pkg>` both name the
|
|
55
|
+
* package that actually owns the file.
|
|
56
|
+
*/
|
|
57
|
+
function installedPackageOf(sourcePath) {
|
|
58
|
+
const normalized = sourcePath.replace(/\\/g, '/');
|
|
59
|
+
const at = normalized.lastIndexOf(NODE_MODULES);
|
|
60
|
+
if (at === -1)
|
|
61
|
+
return '';
|
|
62
|
+
const rest = normalized.slice(at + NODE_MODULES.length);
|
|
63
|
+
const parts = rest.split('/');
|
|
64
|
+
if (!parts[0])
|
|
65
|
+
return '';
|
|
66
|
+
return parts[0].startsWith('@') ? parts.slice(0, 2).join('/') : parts[0];
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* An entry names one package (`@hanzo/ui`) or a whole scope (`@hanzogui/*`,
|
|
70
|
+
* or the equivalent `@hanzogui/`).
|
|
71
|
+
*/
|
|
72
|
+
function matches(entry, pkg) {
|
|
73
|
+
const prefix = entry.endsWith('/*')
|
|
74
|
+
? entry.slice(0, -1)
|
|
75
|
+
: entry.endsWith('/')
|
|
76
|
+
? entry
|
|
77
|
+
: '';
|
|
78
|
+
return prefix ? pkg.startsWith(prefix) : pkg === entry;
|
|
79
|
+
}
|
|
80
|
+
/** May the compiler read styles out of this file? */
|
|
81
|
+
function isExtractable(sourcePath, extractPackages = []) {
|
|
82
|
+
if (NEVER_EXTRACT.some((name) => sourcePath.includes(name)))
|
|
83
|
+
return false;
|
|
84
|
+
const pkg = installedPackageOf(sourcePath);
|
|
85
|
+
if (!pkg)
|
|
86
|
+
return true;
|
|
87
|
+
return extractPackages.some((entry) => matches(entry, pkg));
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=extractablePath.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extractablePath.js","sourceRoot":"","sources":["../../../src/extractor/extractablePath.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;;;;;AAEH,wEAAwE;AAC3D,QAAA,wBAAwB,GAAG,CAAC,WAAW,EAAE,YAAY,EAAE,aAAa,CAAC,CAAA;AAElF;;;;;;;GAOG;AACH,MAAM,aAAa,GAAG,CAAC,cAAc,CAAC,CAAA;AAEtC,MAAM,YAAY,GAAG,eAAe,CAAA;AAEpC;;;;;GAKG;AACH,4BAAmC,UAAkB;IACnD,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IACjD,MAAM,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,CAAA;IAC/C,IAAI,EAAE,KAAK,CAAC,CAAC;QAAE,OAAO,EAAE,CAAA;IACxB,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;IACvD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC7B,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAAE,OAAO,EAAE,CAAA;IACxB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AAC1E,CAAC;AAED;;;GAGG;AACH,SAAS,OAAO,CAAC,KAAa,EAAE,GAAW;IACzC,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QACjC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpB,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;YACnB,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,EAAE,CAAA;IACR,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,CAAA;AACxD,CAAC;AAED,qDAAqD;AACrD,uBACE,UAAkB,EAClB,eAAe,GAAa,EAAE;IAE9B,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAA;IACzE,MAAM,GAAG,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAA;IAC1C,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAA;IACrB,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAA;AAC7D,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.findTopmostFunction = findTopmostFunction;
|
|
4
|
+
function findTopmostFunction(jsxPath) {
|
|
5
|
+
const isFunction = (path) => path.isArrowFunctionExpression() ||
|
|
6
|
+
path.isFunctionDeclaration() ||
|
|
7
|
+
path.isFunctionExpression();
|
|
8
|
+
let compFn = jsxPath.findParent(isFunction);
|
|
9
|
+
while (compFn) {
|
|
10
|
+
const parent = compFn.findParent(isFunction);
|
|
11
|
+
if (!parent)
|
|
12
|
+
break;
|
|
13
|
+
compFn = parent;
|
|
14
|
+
}
|
|
15
|
+
return compFn;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=findTopmostFunction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"findTopmostFunction.js","sourceRoot":"","sources":["../../../src/extractor/findTopmostFunction.ts"],"names":[],"mappings":";;;AAGA,6BAAoC,OAA+B;IACjE,MAAM,UAAU,GAAG,CAAC,IAAc,EAAE,EAAE,CACpC,IAAI,CAAC,yBAAyB,EAAE;QAChC,IAAI,CAAC,qBAAqB,EAAE;QAC5B,IAAI,CAAC,oBAAoB,EAAE,CAAA;IAC7B,IAAI,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;IAC3C,OAAO,MAAM,EAAE,CAAC;QACd,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;QAC5C,IAAI,CAAC,MAAM;YAAE,MAAK;QAClB,MAAM,GAAG,MAAM,CAAA;IACjB,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generateUid = generateUid;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const t = tslib_1.__importStar(require("@babel/types"));
|
|
6
|
+
// A clone of path.scope.generateUid that doesn't prepend underscores
|
|
7
|
+
function generateUid(scope, name) {
|
|
8
|
+
if (!(typeof scope === 'object'))
|
|
9
|
+
throw 'generateUid expects a scope object as its first parameter';
|
|
10
|
+
if (!(typeof name === 'string' && name !== ''))
|
|
11
|
+
throw 'generateUid expects a valid name as its second parameter';
|
|
12
|
+
name = t
|
|
13
|
+
.toIdentifier(name)
|
|
14
|
+
.replace(/^_+/, '')
|
|
15
|
+
.replace(/[0-9]+$/g, '');
|
|
16
|
+
let uid;
|
|
17
|
+
let i = 0;
|
|
18
|
+
do {
|
|
19
|
+
if (i > 1) {
|
|
20
|
+
uid = name + i;
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
uid = name;
|
|
24
|
+
}
|
|
25
|
+
i++;
|
|
26
|
+
} while (scope.hasLabel(uid) ||
|
|
27
|
+
scope.hasBinding(uid) ||
|
|
28
|
+
scope.hasGlobal(uid) ||
|
|
29
|
+
scope.hasReference(uid));
|
|
30
|
+
const program = scope.getProgramParent();
|
|
31
|
+
program.references[uid] = true;
|
|
32
|
+
program.uids[uid] = true;
|
|
33
|
+
return uid;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=generatedUid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generatedUid.js","sourceRoot":"","sources":["../../../src/extractor/generatedUid.ts"],"names":[],"mappings":";;;;AAAA,MAAY,CAAC,iDAAoB;AAOjC,qEAAqE;AACrE,qBAA4B,KAAU,EAAE,IAAY;IAClD,IAAI,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC;QAC9B,MAAM,2DAA2D,CAAA;IACnE,IAAI,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,EAAE,CAAC;QAC5C,MAAM,0DAA0D,CAAA;IAElE,IAAI,GAAG,CAAC;SACL,YAAY,CAAC,IAAI,CAAC;SAClB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;SAClB,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;IAE1B,IAAI,GAAG,CAAA;IACP,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,GAAG,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACV,GAAG,GAAG,IAAI,GAAG,CAAC,CAAA;QAChB,CAAC;aAAM,CAAC;YACN,GAAG,GAAG,IAAI,CAAA;QACZ,CAAC;QACD,CAAC,EAAE,CAAA;IACL,CAAC,QACC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;QACnB,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;QACrB,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC;QACpB,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,EACxB;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,gBAAgB,EAAE,CAAA;IACxC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAA;IAC9B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAA;IAExB,OAAO,GAAG,CAAA;AACZ,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getGuiConfigPathFromOptionsConfig = getGuiConfigPathFromOptionsConfig;
|
|
4
|
+
const node_path_1 = require("node:path");
|
|
5
|
+
const node_fs_1 = require("node:fs");
|
|
6
|
+
function getGuiConfigPathFromOptionsConfig(config) {
|
|
7
|
+
if ((0, node_path_1.isAbsolute)(config)) {
|
|
8
|
+
return config;
|
|
9
|
+
}
|
|
10
|
+
const fullPath = (0, node_path_1.join)(process.cwd(), config);
|
|
11
|
+
try {
|
|
12
|
+
if ((0, node_fs_1.statSync)(fullPath).isFile()) {
|
|
13
|
+
return fullPath;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
catch {
|
|
17
|
+
//
|
|
18
|
+
}
|
|
19
|
+
return config;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=getGuiConfigPathFromOptionsConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getGuiConfigPathFromOptionsConfig.js","sourceRoot":"","sources":["../../../src/extractor/getGuiConfigPathFromOptionsConfig.ts"],"names":[],"mappings":";;;AAAA,yCAA4C;AAE5C,qCAAkC;AAGlC,2CACE,MAAyC;IAEzC,IAAI,IAAA,sBAAU,EAAC,MAAM,CAAC,EAAE,CAAC;QACvB,OAAO,MAAM,CAAA;IACf,CAAC;IAED,MAAM,QAAQ,GAAG,IAAA,gBAAI,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAA;IAE5C,IAAI,CAAC;QACH,IAAI,IAAA,kBAAQ,EAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;YAChC,OAAO,QAAQ,CAAA;QACjB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,EAAE;IACJ,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getPrefixLogs = getPrefixLogs;
|
|
4
|
+
const cli_color_1 = require("@hanzogui/cli-color");
|
|
5
|
+
function getPrefixLogs(options) {
|
|
6
|
+
return (options?.prefixLogs ??
|
|
7
|
+
` 🐥 [hanzogui] ${(0, cli_color_1.colorString)(cli_color_1.Color.FgYellow, options?.platform || 'web')}`);
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=getPrefixLogs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getPrefixLogs.js","sourceRoot":"","sources":["../../../src/extractor/getPrefixLogs.ts"],"names":[],"mappings":";;;AAAA,mDAAwD;AAGxD,uBAA8B,OAAoB;IAChD,OAAO,CACL,OAAO,EAAE,UAAU;QACnB,mBAAmB,IAAA,uBAAW,EAAC,iBAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,KAAK,CAAC,EAAE,CAC7E,CAAA;AACH,CAAC"}
|