@wyw-in-js/transform 1.1.0 → 2.0.0-alpha.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/esm/cache.js +433 -289
- package/esm/cache.js.map +1 -1
- package/esm/debug/fileReporter.js +171 -134
- package/esm/debug/fileReporter.js.map +1 -1
- package/esm/eval/broker.js +2275 -0
- package/esm/eval/broker.js.map +1 -0
- package/esm/eval/lru.js +36 -0
- package/esm/eval/lru.js.map +1 -0
- package/esm/eval/prepareModuleOnDemand.js +21 -0
- package/esm/eval/prepareModuleOnDemand.js.map +1 -0
- package/esm/eval/protocol.js +2 -0
- package/esm/eval/protocol.js.map +1 -0
- package/esm/eval/runner.js +1878 -0
- package/esm/eval/runner.js.map +1 -0
- package/esm/eval/serialize.js +333 -0
- package/esm/eval/serialize.js.map +1 -0
- package/esm/eval/writeQueue.js +81 -0
- package/esm/eval/writeQueue.js.map +1 -0
- package/esm/evaluators/index.js +11 -12
- package/esm/evaluators/index.js.map +1 -1
- package/esm/index.js +25 -29
- package/esm/index.js.map +1 -1
- package/esm/module.js +923 -520
- package/esm/module.js.map +1 -1
- package/esm/shaker.js +14 -80
- package/esm/shaker.js.map +1 -1
- package/esm/transform/BaseEntrypoint.js +162 -164
- package/esm/transform/BaseEntrypoint.js.map +1 -1
- package/esm/transform/Entrypoint.helpers.js +96 -253
- package/esm/transform/Entrypoint.helpers.js.map +1 -1
- package/esm/transform/Entrypoint.js +336 -270
- package/esm/transform/Entrypoint.js.map +1 -1
- package/esm/transform/Entrypoint.types.js +1 -1
- package/esm/transform/Entrypoint.types.js.map +1 -1
- package/esm/transform/EvaluatedEntrypoint.js +10 -4
- package/esm/transform/EvaluatedEntrypoint.js.map +1 -1
- package/esm/transform/actions/AbortError.js +6 -6
- package/esm/transform/actions/AbortError.js.map +1 -1
- package/esm/transform/actions/BaseAction.js +140 -136
- package/esm/transform/actions/BaseAction.js.map +1 -1
- package/esm/transform/actions/UnprocessedEntrypointError.js +6 -6
- package/esm/transform/actions/UnprocessedEntrypointError.js.map +1 -1
- package/esm/transform/actions/actionRunner.js +63 -66
- package/esm/transform/actions/actionRunner.js.map +1 -1
- package/esm/transform/actions/types.js +1 -1
- package/esm/transform/actions/types.js.map +1 -1
- package/esm/transform/barrelManifest.types.js +2 -0
- package/esm/transform/barrelManifest.types.js.map +1 -0
- package/esm/transform/generators/baseProcessingHandlers.js +15 -17
- package/esm/transform/generators/baseProcessingHandlers.js.map +1 -1
- package/esm/transform/generators/collect.js +27 -55
- package/esm/transform/generators/collect.js.map +1 -1
- package/esm/transform/generators/createStylisPreprocessor.js +353 -321
- package/esm/transform/generators/createStylisPreprocessor.js.map +1 -1
- package/esm/transform/generators/evalFile.js +48 -47
- package/esm/transform/generators/evalFile.js.map +1 -1
- package/esm/transform/generators/extract.js +78 -90
- package/esm/transform/generators/extract.js.map +1 -1
- package/esm/transform/generators/getExports.js +57 -74
- package/esm/transform/generators/getExports.js.map +1 -1
- package/esm/transform/generators/index.js +11 -11
- package/esm/transform/generators/index.js.map +1 -1
- package/esm/transform/generators/processEntrypoint.js +93 -67
- package/esm/transform/generators/processEntrypoint.js.map +1 -1
- package/esm/transform/generators/processImports.js +102 -67
- package/esm/transform/generators/processImports.js.map +1 -1
- package/esm/transform/generators/resolveImports.js +212 -197
- package/esm/transform/generators/resolveImports.js.map +1 -1
- package/esm/transform/generators/resolveStaticOxcValues/cache.js +182 -0
- package/esm/transform/generators/resolveStaticOxcValues/cache.js.map +1 -0
- package/esm/transform/generators/resolveStaticOxcValues/candidateResolver.js +146 -0
- package/esm/transform/generators/resolveStaticOxcValues/candidateResolver.js.map +1 -0
- package/esm/transform/generators/resolveStaticOxcValues/dependencies.js +33 -0
- package/esm/transform/generators/resolveStaticOxcValues/dependencies.js.map +1 -0
- package/esm/transform/generators/resolveStaticOxcValues/environment.js +29 -0
- package/esm/transform/generators/resolveStaticOxcValues/environment.js.map +1 -0
- package/esm/transform/generators/resolveStaticOxcValues/exportResolver.js +351 -0
- package/esm/transform/generators/resolveStaticOxcValues/exportResolver.js.map +1 -0
- package/esm/transform/generators/resolveStaticOxcValues/exportTargets.js +253 -0
- package/esm/transform/generators/resolveStaticOxcValues/exportTargets.js.map +1 -0
- package/esm/transform/generators/resolveStaticOxcValues/objectAssign.js +310 -0
- package/esm/transform/generators/resolveStaticOxcValues/objectAssign.js.map +1 -0
- package/esm/transform/generators/resolveStaticOxcValues/objectAssignStaticExport.js +74 -0
- package/esm/transform/generators/resolveStaticOxcValues/objectAssignStaticExport.js.map +1 -0
- package/esm/transform/generators/resolveStaticOxcValues/opaqueRuntime.js +229 -0
- package/esm/transform/generators/resolveStaticOxcValues/opaqueRuntime.js.map +1 -0
- package/esm/transform/generators/resolveStaticOxcValues/processorStaticExport.js +172 -0
- package/esm/transform/generators/resolveStaticOxcValues/processorStaticExport.js.map +1 -0
- package/esm/transform/generators/resolveStaticOxcValues/processorStaticModel.js +476 -0
- package/esm/transform/generators/resolveStaticOxcValues/processorStaticModel.js.map +1 -0
- package/esm/transform/generators/resolveStaticOxcValues/processorTarget.js +55 -0
- package/esm/transform/generators/resolveStaticOxcValues/processorTarget.js.map +1 -0
- package/esm/transform/generators/resolveStaticOxcValues/programAnalysis.js +123 -0
- package/esm/transform/generators/resolveStaticOxcValues/programAnalysis.js.map +1 -0
- package/esm/transform/generators/resolveStaticOxcValues/prune.js +186 -0
- package/esm/transform/generators/resolveStaticOxcValues/prune.js.map +1 -0
- package/esm/transform/generators/resolveStaticOxcValues/resolveStaticOxcPreevalValues.js +183 -0
- package/esm/transform/generators/resolveStaticOxcValues/resolveStaticOxcPreevalValues.js.map +1 -0
- package/esm/transform/generators/resolveStaticOxcValues/staticExpression.js +298 -0
- package/esm/transform/generators/resolveStaticOxcValues/staticExpression.js.map +1 -0
- package/esm/transform/generators/resolveStaticOxcValues/staticExpressionDependencies.js +298 -0
- package/esm/transform/generators/resolveStaticOxcValues/staticExpressionDependencies.js.map +1 -0
- package/esm/transform/generators/resolveStaticOxcValues/types.js +3 -0
- package/esm/transform/generators/resolveStaticOxcValues/types.js.map +1 -0
- package/esm/transform/generators/resolveStaticOxcValues/zeroArgFunctionStaticExport.js +59 -0
- package/esm/transform/generators/resolveStaticOxcValues/zeroArgFunctionStaticExport.js.map +1 -0
- package/esm/transform/generators/resolveStaticOxcValues.js +2 -0
- package/esm/transform/generators/resolveStaticOxcValues.js.map +1 -0
- package/esm/transform/generators/rewriteOxcBarrelImports.js +822 -0
- package/esm/transform/generators/rewriteOxcBarrelImports.js.map +1 -0
- package/esm/transform/generators/transform.js +251 -248
- package/esm/transform/generators/transform.js.map +1 -1
- package/esm/transform/generators/workflow.js +87 -90
- package/esm/transform/generators/workflow.js.map +1 -1
- package/esm/transform/helpers/loadWywOptions.js +183 -74
- package/esm/transform/helpers/loadWywOptions.js.map +1 -1
- package/esm/transform/helpers/withDefaultServices.js +13 -22
- package/esm/transform/helpers/withDefaultServices.js.map +1 -1
- package/esm/transform/isStaticallyEvaluatableModule.js +140 -152
- package/esm/transform/isStaticallyEvaluatableModule.js.map +1 -1
- package/esm/transform/oxcBarrelManifest.js +349 -0
- package/esm/transform/oxcBarrelManifest.js.map +1 -0
- package/esm/transform/rootLog.js +3 -3
- package/esm/transform/rootLog.js.map +1 -1
- package/esm/transform/syntax.js +2 -0
- package/esm/transform/syntax.js.map +1 -0
- package/esm/transform/types.js +2 -2
- package/esm/transform/types.js.map +1 -1
- package/esm/transform.js +125 -147
- package/esm/transform.js.map +1 -1
- package/esm/types.js +4 -1
- package/esm/types.js.map +1 -1
- package/esm/utils/EventEmitter.js +79 -48
- package/esm/utils/EventEmitter.js.map +1 -1
- package/esm/utils/ShakerMetadata.js +2 -2
- package/esm/utils/ShakerMetadata.js.map +1 -1
- package/esm/utils/TransformDiagnostics.js +9 -9
- package/esm/utils/TransformDiagnostics.js.map +1 -1
- package/esm/utils/TransformMetadata.js +24 -26
- package/esm/utils/TransformMetadata.js.map +1 -1
- package/esm/utils/applyOxcProcessors/applyOxcProcessors.js +160 -0
- package/esm/utils/applyOxcProcessors/applyOxcProcessors.js.map +1 -0
- package/esm/utils/applyOxcProcessors/cleanupBindings.js +157 -0
- package/esm/utils/applyOxcProcessors/cleanupBindings.js.map +1 -0
- package/esm/utils/applyOxcProcessors/cleanupRemovals.js +431 -0
- package/esm/utils/applyOxcProcessors/cleanupRemovals.js.map +1 -0
- package/esm/utils/applyOxcProcessors/displayName.js +93 -0
- package/esm/utils/applyOxcProcessors/displayName.js.map +1 -0
- package/esm/utils/applyOxcProcessors/expressionValues.js +152 -0
- package/esm/utils/applyOxcProcessors/expressionValues.js.map +1 -0
- package/esm/utils/applyOxcProcessors/processorFactory.js +62 -0
- package/esm/utils/applyOxcProcessors/processorFactory.js.map +1 -0
- package/esm/utils/applyOxcProcessors/processorUsages.js +143 -0
- package/esm/utils/applyOxcProcessors/processorUsages.js.map +1 -0
- package/esm/utils/applyOxcProcessors/sameFileStaticValues.js +207 -0
- package/esm/utils/applyOxcProcessors/sameFileStaticValues.js.map +1 -0
- package/esm/utils/applyOxcProcessors/shared.js +29 -0
- package/esm/utils/applyOxcProcessors/shared.js.map +1 -0
- package/esm/utils/applyOxcProcessors/types.js +2 -0
- package/esm/utils/applyOxcProcessors/types.js.map +1 -0
- package/esm/utils/applyOxcProcessors.js +2 -0
- package/esm/utils/applyOxcProcessors.js.map +1 -0
- package/esm/utils/collectOxcExportsAndImports.js +934 -0
- package/esm/utils/collectOxcExportsAndImports.js.map +1 -0
- package/esm/utils/collectOxcRuntime/normalizeRuntimeCode.js +157 -0
- package/esm/utils/collectOxcRuntime/normalizeRuntimeCode.js.map +1 -0
- package/esm/utils/collectOxcRuntime/sourceMap.js +36 -0
- package/esm/utils/collectOxcRuntime/sourceMap.js.map +1 -0
- package/esm/utils/collectOxcRuntime/types.js +2 -0
- package/esm/utils/collectOxcRuntime/types.js.map +1 -0
- package/esm/utils/collectOxcRuntime.js +32 -0
- package/esm/utils/collectOxcRuntime.js.map +1 -0
- package/esm/utils/collectOxcTemplateDependencies/expressionExtraction.js +496 -0
- package/esm/utils/collectOxcTemplateDependencies/expressionExtraction.js.map +1 -0
- package/esm/utils/collectOxcTemplateDependencies/expressionReplacements.js +113 -0
- package/esm/utils/collectOxcTemplateDependencies/expressionReplacements.js.map +1 -0
- package/esm/utils/collectOxcTemplateDependencies/scopeAnalysis.js +387 -0
- package/esm/utils/collectOxcTemplateDependencies/scopeAnalysis.js.map +1 -0
- package/esm/utils/collectOxcTemplateDependencies/staticBindings.js +17 -0
- package/esm/utils/collectOxcTemplateDependencies/staticBindings.js.map +1 -0
- package/esm/utils/collectOxcTemplateDependencies/staticEvaluator.js +540 -0
- package/esm/utils/collectOxcTemplateDependencies/staticEvaluator.js.map +1 -0
- package/esm/utils/collectOxcTemplateDependencies/types.js +2 -0
- package/esm/utils/collectOxcTemplateDependencies/types.js.map +1 -0
- package/esm/utils/collectOxcTemplateDependencies.js +4 -0
- package/esm/utils/collectOxcTemplateDependencies.js.map +1 -0
- package/esm/utils/dispose-polyfill.js +3 -4
- package/esm/utils/dispose-polyfill.js.map +1 -1
- package/esm/utils/getFileIdx.js +6 -6
- package/esm/utils/getFileIdx.js.map +1 -1
- package/esm/utils/getPluginKey.js +12 -12
- package/esm/utils/getPluginKey.js.map +1 -1
- package/esm/utils/getVisitorKeys.js +9 -3
- package/esm/utils/getVisitorKeys.js.map +1 -1
- package/esm/utils/hasCachedWywPrevalExport.js +23 -0
- package/esm/utils/hasCachedWywPrevalExport.js.map +1 -0
- package/esm/utils/hasWywPreval.js +5 -5
- package/esm/utils/hasWywPreval.js.map +1 -1
- package/esm/utils/importOverrides.js +75 -90
- package/esm/utils/importOverrides.js.map +1 -1
- package/esm/utils/isNode.js +2 -2
- package/esm/utils/isNode.js.map +1 -1
- package/esm/utils/isNotNull.js +2 -2
- package/esm/utils/isNotNull.js.map +1 -1
- package/esm/utils/isSerializable.js +11 -11
- package/esm/utils/isSerializable.js.map +1 -1
- package/esm/utils/nativeResolver.js +93 -0
- package/esm/utils/nativeResolver.js.map +1 -0
- package/esm/utils/oxc/ast.js +28 -0
- package/esm/utils/oxc/ast.js.map +1 -0
- package/esm/utils/oxc/parse.js +3 -0
- package/esm/utils/oxc/parse.js.map +1 -0
- package/esm/utils/oxc/replacements.js +14 -0
- package/esm/utils/oxc/replacements.js.map +1 -0
- package/esm/utils/oxc/sourceLocations.js +59 -0
- package/esm/utils/oxc/sourceLocations.js.map +1 -0
- package/esm/utils/oxcAstService.js +121 -0
- package/esm/utils/oxcAstService.js.map +1 -0
- package/esm/utils/oxcEmit.js +447 -0
- package/esm/utils/oxcEmit.js.map +1 -0
- package/esm/utils/oxcPreevalStage/evalStrategy.js +3 -0
- package/esm/utils/oxcPreevalStage/evalStrategy.js.map +1 -0
- package/esm/utils/oxcPreevalStage/prepareCode.js +21 -0
- package/esm/utils/oxcPreevalStage/prepareCode.js.map +1 -0
- package/esm/utils/oxcPreevalStage/prevalExport.js +23 -0
- package/esm/utils/oxcPreevalStage/prevalExport.js.map +1 -0
- package/esm/utils/oxcPreevalStage/processors.js +17 -0
- package/esm/utils/oxcPreevalStage/processors.js.map +1 -0
- package/esm/utils/oxcPreevalStage/staticOverlay.js +18 -0
- package/esm/utils/oxcPreevalStage/staticOverlay.js.map +1 -0
- package/esm/utils/oxcPreevalStage/types.js +2 -0
- package/esm/utils/oxcPreevalStage/types.js.map +1 -0
- package/esm/utils/oxcPreevalStage.js +41 -0
- package/esm/utils/oxcPreevalStage.js.map +1 -0
- package/esm/utils/oxcPreevalTransforms.js +1065 -0
- package/esm/utils/oxcPreevalTransforms.js.map +1 -0
- package/esm/utils/oxcShaker.js +662 -0
- package/esm/utils/oxcShaker.js.map +1 -0
- package/esm/utils/parseOxc.js +37 -0
- package/esm/utils/parseOxc.js.map +1 -0
- package/esm/utils/parseRequest.js +27 -27
- package/esm/utils/parseRequest.js.map +1 -1
- package/esm/utils/peek.js +1 -1
- package/esm/utils/peek.js.map +1 -1
- package/esm/utils/processorLookup.js +125 -0
- package/esm/utils/processorLookup.js.map +1 -0
- package/esm/utils/processorStaticSemantics.js +157 -0
- package/esm/utils/processorStaticSemantics.js.map +1 -0
- package/esm/utils/resolveWithConditions.js +99 -0
- package/esm/utils/resolveWithConditions.js.map +1 -0
- package/esm/vm/createVmContext.js +140 -141
- package/esm/vm/createVmContext.js.map +1 -1
- package/esm/vm/process.js +11 -13
- package/esm/vm/process.js.map +1 -1
- package/package.json +19 -26
- package/types/cache.d.ts +17 -8
- package/types/cache.js +245 -95
- package/types/debug/fileReporter.js +68 -23
- package/types/eval/broker.d.ts +92 -0
- package/types/eval/broker.js +2411 -0
- package/types/eval/lru.d.ts +10 -0
- package/types/eval/lru.js +36 -0
- package/types/eval/prepareModuleOnDemand.d.ts +7 -0
- package/types/eval/prepareModuleOnDemand.js +24 -0
- package/types/eval/protocol.d.ts +111 -0
- package/types/eval/protocol.js +1 -0
- package/types/eval/serialize.d.ts +78 -0
- package/types/eval/serialize.js +357 -0
- package/types/eval/writeQueue.d.ts +13 -0
- package/types/eval/writeQueue.js +80 -0
- package/types/evaluators/index.d.ts +2 -2
- package/types/evaluators/index.js +6 -9
- package/types/index.d.ts +3 -6
- package/types/index.js +24 -82
- package/types/module.d.ts +38 -7
- package/types/module.js +613 -192
- package/types/shaker.d.ts +2 -10
- package/types/shaker.js +10 -100
- package/types/transform/BaseEntrypoint.js +6 -11
- package/types/transform/Entrypoint.d.ts +15 -15
- package/types/transform/Entrypoint.helpers.d.ts +2 -5
- package/types/transform/Entrypoint.helpers.js +43 -203
- package/types/transform/Entrypoint.js +130 -53
- package/types/transform/Entrypoint.types.d.ts +31 -6
- package/types/transform/Entrypoint.types.js +1 -2
- package/types/transform/EvaluatedEntrypoint.d.ts +13 -2
- package/types/transform/EvaluatedEntrypoint.js +7 -6
- package/types/transform/actions/AbortError.js +2 -7
- package/types/transform/actions/BaseAction.js +4 -8
- package/types/transform/actions/UnprocessedEntrypointError.js +2 -7
- package/types/transform/actions/actionRunner.js +8 -12
- package/types/transform/actions/types.d.ts +2 -2
- package/types/transform/actions/types.js +1 -2
- package/types/transform/{barrelManifest.d.ts → barrelManifest.types.d.ts} +0 -2
- package/types/transform/barrelManifest.types.js +1 -0
- package/types/transform/generators/baseProcessingHandlers.d.ts +4 -5
- package/types/transform/generators/baseProcessingHandlers.js +10 -14
- package/types/transform/generators/collect.js +13 -39
- package/types/transform/generators/createStylisPreprocessor.js +19 -60
- package/types/transform/generators/evalFile.d.ts +2 -2
- package/types/transform/generators/evalFile.js +26 -28
- package/types/transform/generators/extract.js +5 -8
- package/types/transform/generators/getExports.js +23 -30
- package/types/transform/generators/index.d.ts +2 -2
- package/types/transform/generators/index.js +11 -14
- package/types/transform/generators/processEntrypoint.d.ts +2 -2
- package/types/transform/generators/processEntrypoint.js +60 -26
- package/types/transform/generators/processImports.d.ts +0 -3
- package/types/transform/generators/processImports.js +60 -20
- package/types/transform/generators/resolveImports.d.ts +3 -1
- package/types/transform/generators/resolveImports.js +66 -23
- package/types/transform/generators/resolveStaticOxcValues/cache.d.ts +25 -0
- package/types/transform/generators/resolveStaticOxcValues/cache.js +182 -0
- package/types/transform/generators/resolveStaticOxcValues/candidateResolver.d.ts +5 -0
- package/types/transform/generators/resolveStaticOxcValues/candidateResolver.js +149 -0
- package/types/transform/generators/resolveStaticOxcValues/dependencies.d.ts +6 -0
- package/types/transform/generators/resolveStaticOxcValues/dependencies.js +37 -0
- package/types/transform/generators/resolveStaticOxcValues/environment.d.ts +12 -0
- package/types/transform/generators/resolveStaticOxcValues/environment.js +32 -0
- package/types/transform/generators/resolveStaticOxcValues/exportResolver.d.ts +4 -0
- package/types/transform/generators/resolveStaticOxcValues/exportResolver.js +358 -0
- package/types/transform/generators/resolveStaticOxcValues/exportTargets.d.ts +20 -0
- package/types/transform/generators/resolveStaticOxcValues/exportTargets.js +285 -0
- package/types/transform/generators/resolveStaticOxcValues/objectAssign.d.ts +41 -0
- package/types/transform/generators/resolveStaticOxcValues/objectAssign.js +352 -0
- package/types/transform/generators/resolveStaticOxcValues/objectAssignStaticExport.d.ts +6 -0
- package/types/transform/generators/resolveStaticOxcValues/objectAssignStaticExport.js +88 -0
- package/types/transform/generators/resolveStaticOxcValues/opaqueRuntime.d.ts +13 -0
- package/types/transform/generators/resolveStaticOxcValues/opaqueRuntime.js +263 -0
- package/types/transform/generators/resolveStaticOxcValues/processorStaticExport.d.ts +4 -0
- package/types/transform/generators/resolveStaticOxcValues/processorStaticExport.js +191 -0
- package/types/transform/generators/resolveStaticOxcValues/processorStaticModel.d.ts +40 -0
- package/types/transform/generators/resolveStaticOxcValues/processorStaticModel.js +516 -0
- package/types/transform/generators/resolveStaticOxcValues/processorTarget.d.ts +5 -0
- package/types/transform/generators/resolveStaticOxcValues/processorTarget.js +62 -0
- package/types/transform/generators/resolveStaticOxcValues/programAnalysis.d.ts +11 -0
- package/types/transform/generators/resolveStaticOxcValues/programAnalysis.js +133 -0
- package/types/transform/generators/resolveStaticOxcValues/prune.d.ts +15 -0
- package/types/transform/generators/resolveStaticOxcValues/prune.js +220 -0
- package/types/transform/generators/resolveStaticOxcValues/resolveStaticOxcPreevalValues.d.ts +2 -0
- package/types/transform/generators/resolveStaticOxcValues/resolveStaticOxcPreevalValues.js +197 -0
- package/types/transform/generators/resolveStaticOxcValues/staticExpression.d.ts +25 -0
- package/types/transform/generators/resolveStaticOxcValues/staticExpression.js +391 -0
- package/types/transform/generators/resolveStaticOxcValues/staticExpressionDependencies.d.ts +14 -0
- package/types/transform/generators/resolveStaticOxcValues/staticExpressionDependencies.js +304 -0
- package/types/transform/generators/resolveStaticOxcValues/types.d.ts +99 -0
- package/types/transform/generators/resolveStaticOxcValues/types.js +2 -0
- package/types/transform/generators/resolveStaticOxcValues/zeroArgFunctionStaticExport.d.ts +7 -0
- package/types/transform/generators/resolveStaticOxcValues/zeroArgFunctionStaticExport.js +64 -0
- package/types/transform/generators/resolveStaticOxcValues.d.ts +1 -0
- package/types/transform/generators/resolveStaticOxcValues.js +1 -0
- package/types/transform/generators/{rewriteBarrelImports.d.ts → rewriteOxcBarrelImports.d.ts} +2 -3
- package/types/transform/generators/{rewriteBarrelImports.js → rewriteOxcBarrelImports.js} +282 -225
- package/types/transform/generators/transform.d.ts +3 -7
- package/types/transform/generators/transform.js +217 -199
- package/types/transform/generators/workflow.js +62 -45
- package/types/transform/helpers/loadWywOptions.js +115 -21
- package/types/transform/helpers/withDefaultServices.d.ts +1 -1
- package/types/transform/helpers/withDefaultServices.js +6 -44
- package/types/transform/isStaticallyEvaluatableModule.d.ts +1 -2
- package/types/transform/isStaticallyEvaluatableModule.js +125 -126
- package/types/transform/oxcBarrelManifest.d.ts +2 -0
- package/types/transform/{barrelManifest.js → oxcBarrelManifest.js} +156 -97
- package/types/transform/rootLog.js +2 -5
- package/types/transform/syntax.d.ts +38 -0
- package/types/transform/syntax.js +1 -0
- package/types/transform/types.d.ts +9 -6
- package/types/transform/types.js +1 -4
- package/types/transform.d.ts +2 -2
- package/types/transform.js +90 -101
- package/types/types.d.ts +0 -23
- package/types/types.js +1 -2
- package/types/utils/EventEmitter.d.ts +16 -1
- package/types/utils/EventEmitter.js +47 -18
- package/types/utils/ShakerMetadata.js +1 -5
- package/types/utils/TransformDiagnostics.js +3 -7
- package/types/utils/TransformMetadata.js +8 -16
- package/types/utils/applyOxcProcessors/applyOxcProcessors.d.ts +8 -0
- package/types/utils/applyOxcProcessors/applyOxcProcessors.js +167 -0
- package/types/utils/applyOxcProcessors/cleanupBindings.d.ts +12 -0
- package/types/utils/applyOxcProcessors/cleanupBindings.js +189 -0
- package/types/utils/applyOxcProcessors/cleanupRemovals.d.ts +16 -0
- package/types/utils/applyOxcProcessors/cleanupRemovals.js +482 -0
- package/types/utils/applyOxcProcessors/displayName.d.ts +9 -0
- package/types/utils/applyOxcProcessors/displayName.js +113 -0
- package/types/utils/applyOxcProcessors/expressionValues.d.ts +11 -0
- package/types/utils/applyOxcProcessors/expressionValues.js +170 -0
- package/types/utils/applyOxcProcessors/processorFactory.d.ts +7 -0
- package/types/utils/applyOxcProcessors/processorFactory.js +70 -0
- package/types/utils/applyOxcProcessors/processorUsages.d.ts +16 -0
- package/types/utils/applyOxcProcessors/processorUsages.js +163 -0
- package/types/utils/applyOxcProcessors/sameFileStaticValues.d.ts +23 -0
- package/types/utils/applyOxcProcessors/sameFileStaticValues.js +211 -0
- package/types/utils/applyOxcProcessors/shared.d.ts +10 -0
- package/types/utils/applyOxcProcessors/shared.js +37 -0
- package/types/utils/applyOxcProcessors/types.d.ts +88 -0
- package/types/utils/applyOxcProcessors/types.js +1 -0
- package/types/utils/applyOxcProcessors.d.ts +1 -0
- package/types/utils/applyOxcProcessors.js +1 -0
- package/types/utils/collectOxcExportsAndImports.d.ts +35 -0
- package/types/utils/collectOxcExportsAndImports.js +957 -0
- package/types/utils/collectOxcRuntime/normalizeRuntimeCode.d.ts +1 -0
- package/types/utils/collectOxcRuntime/normalizeRuntimeCode.js +185 -0
- package/types/utils/collectOxcRuntime/sourceMap.d.ts +2 -0
- package/types/utils/collectOxcRuntime/sourceMap.js +37 -0
- package/types/utils/collectOxcRuntime/types.d.ts +16 -0
- package/types/utils/collectOxcRuntime/types.js +1 -0
- package/types/utils/collectOxcRuntime.d.ts +4 -0
- package/types/utils/collectOxcRuntime.js +31 -0
- package/types/utils/collectOxcTemplateDependencies/expressionExtraction.d.ts +6 -0
- package/types/utils/collectOxcTemplateDependencies/expressionExtraction.js +550 -0
- package/types/utils/collectOxcTemplateDependencies/expressionReplacements.d.ts +11 -0
- package/types/utils/collectOxcTemplateDependencies/expressionReplacements.js +131 -0
- package/types/utils/collectOxcTemplateDependencies/scopeAnalysis.d.ts +20 -0
- package/types/utils/collectOxcTemplateDependencies/scopeAnalysis.js +434 -0
- package/types/utils/collectOxcTemplateDependencies/staticBindings.d.ts +7 -0
- package/types/utils/collectOxcTemplateDependencies/staticBindings.js +13 -0
- package/types/utils/collectOxcTemplateDependencies/staticEvaluator.d.ts +13 -0
- package/types/utils/collectOxcTemplateDependencies/staticEvaluator.js +626 -0
- package/types/utils/collectOxcTemplateDependencies/types.d.ts +116 -0
- package/types/utils/collectOxcTemplateDependencies/types.js +1 -0
- package/types/utils/collectOxcTemplateDependencies.d.ts +4 -0
- package/types/utils/collectOxcTemplateDependencies.js +3 -0
- package/types/utils/getFileIdx.js +1 -4
- package/types/utils/getPluginKey.d.ts +5 -2
- package/types/utils/getPluginKey.js +2 -6
- package/types/utils/getVisitorKeys.d.ts +4 -4
- package/types/utils/getVisitorKeys.js +9 -6
- package/types/utils/hasCachedWywPrevalExport.d.ts +14 -0
- package/types/utils/hasCachedWywPrevalExport.js +30 -0
- package/types/utils/hasWywPreval.js +1 -4
- package/types/utils/importOverrides.js +17 -27
- package/types/utils/isNode.d.ts +2 -2
- package/types/utils/isNode.js +2 -6
- package/types/utils/isNotNull.js +1 -4
- package/types/utils/isSerializable.js +3 -6
- package/types/utils/nativeResolver.d.ts +13 -0
- package/types/utils/nativeResolver.js +91 -0
- package/types/utils/oxc/ast.d.ts +4 -0
- package/types/utils/oxc/ast.js +37 -0
- package/types/utils/oxc/parse.d.ts +3 -0
- package/types/utils/oxc/parse.js +2 -0
- package/types/utils/oxc/replacements.d.ts +12 -0
- package/types/utils/oxc/replacements.js +18 -0
- package/types/utils/oxc/sourceLocations.d.ts +5 -0
- package/types/utils/oxc/sourceLocations.js +63 -0
- package/types/utils/oxcAstService.d.ts +11 -0
- package/types/utils/oxcAstService.js +79 -0
- package/types/utils/oxcEmit.d.ts +19 -0
- package/types/utils/oxcEmit.js +506 -0
- package/types/utils/oxcPreevalStage/evalStrategy.d.ts +3 -0
- package/types/utils/oxcPreevalStage/evalStrategy.js +2 -0
- package/types/utils/oxcPreevalStage/prepareCode.d.ts +3 -0
- package/types/utils/oxcPreevalStage/prepareCode.js +20 -0
- package/types/utils/oxcPreevalStage/prevalExport.d.ts +1 -0
- package/types/utils/oxcPreevalStage/prevalExport.js +22 -0
- package/types/utils/oxcPreevalStage/processors.d.ts +10 -0
- package/types/utils/oxcPreevalStage/processors.js +16 -0
- package/types/utils/oxcPreevalStage/staticOverlay.d.ts +3 -0
- package/types/utils/oxcPreevalStage/staticOverlay.js +23 -0
- package/types/utils/oxcPreevalStage/types.d.ts +22 -0
- package/types/utils/oxcPreevalStage/types.js +1 -0
- package/types/utils/oxcPreevalStage.d.ts +4 -0
- package/types/utils/oxcPreevalStage.js +40 -0
- package/types/utils/oxcPreevalTransforms.d.ts +13 -0
- package/types/utils/oxcPreevalTransforms.js +1192 -0
- package/types/utils/oxcShaker.d.ts +13 -0
- package/types/utils/oxcShaker.js +751 -0
- package/types/utils/parseOxc.d.ts +11 -0
- package/types/utils/parseOxc.js +38 -0
- package/types/utils/parseRequest.js +2 -7
- package/types/utils/peek.js +1 -5
- package/types/utils/processorLookup.d.ts +8 -0
- package/types/utils/processorLookup.js +135 -0
- package/types/utils/processorStaticSemantics.d.ts +13 -0
- package/types/utils/processorStaticSemantics.js +191 -0
- package/types/utils/resolveWithConditions.d.ts +12 -0
- package/types/utils/resolveWithConditions.js +103 -0
- package/types/vm/createVmContext.d.ts +2 -2
- package/types/vm/createVmContext.js +25 -62
- package/types/vm/process.js +20 -26
- package/esm/babel.js +0 -2
- package/esm/babel.js.map +0 -1
- package/esm/options/buildOptions.js +0 -168
- package/esm/options/buildOptions.js.map +0 -1
- package/esm/options/buildOptions.test.js +0 -138
- package/esm/options/buildOptions.test.js.map +0 -1
- package/esm/options/loadBabelOptions.js +0 -24
- package/esm/options/loadBabelOptions.js.map +0 -1
- package/esm/plugins/babel-transform.js +0 -53
- package/esm/plugins/babel-transform.js.map +0 -1
- package/esm/plugins/collector.js +0 -60
- package/esm/plugins/collector.js.map +0 -1
- package/esm/plugins/dynamic-import.js +0 -56
- package/esm/plugins/dynamic-import.js.map +0 -1
- package/esm/plugins/preeval.js +0 -73
- package/esm/plugins/preeval.js.map +0 -1
- package/esm/plugins/shaker.js +0 -680
- package/esm/plugins/shaker.js.map +0 -1
- package/esm/transform/barrelManifest.js +0 -291
- package/esm/transform/barrelManifest.js.map +0 -1
- package/esm/transform/generators/explodeReexports.js +0 -64
- package/esm/transform/generators/explodeReexports.js.map +0 -1
- package/esm/transform/generators/rewriteBarrelImports.js +0 -733
- package/esm/transform/generators/rewriteBarrelImports.js.map +0 -1
- package/esm/utils/addIdentifierToWywPreval.js +0 -68
- package/esm/utils/addIdentifierToWywPreval.js.map +0 -1
- package/esm/utils/collectExportsAndImports.js +0 -1157
- package/esm/utils/collectExportsAndImports.js.map +0 -1
- package/esm/utils/collectTemplateDependencies.js +0 -228
- package/esm/utils/collectTemplateDependencies.js.map +0 -1
- package/esm/utils/createId.js +0 -6
- package/esm/utils/createId.js.map +0 -1
- package/esm/utils/findIdentifiers.js +0 -62
- package/esm/utils/findIdentifiers.js.map +0 -1
- package/esm/utils/getConstantStringValue.js +0 -58
- package/esm/utils/getConstantStringValue.js.map +0 -1
- package/esm/utils/getMemberExpressionPropertyName.js +0 -11
- package/esm/utils/getMemberExpressionPropertyName.js.map +0 -1
- package/esm/utils/getScope.js +0 -6
- package/esm/utils/getScope.js.map +0 -1
- package/esm/utils/getSource.js +0 -15
- package/esm/utils/getSource.js.map +0 -1
- package/esm/utils/getTagProcessor.js +0 -404
- package/esm/utils/getTagProcessor.js.map +0 -1
- package/esm/utils/isExports.js +0 -22
- package/esm/utils/isExports.js.map +0 -1
- package/esm/utils/isGlobal.js +0 -6
- package/esm/utils/isGlobal.js.map +0 -1
- package/esm/utils/isNodePath.js +0 -4
- package/esm/utils/isNodePath.js.map +0 -1
- package/esm/utils/isRemoved.js +0 -46
- package/esm/utils/isRemoved.js.map +0 -1
- package/esm/utils/isRequire.js +0 -13
- package/esm/utils/isRequire.js.map +0 -1
- package/esm/utils/isTypedNode.js +0 -6
- package/esm/utils/isTypedNode.js.map +0 -1
- package/esm/utils/isUnnecessaryReactCall.js +0 -72
- package/esm/utils/isUnnecessaryReactCall.js.map +0 -1
- package/esm/utils/removeDangerousCode.js +0 -276
- package/esm/utils/removeDangerousCode.js.map +0 -1
- package/esm/utils/replaceImportMetaEnv.js +0 -44
- package/esm/utils/replaceImportMetaEnv.js.map +0 -1
- package/esm/utils/scopeHelpers.js +0 -527
- package/esm/utils/scopeHelpers.js.map +0 -1
- package/esm/utils/traversalCache.js +0 -23
- package/esm/utils/traversalCache.js.map +0 -1
- package/esm/utils/unwrapExpression.js +0 -18
- package/esm/utils/unwrapExpression.js.map +0 -1
- package/esm/utils/unwrapSequence.js +0 -14
- package/esm/utils/unwrapSequence.js.map +0 -1
- package/esm/utils/valueToLiteral.js +0 -59
- package/esm/utils/valueToLiteral.js.map +0 -1
- package/esm/utils/visitors/JSXElementsRemover.js +0 -51
- package/esm/utils/visitors/JSXElementsRemover.js.map +0 -1
- package/lib/babel.js +0 -2
- package/lib/babel.js.map +0 -1
- package/lib/cache.js +0 -308
- package/lib/cache.js.map +0 -1
- package/lib/debug/fileReporter.js +0 -153
- package/lib/debug/fileReporter.js.map +0 -1
- package/lib/evaluators/index.js +0 -20
- package/lib/evaluators/index.js.map +0 -1
- package/lib/index.js +0 -286
- package/lib/index.js.map +0 -1
- package/lib/module.js +0 -552
- package/lib/module.js.map +0 -1
- package/lib/options/buildOptions.js +0 -176
- package/lib/options/buildOptions.js.map +0 -1
- package/lib/options/buildOptions.test.js +0 -141
- package/lib/options/buildOptions.test.js.map +0 -1
- package/lib/options/loadBabelOptions.js +0 -31
- package/lib/options/loadBabelOptions.js.map +0 -1
- package/lib/plugins/babel-transform.js +0 -60
- package/lib/plugins/babel-transform.js.map +0 -1
- package/lib/plugins/collector.js +0 -70
- package/lib/plugins/collector.js.map +0 -1
- package/lib/plugins/dynamic-import.js +0 -61
- package/lib/plugins/dynamic-import.js.map +0 -1
- package/lib/plugins/preeval.js +0 -81
- package/lib/plugins/preeval.js.map +0 -1
- package/lib/plugins/shaker.js +0 -691
- package/lib/plugins/shaker.js.map +0 -1
- package/lib/shaker.js +0 -95
- package/lib/shaker.js.map +0 -1
- package/lib/transform/BaseEntrypoint.js +0 -179
- package/lib/transform/BaseEntrypoint.js.map +0 -1
- package/lib/transform/Entrypoint.helpers.js +0 -279
- package/lib/transform/Entrypoint.helpers.js.map +0 -1
- package/lib/transform/Entrypoint.js +0 -289
- package/lib/transform/Entrypoint.js.map +0 -1
- package/lib/transform/Entrypoint.types.js +0 -2
- package/lib/transform/Entrypoint.types.js.map +0 -1
- package/lib/transform/EvaluatedEntrypoint.js +0 -13
- package/lib/transform/EvaluatedEntrypoint.js.map +0 -1
- package/lib/transform/actions/AbortError.js +0 -16
- package/lib/transform/actions/AbortError.js.map +0 -1
- package/lib/transform/actions/BaseAction.js +0 -150
- package/lib/transform/actions/BaseAction.js.map +0 -1
- package/lib/transform/actions/UnprocessedEntrypointError.js +0 -16
- package/lib/transform/actions/UnprocessedEntrypointError.js.map +0 -1
- package/lib/transform/actions/actionRunner.js +0 -82
- package/lib/transform/actions/actionRunner.js.map +0 -1
- package/lib/transform/actions/types.js +0 -2
- package/lib/transform/actions/types.js.map +0 -1
- package/lib/transform/barrelManifest.js +0 -300
- package/lib/transform/barrelManifest.js.map +0 -1
- package/lib/transform/generators/baseProcessingHandlers.js +0 -27
- package/lib/transform/generators/baseProcessingHandlers.js.map +0 -1
- package/lib/transform/generators/collect.js +0 -66
- package/lib/transform/generators/collect.js.map +0 -1
- package/lib/transform/generators/createStylisPreprocessor.js +0 -372
- package/lib/transform/generators/createStylisPreprocessor.js.map +0 -1
- package/lib/transform/generators/evalFile.js +0 -57
- package/lib/transform/generators/evalFile.js.map +0 -1
- package/lib/transform/generators/explodeReexports.js +0 -71
- package/lib/transform/generators/explodeReexports.js.map +0 -1
- package/lib/transform/generators/extract.js +0 -102
- package/lib/transform/generators/extract.js.map +0 -1
- package/lib/transform/generators/getExports.js +0 -85
- package/lib/transform/generators/getExports.js.map +0 -1
- package/lib/transform/generators/index.js +0 -19
- package/lib/transform/generators/index.js.map +0 -1
- package/lib/transform/generators/processEntrypoint.js +0 -76
- package/lib/transform/generators/processEntrypoint.js.map +0 -1
- package/lib/transform/generators/processImports.js +0 -82
- package/lib/transform/generators/processImports.js.map +0 -1
- package/lib/transform/generators/resolveImports.js +0 -221
- package/lib/transform/generators/resolveImports.js.map +0 -1
- package/lib/transform/generators/rewriteBarrelImports.js +0 -743
- package/lib/transform/generators/rewriteBarrelImports.js.map +0 -1
- package/lib/transform/generators/transform.js +0 -272
- package/lib/transform/generators/transform.js.map +0 -1
- package/lib/transform/generators/workflow.js +0 -100
- package/lib/transform/generators/workflow.js.map +0 -1
- package/lib/transform/helpers/loadWywOptions.js +0 -88
- package/lib/transform/helpers/loadWywOptions.js.map +0 -1
- package/lib/transform/helpers/withDefaultServices.js +0 -31
- package/lib/transform/helpers/withDefaultServices.js.map +0 -1
- package/lib/transform/isStaticallyEvaluatableModule.js +0 -159
- package/lib/transform/isStaticallyEvaluatableModule.js.map +0 -1
- package/lib/transform/rootLog.js +0 -9
- package/lib/transform/rootLog.js.map +0 -1
- package/lib/transform/types.js +0 -8
- package/lib/transform/types.js.map +0 -1
- package/lib/transform.js +0 -160
- package/lib/transform.js.map +0 -1
- package/lib/types.js +0 -2
- package/lib/types.js.map +0 -1
- package/lib/utils/EventEmitter.js +0 -61
- package/lib/utils/EventEmitter.js.map +0 -1
- package/lib/utils/ShakerMetadata.js +0 -9
- package/lib/utils/ShakerMetadata.js.map +0 -1
- package/lib/utils/TransformDiagnostics.js +0 -20
- package/lib/utils/TransformDiagnostics.js.map +0 -1
- package/lib/utils/TransformMetadata.js +0 -45
- package/lib/utils/TransformMetadata.js.map +0 -1
- package/lib/utils/addIdentifierToWywPreval.js +0 -75
- package/lib/utils/addIdentifierToWywPreval.js.map +0 -1
- package/lib/utils/collectExportsAndImports.js +0 -1173
- package/lib/utils/collectExportsAndImports.js.map +0 -1
- package/lib/utils/collectTemplateDependencies.js +0 -242
- package/lib/utils/collectTemplateDependencies.js.map +0 -1
- package/lib/utils/createId.js +0 -13
- package/lib/utils/createId.js.map +0 -1
- package/lib/utils/dispose-polyfill.js +0 -9
- package/lib/utils/dispose-polyfill.js.map +0 -1
- package/lib/utils/findIdentifiers.js +0 -73
- package/lib/utils/findIdentifiers.js.map +0 -1
- package/lib/utils/getConstantStringValue.js +0 -66
- package/lib/utils/getConstantStringValue.js.map +0 -1
- package/lib/utils/getFileIdx.js +0 -16
- package/lib/utils/getFileIdx.js.map +0 -1
- package/lib/utils/getMemberExpressionPropertyName.js +0 -18
- package/lib/utils/getMemberExpressionPropertyName.js.map +0 -1
- package/lib/utils/getPluginKey.js +0 -21
- package/lib/utils/getPluginKey.js.map +0 -1
- package/lib/utils/getScope.js +0 -12
- package/lib/utils/getScope.js.map +0 -1
- package/lib/utils/getSource.js +0 -24
- package/lib/utils/getSource.js.map +0 -1
- package/lib/utils/getTagProcessor.js +0 -424
- package/lib/utils/getTagProcessor.js.map +0 -1
- package/lib/utils/getVisitorKeys.js +0 -11
- package/lib/utils/getVisitorKeys.js.map +0 -1
- package/lib/utils/hasWywPreval.js +0 -13
- package/lib/utils/hasWywPreval.js.map +0 -1
- package/lib/utils/importOverrides.js +0 -119
- package/lib/utils/importOverrides.js.map +0 -1
- package/lib/utils/isExports.js +0 -27
- package/lib/utils/isExports.js.map +0 -1
- package/lib/utils/isGlobal.js +0 -13
- package/lib/utils/isGlobal.js.map +0 -1
- package/lib/utils/isNode.js +0 -9
- package/lib/utils/isNode.js.map +0 -1
- package/lib/utils/isNodePath.js +0 -10
- package/lib/utils/isNodePath.js.map +0 -1
- package/lib/utils/isNotNull.js +0 -10
- package/lib/utils/isNotNull.js.map +0 -1
- package/lib/utils/isRemoved.js +0 -52
- package/lib/utils/isRemoved.js.map +0 -1
- package/lib/utils/isRequire.js +0 -18
- package/lib/utils/isRequire.js.map +0 -1
- package/lib/utils/isSerializable.js +0 -19
- package/lib/utils/isSerializable.js.map +0 -1
- package/lib/utils/isTypedNode.js +0 -13
- package/lib/utils/isTypedNode.js.map +0 -1
- package/lib/utils/isUnnecessaryReactCall.js +0 -81
- package/lib/utils/isUnnecessaryReactCall.js.map +0 -1
- package/lib/utils/parseRequest.js +0 -37
- package/lib/utils/parseRequest.js.map +0 -1
- package/lib/utils/peek.js +0 -9
- package/lib/utils/peek.js.map +0 -1
- package/lib/utils/removeDangerousCode.js +0 -284
- package/lib/utils/removeDangerousCode.js.map +0 -1
- package/lib/utils/replaceImportMetaEnv.js +0 -50
- package/lib/utils/replaceImportMetaEnv.js.map +0 -1
- package/lib/utils/scopeHelpers.js +0 -557
- package/lib/utils/scopeHelpers.js.map +0 -1
- package/lib/utils/traversalCache.js +0 -31
- package/lib/utils/traversalCache.js.map +0 -1
- package/lib/utils/unwrapExpression.js +0 -25
- package/lib/utils/unwrapExpression.js.map +0 -1
- package/lib/utils/unwrapSequence.js +0 -20
- package/lib/utils/unwrapSequence.js.map +0 -1
- package/lib/utils/valueToLiteral.js +0 -65
- package/lib/utils/valueToLiteral.js.map +0 -1
- package/lib/utils/visitors/JSXElementsRemover.js +0 -57
- package/lib/utils/visitors/JSXElementsRemover.js.map +0 -1
- package/lib/vm/createVmContext.js +0 -166
- package/lib/vm/createVmContext.js.map +0 -1
- package/lib/vm/process.js +0 -38
- package/lib/vm/process.js.map +0 -1
- package/types/babel.d.ts +0 -2
- package/types/babel.js +0 -2
- package/types/options/buildOptions.d.ts +0 -6
- package/types/options/buildOptions.js +0 -178
- package/types/options/loadBabelOptions.d.ts +0 -3
- package/types/options/loadBabelOptions.js +0 -26
- package/types/plugins/babel-transform.d.ts +0 -4
- package/types/plugins/babel-transform.js +0 -49
- package/types/plugins/collector.d.ts +0 -23
- package/types/plugins/collector.js +0 -62
- package/types/plugins/dynamic-import.d.ts +0 -6
- package/types/plugins/dynamic-import.js +0 -60
- package/types/plugins/preeval.d.ts +0 -16
- package/types/plugins/preeval.js +0 -69
- package/types/plugins/shaker.d.ts +0 -14
- package/types/plugins/shaker.js +0 -724
- package/types/transform/generators/explodeReexports.d.ts +0 -7
- package/types/transform/generators/explodeReexports.js +0 -65
- package/types/utils/addIdentifierToWywPreval.d.ts +0 -4
- package/types/utils/addIdentifierToWywPreval.js +0 -74
- package/types/utils/collectExportsAndImports.d.ts +0 -31
- package/types/utils/collectExportsAndImports.js +0 -1147
- package/types/utils/collectTemplateDependencies.d.ts +0 -17
- package/types/utils/collectTemplateDependencies.js +0 -220
- package/types/utils/createId.d.ts +0 -2
- package/types/utils/createId.js +0 -9
- package/types/utils/findIdentifiers.d.ts +0 -6
- package/types/utils/findIdentifiers.js +0 -67
- package/types/utils/getConstantStringValue.d.ts +0 -2
- package/types/utils/getConstantStringValue.js +0 -94
- package/types/utils/getMemberExpressionPropertyName.d.ts +0 -2
- package/types/utils/getMemberExpressionPropertyName.js +0 -46
- package/types/utils/getScope.d.ts +0 -2
- package/types/utils/getScope.js +0 -10
- package/types/utils/getSource.d.ts +0 -2
- package/types/utils/getSource.js +0 -22
- package/types/utils/getTagProcessor.d.ts +0 -13
- package/types/utils/getTagProcessor.js +0 -411
- package/types/utils/isExports.d.ts +0 -6
- package/types/utils/isExports.js +0 -19
- package/types/utils/isGlobal.d.ts +0 -2
- package/types/utils/isGlobal.js +0 -9
- package/types/utils/isNodePath.d.ts +0 -3
- package/types/utils/isNodePath.js +0 -6
- package/types/utils/isRemoved.d.ts +0 -5
- package/types/utils/isRemoved.js +0 -41
- package/types/utils/isRequire.d.ts +0 -6
- package/types/utils/isRequire.js +0 -14
- package/types/utils/isTypedNode.d.ts +0 -5
- package/types/utils/isTypedNode.js +0 -9
- package/types/utils/isUnnecessaryReactCall.d.ts +0 -3
- package/types/utils/isUnnecessaryReactCall.js +0 -75
- package/types/utils/removeDangerousCode.d.ts +0 -4
- package/types/utils/removeDangerousCode.js +0 -326
- package/types/utils/replaceImportMetaEnv.d.ts +0 -3
- package/types/utils/replaceImportMetaEnv.js +0 -39
- package/types/utils/scopeHelpers.d.ts +0 -12
- package/types/utils/scopeHelpers.js +0 -580
- package/types/utils/traversalCache.d.ts +0 -4
- package/types/utils/traversalCache.js +0 -27
- package/types/utils/unwrapExpression.d.ts +0 -2
- package/types/utils/unwrapExpression.js +0 -57
- package/types/utils/unwrapSequence.d.ts +0 -8
- package/types/utils/unwrapSequence.js +0 -16
- package/types/utils/valueToLiteral.d.ts +0 -3
- package/types/utils/valueToLiteral.js +0 -63
- package/types/utils/visitors/JSXElementsRemover.d.ts +0 -3
- package/types/utils/visitors/JSXElementsRemover.js +0 -51
package/esm/utils/getFileIdx.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
let nextIdx = 1;
|
|
2
2
|
const processed = new Map();
|
|
3
3
|
export function getFileIdx(name) {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
if (!processed.has(name)) {
|
|
5
|
+
// eslint-disable-next-line no-plusplus
|
|
6
|
+
processed.set(name, nextIdx++);
|
|
7
|
+
}
|
|
8
|
+
return processed.get(name).toString().padStart(5, "0");
|
|
9
9
|
}
|
|
10
|
-
//# sourceMappingURL=getFileIdx.js.map
|
|
10
|
+
//# sourceMappingURL=getFileIdx.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"
|
|
1
|
+
{"mappings":"AAAA,IAAI,UAAU;AACd,MAAM,YAAY,IAAI,KAAqB;AAE3C,OAAO,SAAS,WAAW,MAAsB;AAC/C,KAAI,CAAC,UAAU,IAAI,KAAK,EAAE;;AAExB,YAAU,IAAI,MAAM,UAAU;;AAGhC,QAAO,UAAU,IAAI,KAAK,CAAE,UAAU,CAAC,SAAS,GAAG,IAAI","names":[],"sources":["../../src/utils/getFileIdx.ts"],"version":3,"sourcesContent":["let nextIdx = 1;\nconst processed = new Map<string, number>();\n\nexport function getFileIdx(name: string): string {\n if (!processed.has(name)) {\n // eslint-disable-next-line no-plusplus\n processed.set(name, nextIdx++);\n }\n\n return processed.get(name)!.toString().padStart(5, '0');\n}\n"],"file":"getFileIdx.js"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
export const getPluginKey = plugin => {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
export const getPluginKey = (plugin) => {
|
|
2
|
+
if (typeof plugin === "string") {
|
|
3
|
+
return plugin;
|
|
4
|
+
}
|
|
5
|
+
if (Array.isArray(plugin)) {
|
|
6
|
+
return getPluginKey(plugin[0]);
|
|
7
|
+
}
|
|
8
|
+
if (typeof plugin === "object" && plugin !== null && "key" in plugin) {
|
|
9
|
+
return plugin.key ?? null;
|
|
10
|
+
}
|
|
11
|
+
return null;
|
|
12
12
|
};
|
|
13
|
-
//# sourceMappingURL=getPluginKey.js.map
|
|
13
|
+
//# sourceMappingURL=getPluginKey.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"
|
|
1
|
+
{"mappings":"AAQA,OAAO,MAAM,gBAAgB,WAA0C;AACrE,KAAI,OAAO,WAAW,UAAU;AAC9B,SAAO;;AAGT,KAAI,MAAM,QAAQ,OAAO,EAAE;AACzB,SAAO,aAAa,OAAO,GAAG;;AAGhC,KAAI,OAAO,WAAW,YAAY,WAAW,QAAQ,SAAS,QAAQ;AACpE,SAAQ,OAAmC,OAAO;;AAGpD,QAAO","names":[],"sources":["../../src/utils/getPluginKey.ts"],"version":3,"sourcesContent":["type PluginItemLike =\n | string\n | readonly [PluginItemLike, ...unknown[]]\n | { key?: string | null }\n | object\n | null\n | undefined;\n\nexport const getPluginKey = (plugin: PluginItemLike): string | null => {\n if (typeof plugin === 'string') {\n return plugin;\n }\n\n if (Array.isArray(plugin)) {\n return getPluginKey(plugin[0]);\n }\n\n if (typeof plugin === 'object' && plugin !== null && 'key' in plugin) {\n return (plugin as { key?: string | null }).key ?? null;\n }\n\n return null;\n};\n"],"file":"getPluginKey.js"}
|
|
@@ -1,5 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { isNode } from "./isNode.js";
|
|
2
2
|
export function getVisitorKeys(node) {
|
|
3
|
-
|
|
3
|
+
return Object.keys(node).filter((key) => {
|
|
4
|
+
const value = node[key];
|
|
5
|
+
if (isNode(value)) {
|
|
6
|
+
return true;
|
|
7
|
+
}
|
|
8
|
+
return Array.isArray(value) && value.some(isNode);
|
|
9
|
+
});
|
|
4
10
|
}
|
|
5
|
-
//# sourceMappingURL=getVisitorKeys.js.map
|
|
11
|
+
//# sourceMappingURL=getVisitorKeys.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"
|
|
1
|
+
{"mappings":"AAEA,SAAS,cAAc;AASvB,OAAO,SAAS,eACd,MACsB;AACtB,QAAO,OAAO,KAAK,KAAK,CAAC,QAAQ,QAAQ;EACvC,MAAM,QAAQ,KAAK;AACnB,MAAI,OAAO,MAAM,EAAE;AACjB,UAAO;;AAGT,SAAO,MAAM,QAAQ,MAAM,IAAI,MAAM,KAAK,OAAO;GACjD","names":[],"sources":["../../src/utils/getVisitorKeys.ts"],"version":3,"sourcesContent":["import type { AstNode } from '@wyw-in-js/shared';\n\nimport { isNode } from './isNode';\n\nexport type VisitorKeys<T extends AstNode> = {\n [K in keyof T]: Exclude<T[K], undefined> extends AstNode | AstNode[] | null\n ? K\n : never;\n}[keyof T] &\n string;\n\nexport function getVisitorKeys<TNode extends AstNode>(\n node: TNode\n): VisitorKeys<TNode>[] {\n return Object.keys(node).filter((key) => {\n const value = node[key as keyof TNode];\n if (isNode(value)) {\n return true;\n }\n\n return Array.isArray(value) && value.some(isNode);\n }) as VisitorKeys<TNode>[];\n}\n"],"file":"getVisitorKeys.js"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import { collectOxcExportsAndImports } from "./collectOxcExportsAndImports.js";
|
|
3
|
+
import { stripQueryAndHash } from "./parseRequest.js";
|
|
4
|
+
export const hasCachedWywPrevalExport = (services, resolved, cached) => {
|
|
5
|
+
const knownExports = services.cache.get("exports", resolved);
|
|
6
|
+
if (knownExports) {
|
|
7
|
+
return knownExports.includes("__wywPreval") || knownExports.includes("*");
|
|
8
|
+
}
|
|
9
|
+
const filename = stripQueryAndHash(resolved);
|
|
10
|
+
const code = cached?.initialCode ?? cached?.loadedAndParsed?.code ?? fs.readFileSync(filename, "utf-8");
|
|
11
|
+
try {
|
|
12
|
+
const analyzed = collectOxcExportsAndImports(code, filename);
|
|
13
|
+
if (analyzed.reexports.some((reexport) => reexport.exported === "*")) {
|
|
14
|
+
return true;
|
|
15
|
+
}
|
|
16
|
+
const exportNames = Array.from(new Set([...Object.keys(analyzed.exports), ...analyzed.reexports.filter((reexport) => reexport.exported !== "*").map((reexport) => reexport.exported)]));
|
|
17
|
+
services.cache.add("exports", resolved, exportNames);
|
|
18
|
+
return exportNames.includes("__wywPreval");
|
|
19
|
+
} catch {
|
|
20
|
+
return true;
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=hasCachedWywPrevalExport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"AAAA,OAAO,QAAQ;AAIf,SAAS,mCAAmC;AAC5C,SAAS,yBAAyB;AASlC,OAAO,MAAM,4BACX,UACA,UACA,WACY;CACZ,MAAM,eAAe,SAAS,MAAM,IAAI,WAAW,SAAS;AAG5D,KAAI,cAAc;AAChB,SAAO,aAAa,SAAS,cAAc,IAAI,aAAa,SAAS,IAAI;;CAG3E,MAAM,WAAW,kBAAkB,SAAS;CAC5C,MAAM,OACJ,QAAQ,eACR,QAAQ,iBAAiB,QACzB,GAAG,aAAa,UAAU,QAAQ;AAEpC,KAAI;EACF,MAAM,WAAW,4BAA4B,MAAM,SAAS;AAC5D,MAAI,SAAS,UAAU,MAAM,aAAa,SAAS,aAAa,IAAI,EAAE;AACpE,UAAO;;EAGT,MAAM,cAAc,MAAM,KACxB,IAAI,IAAI,CACN,GAAG,OAAO,KAAK,SAAS,QAAQ,EAChC,GAAG,SAAS,UACT,QAAQ,aAAa,SAAS,aAAa,IAAI,CAC/C,KAAK,aAAa,SAAS,SAAS,CACxC,CAAC,CACH;AACD,WAAS,MAAM,IAAI,WAAW,UAAU,YAAY;AACpD,SAAO,YAAY,SAAS,cAAc;SACpC;AACN,SAAO","names":[],"sources":["../../src/utils/hasCachedWywPrevalExport.ts"],"version":3,"sourcesContent":["import fs from 'node:fs';\n\nimport type { Services } from '../transform/types';\n\nimport { collectOxcExportsAndImports } from './collectOxcExportsAndImports';\nimport { stripQueryAndHash } from './parseRequest';\n\ntype CachedEntrypointLike = {\n evaluated?: boolean;\n ignored?: boolean;\n initialCode?: string;\n loadedAndParsed?: { code?: string; evalConfig?: { filename?: string } };\n};\n\nexport const hasCachedWywPrevalExport = (\n services: Services,\n resolved: string,\n cached: CachedEntrypointLike | undefined\n): boolean => {\n const knownExports = services.cache.get('exports', resolved) as\n | string[]\n | undefined;\n if (knownExports) {\n return knownExports.includes('__wywPreval') || knownExports.includes('*');\n }\n\n const filename = stripQueryAndHash(resolved);\n const code =\n cached?.initialCode ??\n cached?.loadedAndParsed?.code ??\n fs.readFileSync(filename, 'utf-8');\n\n try {\n const analyzed = collectOxcExportsAndImports(code, filename);\n if (analyzed.reexports.some((reexport) => reexport.exported === '*')) {\n return true;\n }\n\n const exportNames = Array.from(\n new Set([\n ...Object.keys(analyzed.exports),\n ...analyzed.reexports\n .filter((reexport) => reexport.exported !== '*')\n .map((reexport) => reexport.exported),\n ])\n );\n services.cache.add('exports', resolved, exportNames);\n return exportNames.includes('__wywPreval');\n } catch {\n return true;\n }\n};\n\nexport type { CachedEntrypointLike };\n"],"file":"hasCachedWywPrevalExport.js"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export default function hasWywPreval(exports) {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
if (!exports || typeof exports !== "object") {
|
|
3
|
+
return false;
|
|
4
|
+
}
|
|
5
|
+
return "__wywPreval" in exports;
|
|
6
6
|
}
|
|
7
|
-
//# sourceMappingURL=hasWywPreval.js.map
|
|
7
|
+
//# sourceMappingURL=hasWywPreval.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"
|
|
1
|
+
{"mappings":"AAEA,eAAe,SAAS,aAAa,SAEnC;AACA,KAAI,CAAC,WAAW,OAAO,YAAY,UAAU;AAC3C,SAAO;;AAGT,QAAO,iBAAiB","names":[],"sources":["../../src/utils/hasWywPreval.ts"],"version":3,"sourcesContent":["import type { Value } from '@wyw-in-js/processor-utils';\n\nexport default function hasWywPreval(exports: unknown): exports is {\n __wywPreval: Record<string, () => Value> | null | undefined;\n} {\n if (!exports || typeof exports !== 'object') {\n return false;\n }\n\n return '__wywPreval' in exports;\n}\n"],"file":"hasWywPreval.js"}
|
|
@@ -1,107 +1,92 @@
|
|
|
1
|
-
import path from
|
|
2
|
-
import { syncResolve } from
|
|
3
|
-
import { Minimatch } from
|
|
1
|
+
import path from "path";
|
|
2
|
+
import { syncResolve } from "@wyw-in-js/shared";
|
|
3
|
+
import { Minimatch } from "minimatch";
|
|
4
4
|
export function toCanonicalFileKey(resolved, root) {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
5
|
+
const rootDir = root ? path.resolve(root) : process.cwd();
|
|
6
|
+
const normalizedResolved = path.resolve(resolved);
|
|
7
|
+
let relative = path.relative(rootDir, normalizedResolved);
|
|
8
|
+
if (path.sep !== path.posix.sep) {
|
|
9
|
+
relative = relative.split(path.sep).join(path.posix.sep);
|
|
10
|
+
}
|
|
11
|
+
if (!relative.startsWith(".")) {
|
|
12
|
+
relative = `./${relative}`;
|
|
13
|
+
}
|
|
14
|
+
return relative;
|
|
15
15
|
}
|
|
16
|
-
export function toImportKey({
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
return {
|
|
29
|
-
key: source,
|
|
30
|
-
kind: 'package'
|
|
31
|
-
};
|
|
16
|
+
export function toImportKey({ source, resolved, root }) {
|
|
17
|
+
const isFileImport = source.startsWith(".") || path.isAbsolute(source);
|
|
18
|
+
if (isFileImport && resolved) {
|
|
19
|
+
return {
|
|
20
|
+
key: toCanonicalFileKey(resolved, root),
|
|
21
|
+
kind: "file"
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
return {
|
|
25
|
+
key: source,
|
|
26
|
+
kind: "package"
|
|
27
|
+
};
|
|
32
28
|
}
|
|
33
|
-
export function resolveMockSpecifier({
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
root,
|
|
37
|
-
stack
|
|
38
|
-
}) {
|
|
39
|
-
const specifier = mock.startsWith('.') && root ? path.resolve(root, mock) : mock;
|
|
40
|
-
return syncResolve(specifier, importer, stack);
|
|
29
|
+
export function resolveMockSpecifier({ importer, mock, root, stack }) {
|
|
30
|
+
const specifier = mock.startsWith(".") && root ? path.resolve(root, mock) : mock;
|
|
31
|
+
return syncResolve(specifier, importer, stack);
|
|
41
32
|
}
|
|
42
33
|
export function applyImportOverrideToOnly(only, override) {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
34
|
+
if (override?.noShake) {
|
|
35
|
+
return ["*"];
|
|
36
|
+
}
|
|
37
|
+
return only;
|
|
47
38
|
}
|
|
48
39
|
const compiledImportOverridesCache = new WeakMap();
|
|
49
40
|
const minimatchOptions = {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
41
|
+
dot: true,
|
|
42
|
+
nocomment: true,
|
|
43
|
+
nonegate: true
|
|
53
44
|
};
|
|
54
45
|
function getPatternSpecificity(pattern) {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
46
|
+
let wildcardCount = 0;
|
|
47
|
+
let escaped = false;
|
|
48
|
+
for (const char of pattern) {
|
|
49
|
+
if (escaped) {
|
|
50
|
+
escaped = false;
|
|
51
|
+
} else if (char === "\\") {
|
|
52
|
+
escaped = true;
|
|
53
|
+
} else if (char === "*" || char === "?") {
|
|
54
|
+
wildcardCount += 1;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return pattern.length - wildcardCount * 10;
|
|
67
58
|
}
|
|
68
59
|
function compileImportOverrides(importOverrides) {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
matchers
|
|
85
|
-
};
|
|
60
|
+
const matchers = Object.entries(importOverrides).map(([pattern, override]) => {
|
|
61
|
+
return {
|
|
62
|
+
matcher: new Minimatch(pattern, minimatchOptions),
|
|
63
|
+
override,
|
|
64
|
+
pattern,
|
|
65
|
+
specificity: getPatternSpecificity(pattern)
|
|
66
|
+
};
|
|
67
|
+
}).sort((a, b) => {
|
|
68
|
+
const bySpecificity = b.specificity - a.specificity;
|
|
69
|
+
if (bySpecificity !== 0) return bySpecificity;
|
|
70
|
+
const byLength = b.pattern.length - a.pattern.length;
|
|
71
|
+
if (byLength !== 0) return byLength;
|
|
72
|
+
return a.pattern.localeCompare(b.pattern);
|
|
73
|
+
});
|
|
74
|
+
return { matchers };
|
|
86
75
|
}
|
|
87
76
|
function getCompiledImportOverrides(importOverrides) {
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
77
|
+
const cached = compiledImportOverridesCache.get(importOverrides);
|
|
78
|
+
if (cached) return cached;
|
|
79
|
+
const compiled = compileImportOverrides(importOverrides);
|
|
80
|
+
compiledImportOverridesCache.set(importOverrides, compiled);
|
|
81
|
+
return compiled;
|
|
93
82
|
}
|
|
94
83
|
export function getImportOverride(importOverrides, key) {
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
} = getCompiledImportOverrides(importOverrides);
|
|
103
|
-
return matchers.find(({
|
|
104
|
-
matcher
|
|
105
|
-
}) => matcher.match(key))?.override;
|
|
84
|
+
if (!importOverrides) {
|
|
85
|
+
return undefined;
|
|
86
|
+
}
|
|
87
|
+
const direct = importOverrides[key];
|
|
88
|
+
if (direct) return direct;
|
|
89
|
+
const { matchers } = getCompiledImportOverrides(importOverrides);
|
|
90
|
+
return matchers.find(({ matcher }) => matcher.match(key))?.override;
|
|
106
91
|
}
|
|
107
|
-
//# sourceMappingURL=importOverrides.js.map
|
|
92
|
+
//# sourceMappingURL=importOverrides.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"
|
|
1
|
+
{"mappings":"AAAA,OAAO,UAAU;AAEjB,SACE,mBAGK;AACP,SAAS,iBAAiB;AAS1B,OAAO,SAAS,mBACd,UACA,MACQ;CACR,MAAM,UAAU,OAAO,KAAK,QAAQ,KAAK,GAAG,QAAQ,KAAK;CACzD,MAAM,qBAAqB,KAAK,QAAQ,SAAS;CACjD,IAAI,WAAW,KAAK,SAAS,SAAS,mBAAmB;AAEzD,KAAI,KAAK,QAAQ,KAAK,MAAM,KAAK;AAC/B,aAAW,SAAS,MAAM,KAAK,IAAI,CAAC,KAAK,KAAK,MAAM,IAAI;;AAG1D,KAAI,CAAC,SAAS,WAAW,IAAI,EAAE;AAC7B,aAAW,KAAK;;AAGlB,QAAO;;AAGT,OAAO,SAAS,YAAY,EAC1B,QACA,UACA,QAKY;CACZ,MAAM,eAAe,OAAO,WAAW,IAAI,IAAI,KAAK,WAAW,OAAO;AAEtE,KAAI,gBAAgB,UAAU;AAC5B,SAAO;GAAE,KAAK,mBAAmB,UAAU,KAAK;GAAE,MAAM;GAAQ;;AAGlE,QAAO;EAAE,KAAK;EAAQ,MAAM;EAAW;;AAGzC,OAAO,SAAS,qBAAqB,EACnC,UACA,MACA,MACA,SAMS;CACT,MAAM,YACJ,KAAK,WAAW,IAAI,IAAI,OAAO,KAAK,QAAQ,MAAM,KAAK,GAAG;AAE5D,QAAO,YAAY,WAAW,UAAU,MAAM;;AAGhD,OAAO,SAAS,0BACd,MACA,UACU;AACV,KAAI,UAAU,SAAS;AACrB,SAAO,CAAC,IAAI;;AAGd,QAAO;;AAYT,MAAM,+BAA+B,IAAI,SAGtC;AAEH,MAAM,mBAAmB;CACvB,KAAK;CACL,WAAW;CACX,UAAU;CACX;AAED,SAAS,sBAAsB,SAAyB;CACtD,IAAI,gBAAgB;CACpB,IAAI,UAAU;AACd,MAAK,MAAM,QAAQ,SAAS;AAC1B,MAAI,SAAS;AACX,aAAU;aACD,SAAS,MAAM;AACxB,aAAU;aACD,SAAS,OAAO,SAAS,KAAK;AACvC,oBAAiB;;;AAIrB,QAAO,QAAQ,SAAS,gBAAgB;;AAG1C,SAAS,uBACP,iBACyB;CACzB,MAAM,WAAW,OAAO,QAAQ,gBAAgB,CAC7C,KAAK,CAAC,SAAS,cAAc;AAC5B,SAAO;GACL,SAAS,IAAI,UAAU,SAAS,iBAAiB;GACjD;GACA;GACA,aAAa,sBAAsB,QAAQ;GAC5C;GACD,CACD,MAAM,GAAG,MAAM;EACd,MAAM,gBAAgB,EAAE,cAAc,EAAE;AACxC,MAAI,kBAAkB,EAAG,QAAO;EAEhC,MAAM,WAAW,EAAE,QAAQ,SAAS,EAAE,QAAQ;AAC9C,MAAI,aAAa,EAAG,QAAO;AAE3B,SAAO,EAAE,QAAQ,cAAc,EAAE,QAAQ;GACzC;AAEJ,QAAO,EAAE,UAAU;;AAGrB,SAAS,2BACP,iBACyB;CACzB,MAAM,SAAS,6BAA6B,IAAI,gBAAgB;AAChE,KAAI,OAAQ,QAAO;CAEnB,MAAM,WAAW,uBAAuB,gBAAgB;AACxD,8BAA6B,IAAI,iBAAiB,SAAS;AAC3D,QAAO;;AAGT,OAAO,SAAS,kBACd,iBACA,KAC4B;AAC5B,KAAI,CAAC,iBAAiB;AACpB,SAAO;;CAGT,MAAM,SAAS,gBAAgB;AAC/B,KAAI,OAAQ,QAAO;CAEnB,MAAM,EAAE,aAAa,2BAA2B,gBAAgB;AAChE,QAAO,SAAS,MAAM,EAAE,cAAc,QAAQ,MAAM,IAAI,CAAC,EAAE","names":[],"sources":["../../src/utils/importOverrides.ts"],"version":3,"sourcesContent":["import path from 'path';\n\nimport {\n syncResolve,\n type ImportOverride,\n type ImportOverrides,\n} from '@wyw-in-js/shared';\nimport { Minimatch } from 'minimatch';\n\nexport type ImportKeyKind = 'file' | 'package';\n\nexport type ImportKey = {\n key: string;\n kind: ImportKeyKind;\n};\n\nexport function toCanonicalFileKey(\n resolved: string,\n root: string | undefined\n): string {\n const rootDir = root ? path.resolve(root) : process.cwd();\n const normalizedResolved = path.resolve(resolved);\n let relative = path.relative(rootDir, normalizedResolved);\n\n if (path.sep !== path.posix.sep) {\n relative = relative.split(path.sep).join(path.posix.sep);\n }\n\n if (!relative.startsWith('.')) {\n relative = `./${relative}`;\n }\n\n return relative;\n}\n\nexport function toImportKey({\n source,\n resolved,\n root,\n}: {\n resolved: string | null;\n root: string | undefined;\n source: string;\n}): ImportKey {\n const isFileImport = source.startsWith('.') || path.isAbsolute(source);\n\n if (isFileImport && resolved) {\n return { key: toCanonicalFileKey(resolved, root), kind: 'file' };\n }\n\n return { key: source, kind: 'package' };\n}\n\nexport function resolveMockSpecifier({\n importer,\n mock,\n root,\n stack,\n}: {\n importer: string;\n mock: string;\n root: string | undefined;\n stack: string[];\n}): string {\n const specifier =\n mock.startsWith('.') && root ? path.resolve(root, mock) : mock;\n\n return syncResolve(specifier, importer, stack);\n}\n\nexport function applyImportOverrideToOnly(\n only: string[],\n override: ImportOverride | undefined\n): string[] {\n if (override?.noShake) {\n return ['*'];\n }\n\n return only;\n}\n\ntype CompiledImportOverrides = {\n matchers: Array<{\n matcher: Minimatch;\n override: ImportOverride;\n pattern: string;\n specificity: number;\n }>;\n};\n\nconst compiledImportOverridesCache = new WeakMap<\n ImportOverrides,\n CompiledImportOverrides\n>();\n\nconst minimatchOptions = {\n dot: true,\n nocomment: true,\n nonegate: true,\n} as const;\n\nfunction getPatternSpecificity(pattern: string): number {\n let wildcardCount = 0;\n let escaped = false;\n for (const char of pattern) {\n if (escaped) {\n escaped = false;\n } else if (char === '\\\\') {\n escaped = true;\n } else if (char === '*' || char === '?') {\n wildcardCount += 1;\n }\n }\n\n return pattern.length - wildcardCount * 10;\n}\n\nfunction compileImportOverrides(\n importOverrides: ImportOverrides\n): CompiledImportOverrides {\n const matchers = Object.entries(importOverrides)\n .map(([pattern, override]) => {\n return {\n matcher: new Minimatch(pattern, minimatchOptions),\n override,\n pattern,\n specificity: getPatternSpecificity(pattern),\n };\n })\n .sort((a, b) => {\n const bySpecificity = b.specificity - a.specificity;\n if (bySpecificity !== 0) return bySpecificity;\n\n const byLength = b.pattern.length - a.pattern.length;\n if (byLength !== 0) return byLength;\n\n return a.pattern.localeCompare(b.pattern);\n });\n\n return { matchers };\n}\n\nfunction getCompiledImportOverrides(\n importOverrides: ImportOverrides\n): CompiledImportOverrides {\n const cached = compiledImportOverridesCache.get(importOverrides);\n if (cached) return cached;\n\n const compiled = compileImportOverrides(importOverrides);\n compiledImportOverridesCache.set(importOverrides, compiled);\n return compiled;\n}\n\nexport function getImportOverride(\n importOverrides: ImportOverrides | undefined,\n key: string\n): ImportOverride | undefined {\n if (!importOverrides) {\n return undefined;\n }\n\n const direct = importOverrides[key];\n if (direct) return direct;\n\n const { matchers } = getCompiledImportOverrides(importOverrides);\n return matchers.find(({ matcher }) => matcher.match(key))?.override;\n}\n"],"file":"importOverrides.js"}
|
package/esm/utils/isNode.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const isNode = obj => typeof obj ===
|
|
2
|
-
//# sourceMappingURL=isNode.js.map
|
|
1
|
+
export const isNode = (obj) => typeof obj === "object" && obj !== null && typeof obj.type === "string";
|
|
2
|
+
//# sourceMappingURL=isNode.js.map
|
package/esm/utils/isNode.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"
|
|
1
|
+
{"mappings":"AAEA,OAAO,MAAM,UAAU,QACrB,OAAO,QAAQ,YACf,QAAQ,QACR,OAAQ,IAA2B,SAAS","names":[],"sources":["../../src/utils/isNode.ts"],"version":3,"sourcesContent":["import type { AstNode } from '@wyw-in-js/shared';\n\nexport const isNode = (obj: unknown): obj is AstNode =>\n typeof obj === 'object' &&\n obj !== null &&\n typeof (obj as { type?: unknown }).type === 'string';\n"],"file":"isNode.js"}
|
package/esm/utils/isNotNull.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"
|
|
1
|
+
{"mappings":"AAAA,OAAO,SAAS,UAAa,GAAqB;AAChD,QAAO,MAAM","names":[],"sources":["../../src/utils/isNotNull.ts"],"version":3,"sourcesContent":["export function isNotNull<T>(x: T | null): x is T {\n return x !== null;\n}\n"],"file":"isNotNull.js"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { isBoxedPrimitive } from
|
|
1
|
+
import { isBoxedPrimitive } from "@wyw-in-js/shared";
|
|
2
2
|
export function isSerializable(o) {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
3
|
+
if (Array.isArray(o)) {
|
|
4
|
+
return o.every(isSerializable);
|
|
5
|
+
}
|
|
6
|
+
if (o === null) return true;
|
|
7
|
+
if (isBoxedPrimitive(o)) return true;
|
|
8
|
+
if (typeof o === "object") {
|
|
9
|
+
return Object.values(o).every(isSerializable);
|
|
10
|
+
}
|
|
11
|
+
return typeof o === "string" || typeof o === "number" || typeof o === "boolean";
|
|
12
12
|
}
|
|
13
|
-
//# sourceMappingURL=isSerializable.js.map
|
|
13
|
+
//# sourceMappingURL=isSerializable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"
|
|
1
|
+
{"mappings":"AAAA,SAAS,wBAAwB;AAIjC,OAAO,SAAS,eAAe,GAA+B;AAC5D,KAAI,MAAM,QAAQ,EAAE,EAAE;AACpB,SAAO,EAAE,MAAM,eAAe;;AAGhC,KAAI,MAAM,KAAM,QAAO;AAEvB,KAAI,iBAAiB,EAAE,CAAE,QAAO;AAEhC,KAAI,OAAO,MAAM,UAAU;AACzB,SAAO,OAAO,OAAO,EAAE,CAAC,MAAM,eAAe;;AAG/C,QACE,OAAO,MAAM,YAAY,OAAO,MAAM,YAAY,OAAO,MAAM","names":[],"sources":["../../src/utils/isSerializable.ts"],"version":3,"sourcesContent":["import { isBoxedPrimitive } from '@wyw-in-js/shared';\n\nimport type { Serializable } from '../types';\n\nexport function isSerializable(o: unknown): o is Serializable {\n if (Array.isArray(o)) {\n return o.every(isSerializable);\n }\n\n if (o === null) return true;\n\n if (isBoxedPrimitive(o)) return true;\n\n if (typeof o === 'object') {\n return Object.values(o).every(isSerializable);\n }\n\n return (\n typeof o === 'string' || typeof o === 'number' || typeof o === 'boolean'\n );\n}\n"],"file":"isSerializable.js"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import fs from "fs";
|
|
2
|
+
import path from "path";
|
|
3
|
+
import { ResolverFactory } from "oxc-resolver";
|
|
4
|
+
import { parseRequest } from "./parseRequest.js";
|
|
5
|
+
const CJS_DEFAULT_CONDITIONS = [
|
|
6
|
+
"require",
|
|
7
|
+
"node",
|
|
8
|
+
"default"
|
|
9
|
+
];
|
|
10
|
+
const ESM_DEFAULT_CONDITIONS = [
|
|
11
|
+
"node",
|
|
12
|
+
"import",
|
|
13
|
+
"default"
|
|
14
|
+
];
|
|
15
|
+
const FALLBACK_EXTENSIONS = [".json", ".node"];
|
|
16
|
+
const MAX_RESOLVER_CACHE_SIZE = 64;
|
|
17
|
+
const resolverCache = new Map();
|
|
18
|
+
const unique = (items) => Array.from(new Set(items));
|
|
19
|
+
export const expandNativeResolverConditions = (kind, conditionNames) => {
|
|
20
|
+
const defaults = kind === "require" ? CJS_DEFAULT_CONDITIONS : ESM_DEFAULT_CONDITIONS;
|
|
21
|
+
const names = conditionNames?.length ? conditionNames : ["..."];
|
|
22
|
+
const result = [];
|
|
23
|
+
names.forEach((name) => {
|
|
24
|
+
if (name === "...") {
|
|
25
|
+
defaults.forEach((condition) => result.push(condition));
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
result.push(name);
|
|
29
|
+
});
|
|
30
|
+
return unique(result);
|
|
31
|
+
};
|
|
32
|
+
const createResolverOptions = ({ conditionNames, extensions, kind, oxcOptions }) => {
|
|
33
|
+
const configuredResolver = oxcOptions?.resolver ?? {};
|
|
34
|
+
const hasConfiguredTsconfig = Object.prototype.hasOwnProperty.call(configuredResolver, "tsconfig");
|
|
35
|
+
const configuredConditionNames = Array.isArray(configuredResolver.conditionNames) ? configuredResolver.conditionNames : undefined;
|
|
36
|
+
const configuredExtensions = Array.isArray(configuredResolver.extensions) ? configuredResolver.extensions : [];
|
|
37
|
+
return {
|
|
38
|
+
...configuredResolver,
|
|
39
|
+
...hasConfiguredTsconfig ? {} : { tsconfig: "auto" },
|
|
40
|
+
conditionNames: expandNativeResolverConditions(kind, conditionNames ?? configuredConditionNames),
|
|
41
|
+
extensions: unique([
|
|
42
|
+
...configuredExtensions,
|
|
43
|
+
...extensions,
|
|
44
|
+
...FALLBACK_EXTENSIONS
|
|
45
|
+
])
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
const getResolver = (options) => {
|
|
49
|
+
const key = JSON.stringify(options);
|
|
50
|
+
const cached = resolverCache.get(key);
|
|
51
|
+
if (cached) {
|
|
52
|
+
resolverCache.delete(key);
|
|
53
|
+
resolverCache.set(key, cached);
|
|
54
|
+
return cached;
|
|
55
|
+
}
|
|
56
|
+
const resolver = new ResolverFactory(options);
|
|
57
|
+
if (resolverCache.size >= MAX_RESOLVER_CACHE_SIZE) {
|
|
58
|
+
const oldestKey = resolverCache.keys().next().value;
|
|
59
|
+
if (oldestKey !== undefined) {
|
|
60
|
+
resolverCache.delete(oldestKey);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
resolverCache.set(key, resolver);
|
|
64
|
+
return resolver;
|
|
65
|
+
};
|
|
66
|
+
export const clearNativeResolverCacheForTest = () => {
|
|
67
|
+
resolverCache.clear();
|
|
68
|
+
};
|
|
69
|
+
export const getNativeResolverCacheSizeForTest = () => resolverCache.size;
|
|
70
|
+
const preferJsOverCjsForExtensionlessFileSpecifier = (specifier, resolved) => {
|
|
71
|
+
if ((specifier.startsWith(".") || path.isAbsolute(specifier)) && path.extname(specifier) === "" && resolved.endsWith(".cjs") && fs.existsSync(`${resolved.slice(0, -4)}.js`)) {
|
|
72
|
+
return `${resolved.slice(0, -4)}.js`;
|
|
73
|
+
}
|
|
74
|
+
return resolved;
|
|
75
|
+
};
|
|
76
|
+
export const resolveWithNativeResolver = ({ conditionNames, extensions, importer, kind, oxcOptions, specifier }) => {
|
|
77
|
+
const { filename, query, hash } = parseRequest(specifier);
|
|
78
|
+
const options = createResolverOptions({
|
|
79
|
+
conditionNames,
|
|
80
|
+
extensions,
|
|
81
|
+
kind,
|
|
82
|
+
oxcOptions
|
|
83
|
+
});
|
|
84
|
+
const resolver = getResolver(options);
|
|
85
|
+
const result = resolver.resolveFileSync(importer, filename);
|
|
86
|
+
if (!result.path) {
|
|
87
|
+
throw new Error(result.error ?? `Cannot resolve module ${specifier}`);
|
|
88
|
+
}
|
|
89
|
+
const resolved = preferJsOverCjsForExtensionlessFileSpecifier(filename, result.path);
|
|
90
|
+
const suffix = `${query ? `?${query}` : ""}${hash ? `#${hash}` : ""}`;
|
|
91
|
+
return `${resolved}${suffix}`;
|
|
92
|
+
};
|
|
93
|
+
//# sourceMappingURL=nativeResolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"AAAA,OAAO,QAAQ;AACf,OAAO,UAAU;AAEjB,SAAS,uBAAgD;AAQzD,SAAS,oBAAoB;AAE7B,MAAM,yBAAyB;CAAC;CAAW;CAAQ;CAAU;AAC7D,MAAM,yBAAyB;CAAC;CAAQ;CAAU;CAAU;AAC5D,MAAM,sBAAsB,CAAC,SAAS,QAAQ;AAC9C,MAAM,0BAA0B;AAEhC,MAAM,gBAAgB,IAAI,KAA8B;AAWxD,MAAM,UAAa,UAA6B,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC;AAE1E,OAAO,MAAM,kCACX,MACA,mBACa;CACb,MAAM,WACJ,SAAS,YAAY,yBAAyB;CAChD,MAAM,QAAQ,gBAAgB,SAAS,iBAAiB,CAAC,MAAM;CAC/D,MAAM,SAAmB,EAAE;AAE3B,OAAM,SAAS,SAAS;AACtB,MAAI,SAAS,OAAO;AAClB,YAAS,SAAS,cAAc,OAAO,KAAK,UAAU,CAAC;AACvD;;AAGF,SAAO,KAAK,KAAK;GACjB;AAEF,QAAO,OAAO,OAAO;;AAGvB,MAAM,yBAAyB,EAC7B,gBACA,YACA,MACA,iBAIwB;CACxB,MAAM,qBAAsB,YAAY,YAAY,EAAE;CACtD,MAAM,wBAAwB,OAAO,UAAU,eAAe,KAC5D,oBACA,WACD;CACD,MAAM,2BAA2B,MAAM,QACrC,mBAAmB,eACpB,GACG,mBAAmB,iBACnB;CACJ,MAAM,uBAAuB,MAAM,QAAQ,mBAAmB,WAAW,GACrE,mBAAmB,aACnB,EAAE;AAEN,QAAO;EACL,GAAG;EACH,GAAI,wBAAwB,EAAE,GAAG,EAAE,UAAU,QAAQ;EACrD,gBAAgB,+BACd,MACA,kBAAkB,yBACnB;EACD,YAAY,OAAO;GACjB,GAAG;GACH,GAAG;GACH,GAAG;GACJ,CAAC;EACH;;AAGH,MAAM,eAAe,YAAiD;CACpE,MAAM,MAAM,KAAK,UAAU,QAAQ;CACnC,MAAM,SAAS,cAAc,IAAI,IAAI;AACrC,KAAI,QAAQ;AACV,gBAAc,OAAO,IAAI;AACzB,gBAAc,IAAI,KAAK,OAAO;AAC9B,SAAO;;CAGT,MAAM,WAAW,IAAI,gBAAgB,QAAQ;AAC7C,KAAI,cAAc,QAAQ,yBAAyB;EACjD,MAAM,YAAY,cAAc,MAAM,CAAC,MAAM,CAAC;AAC9C,MAAI,cAAc,WAAW;AAC3B,iBAAc,OAAO,UAAU;;;AAGnC,eAAc,IAAI,KAAK,SAAS;AAChC,QAAO;;AAGT,OAAO,MAAM,wCAA8C;AACzD,eAAc,OAAO;;AAGvB,OAAO,MAAM,0CACX,cAAc;AAEhB,MAAM,gDACJ,WACA,aACW;AACX,MACG,UAAU,WAAW,IAAI,IAAI,KAAK,WAAW,UAAU,KACxD,KAAK,QAAQ,UAAU,KAAK,MAC5B,SAAS,SAAS,OAAO,IACzB,GAAG,WAAW,GAAG,SAAS,MAAM,GAAG,CAAC,EAAE,CAAC,KAAK,EAC5C;AACA,SAAO,GAAG,SAAS,MAAM,GAAG,CAAC,EAAE,CAAC;;AAGlC,QAAO;;AAGT,OAAO,MAAM,6BAA6B,EACxC,gBACA,YACA,UACA,MACA,YACA,gBACkC;CAClC,MAAM,EAAE,UAAU,OAAO,SAAS,aAAa,UAAU;CACzD,MAAM,UAAU,sBAAsB;EACpC;EACA;EACA;EACA;EACD,CAAC;CACF,MAAM,WAAW,YAAY,QAAQ;CACrC,MAAM,SAAS,SAAS,gBAAgB,UAAU,SAAS;AAE3D,KAAI,CAAC,OAAO,MAAM;AAChB,QAAM,IAAI,MAAM,OAAO,SAAS,yBAAyB,YAAY;;CAGvE,MAAM,WAAW,6CACf,UACA,OAAO,KACR;CACD,MAAM,SAAS,GAAG,QAAQ,IAAI,UAAU,KAAK,OAAO,IAAI,SAAS;AAEjE,QAAO,GAAG,WAAW","names":[],"sources":["../../src/utils/nativeResolver.ts"],"version":3,"sourcesContent":["import fs from 'fs';\nimport path from 'path';\n\nimport { ResolverFactory, type NapiResolveOptions } from 'oxc-resolver';\n\nimport type {\n EvalResolverKind,\n OxcOptions,\n StrictOptions,\n} from '@wyw-in-js/shared';\n\nimport { parseRequest } from './parseRequest';\n\nconst CJS_DEFAULT_CONDITIONS = ['require', 'node', 'default'] as const;\nconst ESM_DEFAULT_CONDITIONS = ['node', 'import', 'default'] as const;\nconst FALLBACK_EXTENSIONS = ['.json', '.node'] as const;\nconst MAX_RESOLVER_CACHE_SIZE = 64;\n\nconst resolverCache = new Map<string, ResolverFactory>();\n\nexport type NativeResolverParams = {\n conditionNames?: string[];\n extensions: StrictOptions['extensions'];\n importer: string;\n kind: EvalResolverKind;\n oxcOptions?: OxcOptions;\n specifier: string;\n};\n\nconst unique = <T>(items: readonly T[]): T[] => Array.from(new Set(items));\n\nexport const expandNativeResolverConditions = (\n kind: EvalResolverKind,\n conditionNames?: readonly string[]\n): string[] => {\n const defaults =\n kind === 'require' ? CJS_DEFAULT_CONDITIONS : ESM_DEFAULT_CONDITIONS;\n const names = conditionNames?.length ? conditionNames : ['...'];\n const result: string[] = [];\n\n names.forEach((name) => {\n if (name === '...') {\n defaults.forEach((condition) => result.push(condition));\n return;\n }\n\n result.push(name);\n });\n\n return unique(result);\n};\n\nconst createResolverOptions = ({\n conditionNames,\n extensions,\n kind,\n oxcOptions,\n}: Pick<\n NativeResolverParams,\n 'conditionNames' | 'extensions' | 'kind' | 'oxcOptions'\n>): NapiResolveOptions => {\n const configuredResolver = (oxcOptions?.resolver ?? {}) as NapiResolveOptions;\n const hasConfiguredTsconfig = Object.prototype.hasOwnProperty.call(\n configuredResolver,\n 'tsconfig'\n );\n const configuredConditionNames = Array.isArray(\n configuredResolver.conditionNames\n )\n ? configuredResolver.conditionNames\n : undefined;\n const configuredExtensions = Array.isArray(configuredResolver.extensions)\n ? configuredResolver.extensions\n : [];\n\n return {\n ...configuredResolver,\n ...(hasConfiguredTsconfig ? {} : { tsconfig: 'auto' }),\n conditionNames: expandNativeResolverConditions(\n kind,\n conditionNames ?? configuredConditionNames\n ),\n extensions: unique([\n ...configuredExtensions,\n ...extensions,\n ...FALLBACK_EXTENSIONS,\n ]),\n };\n};\n\nconst getResolver = (options: NapiResolveOptions): ResolverFactory => {\n const key = JSON.stringify(options);\n const cached = resolverCache.get(key);\n if (cached) {\n resolverCache.delete(key);\n resolverCache.set(key, cached);\n return cached;\n }\n\n const resolver = new ResolverFactory(options);\n if (resolverCache.size >= MAX_RESOLVER_CACHE_SIZE) {\n const oldestKey = resolverCache.keys().next().value;\n if (oldestKey !== undefined) {\n resolverCache.delete(oldestKey);\n }\n }\n resolverCache.set(key, resolver);\n return resolver;\n};\n\nexport const clearNativeResolverCacheForTest = (): void => {\n resolverCache.clear();\n};\n\nexport const getNativeResolverCacheSizeForTest = (): number =>\n resolverCache.size;\n\nconst preferJsOverCjsForExtensionlessFileSpecifier = (\n specifier: string,\n resolved: string\n): string => {\n if (\n (specifier.startsWith('.') || path.isAbsolute(specifier)) &&\n path.extname(specifier) === '' &&\n resolved.endsWith('.cjs') &&\n fs.existsSync(`${resolved.slice(0, -4)}.js`)\n ) {\n return `${resolved.slice(0, -4)}.js`;\n }\n\n return resolved;\n};\n\nexport const resolveWithNativeResolver = ({\n conditionNames,\n extensions,\n importer,\n kind,\n oxcOptions,\n specifier,\n}: NativeResolverParams): string => {\n const { filename, query, hash } = parseRequest(specifier);\n const options = createResolverOptions({\n conditionNames,\n extensions,\n kind,\n oxcOptions,\n });\n const resolver = getResolver(options);\n const result = resolver.resolveFileSync(importer, filename);\n\n if (!result.path) {\n throw new Error(result.error ?? `Cannot resolve module ${specifier}`);\n }\n\n const resolved = preferJsOverCjsForExtensionlessFileSpecifier(\n filename,\n result.path\n );\n const suffix = `${query ? `?${query}` : ''}${hash ? `#${hash}` : ''}`;\n\n return `${resolved}${suffix}`;\n};\n"],"file":"nativeResolver.js"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export const isOxcNode = (value) => !!value && typeof value === "object" && "type" in value && typeof value.type === "string";
|
|
2
|
+
export const getOxcNodeChildren = (node) => {
|
|
3
|
+
const result = [];
|
|
4
|
+
const record = node;
|
|
5
|
+
Object.keys(record).forEach((key) => {
|
|
6
|
+
if (key === "comments" || key === "end" || key === "errors" || key === "parent" || key === "range" || key === "span" || key === "start" || key === "type") {
|
|
7
|
+
return;
|
|
8
|
+
}
|
|
9
|
+
const value = record[key];
|
|
10
|
+
if (isOxcNode(value)) {
|
|
11
|
+
result.push(value);
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
if (Array.isArray(value)) {
|
|
15
|
+
value.forEach((item) => {
|
|
16
|
+
if (isOxcNode(item)) {
|
|
17
|
+
result.push(item);
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
return result;
|
|
23
|
+
};
|
|
24
|
+
export const walkOxc = (node, enter, parent = null) => {
|
|
25
|
+
enter(node, parent);
|
|
26
|
+
getOxcNodeChildren(node).forEach((child) => walkOxc(child, enter, node));
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=ast.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"AAIA,OAAO,MAAM,aAAa,UACxB,CAAC,CAAC,SACF,OAAO,UAAU,YACjB,UAAU,SACV,OAAQ,MAA6B,SAAS;AAEhD,OAAO,MAAM,sBAAsB,SAAuB;CACxD,MAAM,SAAiB,EAAE;CACzB,MAAM,SAAS;AAEf,QAAO,KAAK,OAAO,CAAC,SAAS,QAAQ;AACnC,MACE,QAAQ,cACR,QAAQ,SACR,QAAQ,YACR,QAAQ,YACR,QAAQ,WACR,QAAQ,UACR,QAAQ,WACR,QAAQ,QACR;AACA;;EAGF,MAAM,QAAQ,OAAO;AACrB,MAAI,UAAU,MAAM,EAAE;AACpB,UAAO,KAAK,MAAM;AAClB;;AAGF,MAAI,MAAM,QAAQ,MAAM,EAAE;AACxB,SAAM,SAAS,SAAS;AACtB,QAAI,UAAU,KAAK,EAAE;AACnB,YAAO,KAAK,KAAK;;KAEnB;;GAEJ;AAEF,QAAO;;AAGT,OAAO,MAAM,WACX,MACA,OACA,SAAsB,SACb;AACT,OAAM,MAAM,OAAO;AACnB,oBAAmB,KAAK,CAAC,SAAS,UAAU,QAAQ,OAAO,OAAO,KAAK,CAAC","names":[],"sources":["../../../src/utils/oxc/ast.ts"],"version":3,"sourcesContent":["import type { Node } from 'oxc-parser';\n\ntype AnyOxcNode = Node & Record<string, unknown>;\n\nexport const isOxcNode = (value: unknown): value is Node =>\n !!value &&\n typeof value === 'object' &&\n 'type' in value &&\n typeof (value as { type?: unknown }).type === 'string';\n\nexport const getOxcNodeChildren = (node: Node): Node[] => {\n const result: Node[] = [];\n const record = node as AnyOxcNode;\n\n Object.keys(record).forEach((key) => {\n if (\n key === 'comments' ||\n key === 'end' ||\n key === 'errors' ||\n key === 'parent' ||\n key === 'range' ||\n key === 'span' ||\n key === 'start' ||\n key === 'type'\n ) {\n return;\n }\n\n const value = record[key];\n if (isOxcNode(value)) {\n result.push(value);\n return;\n }\n\n if (Array.isArray(value)) {\n value.forEach((item) => {\n if (isOxcNode(item)) {\n result.push(item);\n }\n });\n }\n });\n\n return result;\n};\n\nexport const walkOxc = (\n node: Node,\n enter: (node: Node, parent: Node | null) => void,\n parent: Node | null = null\n): void => {\n enter(node, parent);\n getOxcNodeChildren(node).forEach((child) => walkOxc(child, enter, node));\n};\n"],"file":"ast.js"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"AAEA,SAAS,6BAA6B;AAItC,OAAO,MAAM,mBACX,MACA,UACA,aAA4B,kBAChB,sBAAsB,UAAU,MAAM,WAAW","names":[],"sources":["../../../src/utils/oxc/parse.ts"],"version":3,"sourcesContent":["import type { Program } from 'oxc-parser';\n\nimport { parseOxcProgramCached } from '../parseOxc';\n\nexport type OxcSourceType = 'module' | 'unambiguous';\n\nexport const parseOxcProgram = (\n code: string,\n filename: string,\n sourceType: OxcSourceType = 'unambiguous'\n): Program => parseOxcProgramCached(filename, code, sourceType);\n"],"file":"parse.js"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
const getReplacementValue = (replacement) => {
|
|
2
|
+
if ("value" in replacement) {
|
|
3
|
+
return replacement.value;
|
|
4
|
+
}
|
|
5
|
+
return replacement.text;
|
|
6
|
+
};
|
|
7
|
+
export const applyOxcReplacements = (code, replacements) => {
|
|
8
|
+
let result = code;
|
|
9
|
+
[...replacements].sort((a, b) => b.start - a.start).forEach((replacement) => {
|
|
10
|
+
result = result.slice(0, replacement.start) + getReplacementValue(replacement) + result.slice(replacement.end);
|
|
11
|
+
});
|
|
12
|
+
return result;
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=replacements.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"AAcA,MAAM,uBAAuB,gBAAwC;AACnE,KAAI,WAAW,aAAa;AAC1B,SAAO,YAAY;;AAGrB,QAAO,YAAY;;AAGrB,OAAO,MAAM,wBACX,MACA,iBACW;CACX,IAAI,SAAS;AACb,EAAC,GAAG,aAAa,CACd,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,MAAM,CACjC,SAAS,gBAAgB;AACxB,WACE,OAAO,MAAM,GAAG,YAAY,MAAM,GAClC,oBAAoB,YAAY,GAChC,OAAO,MAAM,YAAY,IAAI;GAC/B;AAEJ,QAAO","names":[],"sources":["../../../src/utils/oxc/replacements.ts"],"version":3,"sourcesContent":["export type OxcValueReplacement = {\n end: number;\n start: number;\n value: string;\n};\n\nexport type OxcTextReplacement = {\n end: number;\n start: number;\n text: string;\n};\n\nexport type OxcReplacement = OxcTextReplacement | OxcValueReplacement;\n\nconst getReplacementValue = (replacement: OxcReplacement): string => {\n if ('value' in replacement) {\n return replacement.value;\n }\n\n return replacement.text;\n};\n\nexport const applyOxcReplacements = (\n code: string,\n replacements: OxcReplacement[]\n): string => {\n let result = code;\n [...replacements]\n .sort((a, b) => b.start - a.start)\n .forEach((replacement) => {\n result =\n result.slice(0, replacement.start) +\n getReplacementValue(replacement) +\n result.slice(replacement.end);\n });\n\n return result;\n};\n"],"file":"replacements.js"}
|