@wyw-in-js/transform 1.1.0 → 2.0.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/cache.js +426 -289
- package/esm/cache.js.map +1 -1
- package/esm/debug/fileReporter.js +137 -134
- package/esm/debug/fileReporter.js.map +1 -1
- package/esm/eval/broker.js +2134 -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/resolverStrategy.js +51 -0
- package/esm/eval/resolverStrategy.js.map +1 -0
- package/esm/eval/runner.js +1759 -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 +896 -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 +78 -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 +165 -196
- package/esm/transform/generators/resolveImports.js.map +1 -1
- package/esm/transform/generators/resolveStaticOxcValues.js +2911 -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 +239 -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 +154 -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 +123 -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 +46 -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.js +1217 -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.js +220 -0
- package/esm/utils/collectOxcRuntime.js.map +1 -0
- package/esm/utils/collectOxcTemplateDependencies.js +1398 -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/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.js +97 -0
- package/esm/utils/oxcPreevalStage.js.map +1 -0
- package/esm/utils/oxcPreevalTransforms.js +1054 -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/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 +18 -26
- package/types/cache.d.ts +17 -8
- package/types/cache.js +237 -95
- package/types/debug/fileReporter.js +22 -22
- package/types/eval/broker.d.ts +88 -0
- package/types/eval/broker.js +2262 -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 +97 -0
- package/types/eval/protocol.js +1 -0
- package/types/eval/resolverStrategy.d.ts +13 -0
- package/types/eval/resolverStrategy.js +46 -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 +35 -7
- package/types/module.js +535 -163
- 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 +28 -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.js +18 -22
- package/types/transform/generators/resolveStaticOxcValues.d.ts +2 -0
- package/types/transform/generators/resolveStaticOxcValues.js +3235 -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 +203 -199
- package/types/transform/generators/workflow.js +62 -45
- package/types/transform/helpers/loadWywOptions.js +94 -20
- 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 +88 -101
- package/types/types.d.ts +0 -23
- package/types/types.js +1 -2
- package/types/utils/EventEmitter.js +3 -9
- 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.d.ts +16 -0
- package/types/utils/applyOxcProcessors.js +1391 -0
- package/types/utils/collectOxcExportsAndImports.d.ts +35 -0
- package/types/utils/collectOxcExportsAndImports.js +957 -0
- package/types/utils/collectOxcRuntime.d.ts +14 -0
- package/types/utils/collectOxcRuntime.js +250 -0
- package/types/utils/collectOxcTemplateDependencies.d.ts +38 -0
- package/types/utils/collectOxcTemplateDependencies.js +1580 -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/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.d.ts +20 -0
- package/types/utils/oxcPreevalStage.js +102 -0
- package/types/utils/oxcPreevalTransforms.d.ts +13 -0
- package/types/utils/oxcPreevalTransforms.js +1179 -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/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
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.extract = extract;
|
|
7
|
-
var _sourceMap = require("source-map");
|
|
8
|
-
var _createStylisPreprocessor = require("./createStylisPreprocessor");
|
|
9
|
-
function extractCssFromAst(rules, originalCode, options) {
|
|
10
|
-
const mappings = [];
|
|
11
|
-
let cssText = '';
|
|
12
|
-
let preprocessor;
|
|
13
|
-
if (typeof options.preprocessor === 'function') {
|
|
14
|
-
// eslint-disable-next-line prefer-destructuring
|
|
15
|
-
preprocessor = options.preprocessor;
|
|
16
|
-
} else {
|
|
17
|
-
switch (options.preprocessor) {
|
|
18
|
-
case 'none':
|
|
19
|
-
preprocessor = (selector, text) => `${selector} {${text}}\n`;
|
|
20
|
-
break;
|
|
21
|
-
case 'stylis':
|
|
22
|
-
default:
|
|
23
|
-
preprocessor = (0, _createStylisPreprocessor.createStylisPreprocessor)(options);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
Object.keys(rules).forEach((selector, index) => {
|
|
27
|
-
mappings.push({
|
|
28
|
-
generated: {
|
|
29
|
-
line: index + 1,
|
|
30
|
-
column: 0
|
|
31
|
-
},
|
|
32
|
-
original: rules[selector].start,
|
|
33
|
-
name: selector,
|
|
34
|
-
source: ''
|
|
35
|
-
});
|
|
36
|
-
if (rules[selector].atom) {
|
|
37
|
-
// For atoms, we just directly insert cssText, to give the atomizer full control over the rules
|
|
38
|
-
cssText += `${rules[selector].cssText}\n`;
|
|
39
|
-
} else {
|
|
40
|
-
// Run each rule through stylis to support nesting
|
|
41
|
-
cssText += `${preprocessor(selector, rules[selector].cssText)}\n`;
|
|
42
|
-
}
|
|
43
|
-
});
|
|
44
|
-
return {
|
|
45
|
-
cssText,
|
|
46
|
-
rules,
|
|
47
|
-
get cssSourceMapText() {
|
|
48
|
-
if (mappings !== null && mappings !== void 0 && mappings.length) {
|
|
49
|
-
const generator = new _sourceMap.SourceMapGenerator({
|
|
50
|
-
file: options.filename.replace(/\.js$/, '.css')
|
|
51
|
-
});
|
|
52
|
-
mappings.forEach(mapping => generator.addMapping({
|
|
53
|
-
...mapping,
|
|
54
|
-
source: options.filename
|
|
55
|
-
}));
|
|
56
|
-
generator.setSourceContent(options.filename, originalCode);
|
|
57
|
-
return generator.toString();
|
|
58
|
-
}
|
|
59
|
-
return '';
|
|
60
|
-
}
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
/**
|
|
65
|
-
* Extract artifacts (e.g. CSS) from processors
|
|
66
|
-
*/
|
|
67
|
-
// eslint-disable-next-line require-yield
|
|
68
|
-
function* extract() {
|
|
69
|
-
const {
|
|
70
|
-
options
|
|
71
|
-
} = this.services;
|
|
72
|
-
const {
|
|
73
|
-
entrypoint
|
|
74
|
-
} = this;
|
|
75
|
-
const {
|
|
76
|
-
processors
|
|
77
|
-
} = this.data;
|
|
78
|
-
const {
|
|
79
|
-
loadedAndParsed
|
|
80
|
-
} = entrypoint;
|
|
81
|
-
if (loadedAndParsed.evaluator === 'ignored') {
|
|
82
|
-
throw new Error('entrypoint was ignored');
|
|
83
|
-
}
|
|
84
|
-
let allRules = {};
|
|
85
|
-
const allReplacements = [];
|
|
86
|
-
processors.forEach(processor => {
|
|
87
|
-
processor.artifacts.forEach(artifact => {
|
|
88
|
-
if (artifact[0] !== 'css') return;
|
|
89
|
-
const [rules, replacements] = artifact[1];
|
|
90
|
-
allRules = {
|
|
91
|
-
...allRules,
|
|
92
|
-
...rules
|
|
93
|
-
};
|
|
94
|
-
allReplacements.push(...replacements);
|
|
95
|
-
});
|
|
96
|
-
});
|
|
97
|
-
return {
|
|
98
|
-
...extractCssFromAst(allRules, loadedAndParsed.code, options),
|
|
99
|
-
replacements: allReplacements
|
|
100
|
-
};
|
|
101
|
-
}
|
|
102
|
-
//# sourceMappingURL=extract.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"extract.js","names":["_sourceMap","require","_createStylisPreprocessor","extractCssFromAst","rules","originalCode","options","mappings","cssText","preprocessor","selector","text","createStylisPreprocessor","Object","keys","forEach","index","push","generated","line","column","original","start","name","source","atom","cssSourceMapText","length","generator","SourceMapGenerator","file","filename","replace","mapping","addMapping","setSourceContent","toString","extract","services","entrypoint","processors","data","loadedAndParsed","evaluator","Error","allRules","allReplacements","processor","artifacts","artifact","replacements","code"],"sources":["../../../src/transform/generators/extract.ts"],"sourcesContent":["import type { Mapping } from 'source-map';\nimport { SourceMapGenerator } from 'source-map';\n\nimport type { Replacements, Rules } from '@wyw-in-js/shared';\n\nimport type { Options, PreprocessorFn } from '../../types';\nimport type { IExtractAction, SyncScenarioForAction } from '../types';\nimport { createStylisPreprocessor } from './createStylisPreprocessor';\n\nfunction extractCssFromAst(\n rules: Rules,\n originalCode: string,\n options: Pick<\n Options,\n 'preprocessor' | 'filename' | 'outputFilename' | 'prefixer' | 'keepComments'\n >\n): { cssSourceMapText: string; cssText: string; rules: Rules } {\n const mappings: Mapping[] = [];\n\n let cssText = '';\n\n let preprocessor: PreprocessorFn;\n if (typeof options.preprocessor === 'function') {\n // eslint-disable-next-line prefer-destructuring\n preprocessor = options.preprocessor;\n } else {\n switch (options.preprocessor) {\n case 'none':\n preprocessor = (selector, text) => `${selector} {${text}}\\n`;\n break;\n case 'stylis':\n default:\n preprocessor = createStylisPreprocessor(options);\n }\n }\n\n Object.keys(rules).forEach((selector, index) => {\n mappings.push({\n generated: {\n line: index + 1,\n column: 0,\n },\n original: rules[selector].start!,\n name: selector,\n source: '',\n });\n\n if (rules[selector].atom) {\n // For atoms, we just directly insert cssText, to give the atomizer full control over the rules\n cssText += `${rules[selector].cssText}\\n`;\n } else {\n // Run each rule through stylis to support nesting\n cssText += `${preprocessor(selector, rules[selector].cssText)}\\n`;\n }\n });\n\n return {\n cssText,\n rules,\n\n get cssSourceMapText() {\n if (mappings?.length) {\n const generator = new SourceMapGenerator({\n file: options.filename.replace(/\\.js$/, '.css'),\n });\n\n mappings.forEach((mapping) =>\n generator.addMapping({ ...mapping, source: options.filename })\n );\n\n generator.setSourceContent(options.filename, originalCode);\n\n return generator.toString();\n }\n\n return '';\n },\n };\n}\n\n/**\n * Extract artifacts (e.g. CSS) from processors\n */\n// eslint-disable-next-line require-yield\nexport function* extract(\n this: IExtractAction\n): SyncScenarioForAction<IExtractAction> {\n const { options } = this.services;\n const { entrypoint } = this;\n const { processors } = this.data;\n const { loadedAndParsed } = entrypoint;\n if (loadedAndParsed.evaluator === 'ignored') {\n throw new Error('entrypoint was ignored');\n }\n\n let allRules: Rules = {};\n const allReplacements: Replacements = [];\n processors.forEach((processor) => {\n processor.artifacts.forEach((artifact) => {\n if (artifact[0] !== 'css') return;\n const [rules, replacements] = artifact[1] as [\n rules: Rules,\n sourceMapReplacements: Replacements,\n ];\n\n allRules = {\n ...allRules,\n ...rules,\n };\n\n allReplacements.push(...replacements);\n });\n });\n\n return {\n ...extractCssFromAst(allRules, loadedAndParsed.code, options),\n replacements: allReplacements,\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.findExportsInImports = findExportsInImports;
|
|
7
|
-
exports.getExports = getExports;
|
|
8
|
-
var _collectExportsAndImports = require("../../utils/collectExportsAndImports");
|
|
9
|
-
function findExportsInImports(entrypoint, imports) {
|
|
10
|
-
const results = [];
|
|
11
|
-
for (const imp of imports) {
|
|
12
|
-
const {
|
|
13
|
-
resolved
|
|
14
|
-
} = imp;
|
|
15
|
-
if (!resolved) {
|
|
16
|
-
throw new Error(`Could not resolve import ${imp.source}`);
|
|
17
|
-
}
|
|
18
|
-
const newEntrypoint = entrypoint.createChild(resolved, []);
|
|
19
|
-
if (newEntrypoint === 'loop') {
|
|
20
|
-
// eslint-disable-next-line no-continue
|
|
21
|
-
continue;
|
|
22
|
-
}
|
|
23
|
-
results.push({
|
|
24
|
-
entrypoint: newEntrypoint,
|
|
25
|
-
import: imp.source
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
return results;
|
|
29
|
-
}
|
|
30
|
-
function* getExports() {
|
|
31
|
-
const {
|
|
32
|
-
entrypoint,
|
|
33
|
-
services: {
|
|
34
|
-
cache
|
|
35
|
-
}
|
|
36
|
-
} = this;
|
|
37
|
-
const {
|
|
38
|
-
loadedAndParsed
|
|
39
|
-
} = entrypoint;
|
|
40
|
-
if (loadedAndParsed.ast === undefined) {
|
|
41
|
-
return [];
|
|
42
|
-
}
|
|
43
|
-
entrypoint.log(`get exports from %s`, entrypoint.name);
|
|
44
|
-
if (cache.has('exports', entrypoint.name)) {
|
|
45
|
-
return cache.get('exports', entrypoint.name);
|
|
46
|
-
}
|
|
47
|
-
let withWildcardReexport = [];
|
|
48
|
-
const result = [];
|
|
49
|
-
this.services.babel.traverse(loadedAndParsed.ast, {
|
|
50
|
-
Program(path) {
|
|
51
|
-
const {
|
|
52
|
-
exports,
|
|
53
|
-
reexports
|
|
54
|
-
} = (0, _collectExportsAndImports.collectExportsAndImports)(path, 'disabled');
|
|
55
|
-
Object.keys(exports).forEach(token => {
|
|
56
|
-
result.push(token);
|
|
57
|
-
});
|
|
58
|
-
reexports.forEach(e => {
|
|
59
|
-
if (e.exported !== '*') {
|
|
60
|
-
result.push(e.exported);
|
|
61
|
-
}
|
|
62
|
-
});
|
|
63
|
-
withWildcardReexport = reexports.filter(e => e.exported === '*');
|
|
64
|
-
}
|
|
65
|
-
});
|
|
66
|
-
if (withWildcardReexport.length) {
|
|
67
|
-
const resolvedImports = yield* this.getNext('resolveImports', entrypoint, {
|
|
68
|
-
imports: new Map(withWildcardReexport.map(i => [i.source, []]))
|
|
69
|
-
});
|
|
70
|
-
const dependencyFilenames = resolvedImports.flatMap(dependency => dependency.resolved ? [dependency.resolved] : []);
|
|
71
|
-
const importedEntrypoints = findExportsInImports(entrypoint, resolvedImports);
|
|
72
|
-
for (const importedEntrypoint of importedEntrypoints) {
|
|
73
|
-
const exports = yield* this.getNext('getExports', importedEntrypoint.entrypoint, undefined);
|
|
74
|
-
result.push(...exports);
|
|
75
|
-
}
|
|
76
|
-
cache.add('exports', entrypoint.name, result);
|
|
77
|
-
cache.setCacheDependencies('exports', entrypoint.name, dependencyFilenames);
|
|
78
|
-
entrypoint.log(`exports: %o`, result);
|
|
79
|
-
return result;
|
|
80
|
-
}
|
|
81
|
-
entrypoint.log(`exports: %o`, result);
|
|
82
|
-
cache.add('exports', entrypoint.name, result);
|
|
83
|
-
return result;
|
|
84
|
-
}
|
|
85
|
-
//# sourceMappingURL=getExports.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getExports.js","names":["_collectExportsAndImports","require","findExportsInImports","entrypoint","imports","results","imp","resolved","Error","source","newEntrypoint","createChild","push","import","getExports","services","cache","loadedAndParsed","ast","undefined","log","name","has","get","withWildcardReexport","result","babel","traverse","Program","path","exports","reexports","collectExportsAndImports","Object","keys","forEach","token","e","exported","filter","length","resolvedImports","getNext","Map","map","i","dependencyFilenames","flatMap","dependency","importedEntrypoints","importedEntrypoint","add","setCacheDependencies"],"sources":["../../../src/transform/generators/getExports.ts"],"sourcesContent":["import type { IReexport } from '../../utils/collectExportsAndImports';\nimport { collectExportsAndImports } from '../../utils/collectExportsAndImports';\nimport type { Entrypoint } from '../Entrypoint';\nimport type { IEntrypointDependency } from '../Entrypoint.types';\nimport type { IGetExportsAction, SyncScenarioForAction } from '../types';\n\nexport function findExportsInImports(\n entrypoint: Entrypoint,\n imports: IEntrypointDependency[]\n): { entrypoint: Entrypoint; import: string }[] {\n const results: {\n entrypoint: Entrypoint;\n import: string;\n }[] = [];\n\n for (const imp of imports) {\n const { resolved } = imp;\n if (!resolved) {\n throw new Error(`Could not resolve import ${imp.source}`);\n }\n\n const newEntrypoint = entrypoint.createChild(resolved, []);\n\n if (newEntrypoint === 'loop') {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n results.push({\n entrypoint: newEntrypoint,\n import: imp.source,\n });\n }\n\n return results;\n}\n\nexport function* getExports(\n this: IGetExportsAction\n): SyncScenarioForAction<IGetExportsAction> {\n const {\n entrypoint,\n services: { cache },\n } = this;\n const { loadedAndParsed } = entrypoint;\n if (loadedAndParsed.ast === undefined) {\n return [];\n }\n\n entrypoint.log(`get exports from %s`, entrypoint.name);\n\n if (cache.has('exports', entrypoint.name)) {\n return cache.get('exports', entrypoint.name)!;\n }\n\n let withWildcardReexport: IReexport[] = [];\n const result: string[] = [];\n\n this.services.babel.traverse(loadedAndParsed.ast!, {\n Program(path) {\n const { exports, reexports } = collectExportsAndImports(path, 'disabled');\n Object.keys(exports).forEach((token) => {\n result.push(token);\n });\n\n reexports.forEach((e) => {\n if (e.exported !== '*') {\n result.push(e.exported);\n }\n });\n\n withWildcardReexport = reexports.filter((e) => e.exported === '*');\n },\n });\n\n if (withWildcardReexport.length) {\n const resolvedImports = yield* this.getNext('resolveImports', entrypoint, {\n imports: new Map(withWildcardReexport.map((i) => [i.source, []])),\n });\n const dependencyFilenames = resolvedImports.flatMap((dependency) =>\n dependency.resolved ? [dependency.resolved] : []\n );\n\n const importedEntrypoints = findExportsInImports(\n entrypoint,\n resolvedImports\n );\n\n for (const importedEntrypoint of importedEntrypoints) {\n const exports = yield* this.getNext(\n 'getExports',\n importedEntrypoint.entrypoint,\n undefined\n );\n\n result.push(...exports);\n }\n\n cache.add('exports', entrypoint.name, result);\n cache.setCacheDependencies('exports', entrypoint.name, dependencyFilenames);\n\n entrypoint.log(`exports: %o`, result);\n\n return result;\n }\n\n entrypoint.log(`exports: %o`, result);\n\n cache.add('exports', entrypoint.name, result);\n\n return result;\n}\n"],"mappings":";;;;;;;AACA,IAAAA,yBAAA,GAAAC,OAAA;AAKO,SAASC,oBAAoBA,CAClCC,UAAsB,EACtBC,OAAgC,EACc;EAC9C,MAAMC,OAGH,GAAG,EAAE;EAER,KAAK,MAAMC,GAAG,IAAIF,OAAO,EAAE;IACzB,MAAM;MAAEG;IAAS,CAAC,GAAGD,GAAG;IACxB,IAAI,CAACC,QAAQ,EAAE;MACb,MAAM,IAAIC,KAAK,CAAC,4BAA4BF,GAAG,CAACG,MAAM,EAAE,CAAC;IAC3D;IAEA,MAAMC,aAAa,GAAGP,UAAU,CAACQ,WAAW,CAACJ,QAAQ,EAAE,EAAE,CAAC;IAE1D,IAAIG,aAAa,KAAK,MAAM,EAAE;MAC5B;MACA;IACF;IAEAL,OAAO,CAACO,IAAI,CAAC;MACXT,UAAU,EAAEO,aAAa;MACzBG,MAAM,EAAEP,GAAG,CAACG;IACd,CAAC,CAAC;EACJ;EAEA,OAAOJ,OAAO;AAChB;AAEO,UAAUS,UAAUA,CAAA,EAEiB;EAC1C,MAAM;IACJX,UAAU;IACVY,QAAQ,EAAE;MAAEC;IAAM;EACpB,CAAC,GAAG,IAAI;EACR,MAAM;IAAEC;EAAgB,CAAC,GAAGd,UAAU;EACtC,IAAIc,eAAe,CAACC,GAAG,KAAKC,SAAS,EAAE;IACrC,OAAO,EAAE;EACX;EAEAhB,UAAU,CAACiB,GAAG,CAAC,qBAAqB,EAAEjB,UAAU,CAACkB,IAAI,CAAC;EAEtD,IAAIL,KAAK,CAACM,GAAG,CAAC,SAAS,EAAEnB,UAAU,CAACkB,IAAI,CAAC,EAAE;IACzC,OAAOL,KAAK,CAACO,GAAG,CAAC,SAAS,EAAEpB,UAAU,CAACkB,IAAI,CAAC;EAC9C;EAEA,IAAIG,oBAAiC,GAAG,EAAE;EAC1C,MAAMC,MAAgB,GAAG,EAAE;EAE3B,IAAI,CAACV,QAAQ,CAACW,KAAK,CAACC,QAAQ,CAACV,eAAe,CAACC,GAAG,EAAG;IACjDU,OAAOA,CAACC,IAAI,EAAE;MACZ,MAAM;QAAEC,OAAO;QAAEC;MAAU,CAAC,GAAG,IAAAC,kDAAwB,EAACH,IAAI,EAAE,UAAU,CAAC;MACzEI,MAAM,CAACC,IAAI,CAACJ,OAAO,CAAC,CAACK,OAAO,CAAEC,KAAK,IAAK;QACtCX,MAAM,CAACb,IAAI,CAACwB,KAAK,CAAC;MACpB,CAAC,CAAC;MAEFL,SAAS,CAACI,OAAO,CAAEE,CAAC,IAAK;QACvB,IAAIA,CAAC,CAACC,QAAQ,KAAK,GAAG,EAAE;UACtBb,MAAM,CAACb,IAAI,CAACyB,CAAC,CAACC,QAAQ,CAAC;QACzB;MACF,CAAC,CAAC;MAEFd,oBAAoB,GAAGO,SAAS,CAACQ,MAAM,CAAEF,CAAC,IAAKA,CAAC,CAACC,QAAQ,KAAK,GAAG,CAAC;IACpE;EACF,CAAC,CAAC;EAEF,IAAId,oBAAoB,CAACgB,MAAM,EAAE;IAC/B,MAAMC,eAAe,GAAG,OAAO,IAAI,CAACC,OAAO,CAAC,gBAAgB,EAAEvC,UAAU,EAAE;MACxEC,OAAO,EAAE,IAAIuC,GAAG,CAACnB,oBAAoB,CAACoB,GAAG,CAAEC,CAAC,IAAK,CAACA,CAAC,CAACpC,MAAM,EAAE,EAAE,CAAC,CAAC;IAClE,CAAC,CAAC;IACF,MAAMqC,mBAAmB,GAAGL,eAAe,CAACM,OAAO,CAAEC,UAAU,IAC7DA,UAAU,CAACzC,QAAQ,GAAG,CAACyC,UAAU,CAACzC,QAAQ,CAAC,GAAG,EAChD,CAAC;IAED,MAAM0C,mBAAmB,GAAG/C,oBAAoB,CAC9CC,UAAU,EACVsC,eACF,CAAC;IAED,KAAK,MAAMS,kBAAkB,IAAID,mBAAmB,EAAE;MACpD,MAAMnB,OAAO,GAAG,OAAO,IAAI,CAACY,OAAO,CACjC,YAAY,EACZQ,kBAAkB,CAAC/C,UAAU,EAC7BgB,SACF,CAAC;MAEDM,MAAM,CAACb,IAAI,CAAC,GAAGkB,OAAO,CAAC;IACzB;IAEAd,KAAK,CAACmC,GAAG,CAAC,SAAS,EAAEhD,UAAU,CAACkB,IAAI,EAAEI,MAAM,CAAC;IAC7CT,KAAK,CAACoC,oBAAoB,CAAC,SAAS,EAAEjD,UAAU,CAACkB,IAAI,EAAEyB,mBAAmB,CAAC;IAE3E3C,UAAU,CAACiB,GAAG,CAAC,aAAa,EAAEK,MAAM,CAAC;IAErC,OAAOA,MAAM;EACf;EAEAtB,UAAU,CAACiB,GAAG,CAAC,aAAa,EAAEK,MAAM,CAAC;EAErCT,KAAK,CAACmC,GAAG,CAAC,SAAS,EAAEhD,UAAU,CAACkB,IAAI,EAAEI,MAAM,CAAC;EAE7C,OAAOA,MAAM;AACf","ignoreList":[]}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.baseHandlers = void 0;
|
|
7
|
-
var _baseProcessingHandlers = require("./baseProcessingHandlers");
|
|
8
|
-
var _collect = require("./collect");
|
|
9
|
-
var _evalFile = require("./evalFile");
|
|
10
|
-
var _extract = require("./extract");
|
|
11
|
-
var _workflow = require("./workflow");
|
|
12
|
-
const baseHandlers = exports.baseHandlers = {
|
|
13
|
-
..._baseProcessingHandlers.baseProcessingHandlers,
|
|
14
|
-
collect: _collect.collect,
|
|
15
|
-
evalFile: _evalFile.evalFile,
|
|
16
|
-
extract: _extract.extract,
|
|
17
|
-
workflow: _workflow.workflow
|
|
18
|
-
};
|
|
19
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_baseProcessingHandlers","require","_collect","_evalFile","_extract","_workflow","baseHandlers","exports","baseProcessingHandlers","collect","evalFile","extract","workflow"],"sources":["../../../src/transform/generators/index.ts"],"sourcesContent":["import { baseProcessingHandlers } from './baseProcessingHandlers';\nimport { collect } from './collect';\nimport { evalFile } from './evalFile';\nimport { extract } from './extract';\nimport { workflow } from './workflow';\n\nexport const baseHandlers = {\n ...baseProcessingHandlers,\n collect,\n evalFile,\n extract,\n workflow,\n};\n"],"mappings":";;;;;;AAAA,IAAAA,uBAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AAEO,MAAMK,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG;EAC1B,GAAGE,8CAAsB;EACzBC,OAAO,EAAPA,gBAAO;EACPC,QAAQ,EAARA,kBAAQ;EACRC,OAAO,EAAPA,gBAAO;EACPC,QAAQ,EAARA;AACF,CAAC","ignoreList":[]}
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.processEntrypoint = processEntrypoint;
|
|
7
|
-
var _shaker = require("../../shaker");
|
|
8
|
-
var _AbortError = require("../actions/AbortError");
|
|
9
|
-
var _barrelManifest = require("../barrelManifest");
|
|
10
|
-
function _usingCtx2() { var r = "function" == typeof SuppressedError ? SuppressedError : function (r, e) { var n = Error(); return n.name = "SuppressedError", n.error = r, n.suppressed = e, n; }, e = {}, n = []; function using(r, e) { if (null != e) { if (Object(e) !== e) throw new TypeError("using declarations can only be used with objects, functions, null, or undefined."); if (r) var o = e[Symbol.asyncDispose || Symbol.for("Symbol.asyncDispose")]; if (void 0 === o && (o = e[Symbol.dispose || Symbol.for("Symbol.dispose")], r)) var t = o; if ("function" != typeof o) throw new TypeError("Object is not disposable."); t && (o = function () { try { t.call(e); } catch (r) { return Promise.reject(r); } }), n.push({ v: e, d: o, a: r }); } else r && n.push({ d: e, a: r }); return e; } return { e: e, u: using.bind(null, !1), a: using.bind(null, !0), d: function () { var o, t = this.e, s = 0; function next() { for (; o = n.pop();) try { if (!o.a && 1 === s) return s = 0, n.push(o), Promise.resolve().then(next); if (o.d) { var r = o.d.call(o.v); if (o.a) return s |= 2, Promise.resolve(r).then(next, err); } else s |= 1; } catch (r) { return err(r); } if (1 === s) return t !== e ? Promise.reject(t) : Promise.resolve(); if (t !== e) throw t; } function err(n) { return t = t !== e ? new r(n, t) : n, next(); } return next(); } }; }
|
|
11
|
-
const shouldSkipExplodeReexports = action => {
|
|
12
|
-
const {
|
|
13
|
-
loadedAndParsed,
|
|
14
|
-
only
|
|
15
|
-
} = action.entrypoint;
|
|
16
|
-
if (only.length === 1 && only[0] === '__wywPreval') {
|
|
17
|
-
return true;
|
|
18
|
-
}
|
|
19
|
-
if (loadedAndParsed.evaluator !== _shaker.shaker || !loadedAndParsed.ast) {
|
|
20
|
-
return false;
|
|
21
|
-
}
|
|
22
|
-
const barrelAnalysis = (0, _barrelManifest.analyzeBarrelFile)(loadedAndParsed.ast);
|
|
23
|
-
return barrelAnalysis.kind === 'barrel' && barrelAnalysis.complete;
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* The first stage of processing an entrypoint.
|
|
28
|
-
* This stage is responsible for:
|
|
29
|
-
* - scheduling the explodeReexports action
|
|
30
|
-
* - scheduling the transform action
|
|
31
|
-
* - rescheduling itself if the entrypoint is superseded
|
|
32
|
-
*/
|
|
33
|
-
function* processEntrypoint() {
|
|
34
|
-
const {
|
|
35
|
-
only,
|
|
36
|
-
log
|
|
37
|
-
} = this.entrypoint;
|
|
38
|
-
log('start processing (only: %o)', only);
|
|
39
|
-
this.entrypoint.beginProcessing();
|
|
40
|
-
try {
|
|
41
|
-
try {
|
|
42
|
-
var _usingCtx = _usingCtx2();
|
|
43
|
-
const abortSignal = _usingCtx.u(this.createAbortSignal());
|
|
44
|
-
if (shouldSkipExplodeReexports(this)) {
|
|
45
|
-
log('skip explodeReexports for pure barrel');
|
|
46
|
-
} else {
|
|
47
|
-
yield ['explodeReexports', this.entrypoint, undefined, abortSignal];
|
|
48
|
-
}
|
|
49
|
-
const result = yield* this.getNext('transform', this.entrypoint, undefined, abortSignal);
|
|
50
|
-
this.entrypoint.assertNotSuperseded();
|
|
51
|
-
this.entrypoint.setTransformResult(result);
|
|
52
|
-
const supersededWith = this.entrypoint.applyDeferredSupersede();
|
|
53
|
-
if (supersededWith) {
|
|
54
|
-
log('processing finished, deferred only detected; schedule next attempt');
|
|
55
|
-
yield* this.getNext('processEntrypoint', supersededWith, undefined, null);
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
log('entrypoint processing finished');
|
|
59
|
-
} catch (_) {
|
|
60
|
-
_usingCtx.e = _;
|
|
61
|
-
} finally {
|
|
62
|
-
_usingCtx.d();
|
|
63
|
-
}
|
|
64
|
-
} catch (e) {
|
|
65
|
-
if ((0, _AbortError.isAborted)(e) && this.entrypoint.supersededWith) {
|
|
66
|
-
log('processing aborted, schedule the next attempt');
|
|
67
|
-
yield* this.getNext('processEntrypoint', this.entrypoint.supersededWith, undefined, null);
|
|
68
|
-
return;
|
|
69
|
-
}
|
|
70
|
-
log(`Unhandled error: %O`, e);
|
|
71
|
-
throw e;
|
|
72
|
-
} finally {
|
|
73
|
-
this.entrypoint.endProcessing();
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
//# sourceMappingURL=processEntrypoint.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"processEntrypoint.js","names":["_shaker","require","_AbortError","_barrelManifest","_usingCtx2","r","SuppressedError","e","n","Error","name","error","suppressed","using","Object","TypeError","o","Symbol","asyncDispose","for","dispose","t","call","Promise","reject","push","v","d","a","u","bind","s","next","pop","resolve","then","err","shouldSkipExplodeReexports","action","loadedAndParsed","only","entrypoint","length","evaluator","shaker","ast","barrelAnalysis","analyzeBarrelFile","kind","complete","processEntrypoint","log","beginProcessing","_usingCtx","abortSignal","createAbortSignal","undefined","result","getNext","assertNotSuperseded","setTransformResult","supersededWith","applyDeferredSupersede","_","isAborted","endProcessing"],"sources":["../../../src/transform/generators/processEntrypoint.ts"],"sourcesContent":["import { shaker } from '../../shaker';\nimport { isAborted } from '../actions/AbortError';\nimport { analyzeBarrelFile } from '../barrelManifest';\nimport type { IProcessEntrypointAction, SyncScenarioForAction } from '../types';\n\nconst shouldSkipExplodeReexports = (\n action: IProcessEntrypointAction\n): boolean => {\n const { loadedAndParsed, only } = action.entrypoint;\n if (only.length === 1 && only[0] === '__wywPreval') {\n return true;\n }\n\n if (loadedAndParsed.evaluator !== shaker || !loadedAndParsed.ast) {\n return false;\n }\n\n const barrelAnalysis = analyzeBarrelFile(loadedAndParsed.ast);\n return barrelAnalysis.kind === 'barrel' && barrelAnalysis.complete;\n};\n\n/**\n * The first stage of processing an entrypoint.\n * This stage is responsible for:\n * - scheduling the explodeReexports action\n * - scheduling the transform action\n * - rescheduling itself if the entrypoint is superseded\n */\nexport function* processEntrypoint(\n this: IProcessEntrypointAction\n): SyncScenarioForAction<IProcessEntrypointAction> {\n const { only, log } = this.entrypoint;\n log('start processing (only: %o)', only);\n\n this.entrypoint.beginProcessing();\n\n try {\n using abortSignal = this.createAbortSignal();\n\n if (shouldSkipExplodeReexports(this)) {\n log('skip explodeReexports for pure barrel');\n } else {\n yield ['explodeReexports', this.entrypoint, undefined, abortSignal];\n }\n const result = yield* this.getNext(\n 'transform',\n this.entrypoint,\n undefined,\n abortSignal\n );\n\n this.entrypoint.assertNotSuperseded();\n\n this.entrypoint.setTransformResult(result);\n\n const supersededWith = this.entrypoint.applyDeferredSupersede();\n if (supersededWith) {\n log('processing finished, deferred only detected; schedule next attempt');\n yield* this.getNext('processEntrypoint', supersededWith, undefined, null);\n return;\n }\n\n log('entrypoint processing finished');\n } catch (e) {\n if (isAborted(e) && this.entrypoint.supersededWith) {\n log('processing aborted, schedule the next attempt');\n yield* this.getNext(\n 'processEntrypoint',\n this.entrypoint.supersededWith,\n undefined,\n null\n );\n\n return;\n }\n\n log(`Unhandled error: %O`, e);\n throw e;\n } finally {\n this.entrypoint.endProcessing();\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.processImports = processImports;
|
|
7
|
-
var _importOverrides = require("../../utils/importOverrides");
|
|
8
|
-
/* eslint-disable no-continue */
|
|
9
|
-
|
|
10
|
-
const warnedSlowImportsByServices = new WeakMap();
|
|
11
|
-
function emitWarning(services, message) {
|
|
12
|
-
if (services.emitWarning) {
|
|
13
|
-
services.emitWarning(message);
|
|
14
|
-
return;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
// eslint-disable-next-line no-console
|
|
18
|
-
console.warn(message);
|
|
19
|
-
}
|
|
20
|
-
function getWarnedSlowImports(services) {
|
|
21
|
-
const cached = warnedSlowImportsByServices.get(services);
|
|
22
|
-
if (cached) return cached;
|
|
23
|
-
const created = new Set();
|
|
24
|
-
warnedSlowImportsByServices.set(services, created);
|
|
25
|
-
return created;
|
|
26
|
-
}
|
|
27
|
-
function isWarningEnabled(value) {
|
|
28
|
-
return Boolean(value) && value !== '0' && value !== 'false';
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* Creates new entrypoints and emits processEntrypoint for each resolved import
|
|
33
|
-
*/
|
|
34
|
-
function* processImports() {
|
|
35
|
-
const slowImportWarningsEnabled = isWarningEnabled(process.env.WYW_WARN_SLOW_IMPORTS);
|
|
36
|
-
const slowImportThresholdMs = (() => {
|
|
37
|
-
const raw = process.env.WYW_WARN_SLOW_IMPORTS_MS;
|
|
38
|
-
if (!raw) return 50;
|
|
39
|
-
const parsed = Number(raw);
|
|
40
|
-
if (!Number.isFinite(parsed)) return 50;
|
|
41
|
-
return parsed;
|
|
42
|
-
})();
|
|
43
|
-
const warnedSlowImports = slowImportWarningsEnabled ? getWarnedSlowImports(this.services) : null;
|
|
44
|
-
const {
|
|
45
|
-
root
|
|
46
|
-
} = this.services.options;
|
|
47
|
-
for (const dependency of this.data.resolved) {
|
|
48
|
-
const {
|
|
49
|
-
resolved,
|
|
50
|
-
only
|
|
51
|
-
} = dependency;
|
|
52
|
-
if (!resolved) {
|
|
53
|
-
continue;
|
|
54
|
-
}
|
|
55
|
-
this.entrypoint.addDependency(dependency);
|
|
56
|
-
const nextEntrypoint = this.entrypoint.createChild(resolved, only);
|
|
57
|
-
if (nextEntrypoint === 'loop' || nextEntrypoint.ignored) {
|
|
58
|
-
continue;
|
|
59
|
-
}
|
|
60
|
-
const startedAt = slowImportWarningsEnabled ? performance.now() : 0;
|
|
61
|
-
yield* this.getNext('processEntrypoint', nextEntrypoint, undefined, null);
|
|
62
|
-
if (slowImportWarningsEnabled && warnedSlowImports && slowImportThresholdMs > 0) {
|
|
63
|
-
const durationMs = performance.now() - startedAt;
|
|
64
|
-
if (durationMs >= slowImportThresholdMs) {
|
|
65
|
-
const {
|
|
66
|
-
key: importKey
|
|
67
|
-
} = (0, _importOverrides.toImportKey)({
|
|
68
|
-
source: dependency.source,
|
|
69
|
-
resolved,
|
|
70
|
-
root
|
|
71
|
-
});
|
|
72
|
-
const dedupeKey = `${this.entrypoint.name}::${importKey}`;
|
|
73
|
-
if (!warnedSlowImports.has(dedupeKey)) {
|
|
74
|
-
warnedSlowImports.add(dedupeKey);
|
|
75
|
-
const warning = [`[wyw-in-js] Slow import during prepare stage`, ``, `file: ${this.entrypoint.name}`, `import: ${dependency.source}`, `resolved: ${resolved}`, `duration: ${durationMs.toFixed(1)}ms`, ``, `tip: if this import is runtime-only or heavy, mock it during evaluation via importOverrides:`, ` importOverrides: {`, ` '${importKey}': { mock: './path/to/mock' },`, ` }`, ``, `note: importOverrides affects only build-time evaluation (it does not change your bundler runtime behavior)`, ``, `note: configure threshold with WYW_WARN_SLOW_IMPORTS_MS (current: ${slowImportThresholdMs}ms)`].join('\n');
|
|
76
|
-
emitWarning(this.services, warning);
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
//# sourceMappingURL=processImports.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"processImports.js","names":["_importOverrides","require","warnedSlowImportsByServices","WeakMap","emitWarning","services","message","console","warn","getWarnedSlowImports","cached","get","created","Set","set","isWarningEnabled","value","Boolean","processImports","slowImportWarningsEnabled","process","env","WYW_WARN_SLOW_IMPORTS","slowImportThresholdMs","raw","WYW_WARN_SLOW_IMPORTS_MS","parsed","Number","isFinite","warnedSlowImports","root","options","dependency","data","resolved","only","entrypoint","addDependency","nextEntrypoint","createChild","ignored","startedAt","performance","now","getNext","undefined","durationMs","key","importKey","toImportKey","source","dedupeKey","name","has","add","warning","toFixed","join"],"sources":["../../../src/transform/generators/processImports.ts"],"sourcesContent":["/* eslint-disable no-continue */\nimport type {\n IProcessImportsAction,\n Services,\n SyncScenarioForAction,\n} from '../types';\n\nimport { toImportKey } from '../../utils/importOverrides';\n\nconst warnedSlowImportsByServices = new WeakMap<Services, Set<string>>();\n\nfunction emitWarning(services: Services, message: string) {\n if (services.emitWarning) {\n services.emitWarning(message);\n return;\n }\n\n // eslint-disable-next-line no-console\n console.warn(message);\n}\n\nfunction getWarnedSlowImports(services: Services): Set<string> {\n const cached = warnedSlowImportsByServices.get(services);\n if (cached) return cached;\n\n const created = new Set<string>();\n warnedSlowImportsByServices.set(services, created);\n return created;\n}\n\nfunction isWarningEnabled(value: string | undefined): boolean {\n return Boolean(value) && value !== '0' && value !== 'false';\n}\n\n/**\n * Creates new entrypoints and emits processEntrypoint for each resolved import\n */\nexport function* processImports(\n this: IProcessImportsAction\n): SyncScenarioForAction<IProcessImportsAction> {\n const slowImportWarningsEnabled = isWarningEnabled(\n process.env.WYW_WARN_SLOW_IMPORTS\n );\n const slowImportThresholdMs = (() => {\n const raw = process.env.WYW_WARN_SLOW_IMPORTS_MS;\n if (!raw) return 50;\n\n const parsed = Number(raw);\n if (!Number.isFinite(parsed)) return 50;\n return parsed;\n })();\n\n const warnedSlowImports = slowImportWarningsEnabled\n ? getWarnedSlowImports(this.services)\n : null;\n\n const { root } = this.services.options;\n\n for (const dependency of this.data.resolved) {\n const { resolved, only } = dependency;\n if (!resolved) {\n continue;\n }\n\n this.entrypoint.addDependency(dependency);\n\n const nextEntrypoint = this.entrypoint.createChild(resolved, only);\n if (nextEntrypoint === 'loop' || nextEntrypoint.ignored) {\n continue;\n }\n\n const startedAt = slowImportWarningsEnabled ? performance.now() : 0;\n yield* this.getNext('processEntrypoint', nextEntrypoint, undefined, null);\n\n if (\n slowImportWarningsEnabled &&\n warnedSlowImports &&\n slowImportThresholdMs > 0\n ) {\n const durationMs = performance.now() - startedAt;\n if (durationMs >= slowImportThresholdMs) {\n const { key: importKey } = toImportKey({\n source: dependency.source,\n resolved,\n root,\n });\n const dedupeKey = `${this.entrypoint.name}::${importKey}`;\n\n if (!warnedSlowImports.has(dedupeKey)) {\n warnedSlowImports.add(dedupeKey);\n\n const warning = [\n `[wyw-in-js] Slow import during prepare stage`,\n ``,\n `file: ${this.entrypoint.name}`,\n `import: ${dependency.source}`,\n `resolved: ${resolved}`,\n `duration: ${durationMs.toFixed(1)}ms`,\n ``,\n `tip: if this import is runtime-only or heavy, mock it during evaluation via importOverrides:`,\n ` importOverrides: {`,\n ` '${importKey}': { mock: './path/to/mock' },`,\n ` }`,\n ``,\n `note: importOverrides affects only build-time evaluation (it does not change your bundler runtime behavior)`,\n ``,\n `note: configure threshold with WYW_WARN_SLOW_IMPORTS_MS (current: ${slowImportThresholdMs}ms)`,\n ].join('\\n');\n\n emitWarning(this.services, warning);\n }\n }\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,221 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.asyncResolveImports = asyncResolveImports;
|
|
7
|
-
exports.syncResolveImports = syncResolveImports;
|
|
8
|
-
var _getFileIdx = require("../../utils/getFileIdx");
|
|
9
|
-
var _Entrypoint = require("../Entrypoint.helpers");
|
|
10
|
-
var _importOverrides = require("../../utils/importOverrides");
|
|
11
|
-
/* eslint-disable no-continue,no-await-in-loop,require-yield */
|
|
12
|
-
|
|
13
|
-
function applyImportOverrides(services, entrypoint, resolvedImports) {
|
|
14
|
-
const overrides = services.options.pluginOptions.importOverrides;
|
|
15
|
-
if (!overrides || Object.keys(overrides).length === 0) {
|
|
16
|
-
return resolvedImports;
|
|
17
|
-
}
|
|
18
|
-
const {
|
|
19
|
-
root
|
|
20
|
-
} = services.options;
|
|
21
|
-
const importer = entrypoint.name;
|
|
22
|
-
const stack = (0, _Entrypoint.getStack)(entrypoint);
|
|
23
|
-
return resolvedImports.map(dependency => {
|
|
24
|
-
const {
|
|
25
|
-
key
|
|
26
|
-
} = (0, _importOverrides.toImportKey)({
|
|
27
|
-
source: dependency.source,
|
|
28
|
-
resolved: dependency.resolved,
|
|
29
|
-
root
|
|
30
|
-
});
|
|
31
|
-
const override = (0, _importOverrides.getImportOverride)(overrides, key);
|
|
32
|
-
if (!override) {
|
|
33
|
-
return dependency;
|
|
34
|
-
}
|
|
35
|
-
const nextOnly = (0, _importOverrides.applyImportOverrideToOnly)(dependency.only, override);
|
|
36
|
-
const nextResolved = override.mock ? (0, _importOverrides.resolveMockSpecifier)({
|
|
37
|
-
mock: override.mock,
|
|
38
|
-
importer,
|
|
39
|
-
root,
|
|
40
|
-
stack
|
|
41
|
-
}) : dependency.resolved;
|
|
42
|
-
return {
|
|
43
|
-
...dependency,
|
|
44
|
-
only: nextOnly,
|
|
45
|
-
resolved: nextResolved
|
|
46
|
-
};
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
function emitDependency(emitter, entrypoint, imports, phase) {
|
|
50
|
-
emitter.single({
|
|
51
|
-
type: 'dependency',
|
|
52
|
-
file: entrypoint.name,
|
|
53
|
-
only: entrypoint.only,
|
|
54
|
-
phase,
|
|
55
|
-
imports: imports.map(({
|
|
56
|
-
resolved,
|
|
57
|
-
only
|
|
58
|
-
}) => ({
|
|
59
|
-
from: resolved,
|
|
60
|
-
what: only
|
|
61
|
-
})),
|
|
62
|
-
fileIdx: (0, _getFileIdx.getFileIdx)(entrypoint.name)
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
function filterUnresolved(entrypoint, resolvedImports) {
|
|
66
|
-
return resolvedImports.filter(i => {
|
|
67
|
-
if (i.resolved === null) {
|
|
68
|
-
entrypoint.log(`[resolve] ✅ %s in %s is ignored`, i.source, entrypoint.name);
|
|
69
|
-
return false;
|
|
70
|
-
}
|
|
71
|
-
return true;
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
function getPreResolvedImports(preResolved) {
|
|
75
|
-
return new Map((preResolved !== null && preResolved !== void 0 ? preResolved : []).map(dependency => [dependency.source, dependency]));
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
/**
|
|
79
|
-
* Synchronously resolves specified imports with a provided resolver.
|
|
80
|
-
*/
|
|
81
|
-
function* syncResolveImports(resolve) {
|
|
82
|
-
var _imports$entries;
|
|
83
|
-
const {
|
|
84
|
-
data: {
|
|
85
|
-
imports
|
|
86
|
-
},
|
|
87
|
-
entrypoint,
|
|
88
|
-
services: {
|
|
89
|
-
eventEmitter
|
|
90
|
-
}
|
|
91
|
-
} = this;
|
|
92
|
-
const listOfImports = Array.from((_imports$entries = imports === null || imports === void 0 ? void 0 : imports.entries()) !== null && _imports$entries !== void 0 ? _imports$entries : []);
|
|
93
|
-
const preResolvedImports = getPreResolvedImports(this.data.preResolved);
|
|
94
|
-
const {
|
|
95
|
-
log
|
|
96
|
-
} = entrypoint;
|
|
97
|
-
if (listOfImports.length === 0) {
|
|
98
|
-
emitDependency(eventEmitter, entrypoint, [], this.data.phase);
|
|
99
|
-
log('%s has no imports', entrypoint.name);
|
|
100
|
-
return [];
|
|
101
|
-
}
|
|
102
|
-
const resolvedImports = listOfImports.map(([source, only]) => {
|
|
103
|
-
const preResolved = preResolvedImports.get(source);
|
|
104
|
-
if (preResolved) {
|
|
105
|
-
const mergedOnly = (0, _Entrypoint.mergeOnly)(preResolved.only, only);
|
|
106
|
-
log('[sync-resolve] ♻️ %s -> %s (only: %o)', source, preResolved.resolved, mergedOnly);
|
|
107
|
-
return {
|
|
108
|
-
...preResolved,
|
|
109
|
-
only: mergedOnly
|
|
110
|
-
};
|
|
111
|
-
}
|
|
112
|
-
let resolved = null;
|
|
113
|
-
try {
|
|
114
|
-
resolved = resolve(source, entrypoint.name, (0, _Entrypoint.getStack)(entrypoint));
|
|
115
|
-
log('[sync-resolve] ✅ %s -> %s (only: %o)', source, resolved, only);
|
|
116
|
-
} catch (err) {
|
|
117
|
-
log('[sync-resolve] ❌ cannot resolve %s: %O', source, err);
|
|
118
|
-
}
|
|
119
|
-
return {
|
|
120
|
-
source,
|
|
121
|
-
only,
|
|
122
|
-
resolved
|
|
123
|
-
};
|
|
124
|
-
});
|
|
125
|
-
const overriddenImports = applyImportOverrides(this.services, entrypoint, resolvedImports);
|
|
126
|
-
const filteredImports = filterUnresolved(entrypoint, overriddenImports);
|
|
127
|
-
emitDependency(eventEmitter, entrypoint, filteredImports, this.data.phase);
|
|
128
|
-
return filteredImports;
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
/**
|
|
132
|
-
* Asynchronously resolves specified imports with a provided resolver.
|
|
133
|
-
*/
|
|
134
|
-
async function* asyncResolveImports(resolve) {
|
|
135
|
-
var _imports$entries2;
|
|
136
|
-
const {
|
|
137
|
-
data: {
|
|
138
|
-
imports
|
|
139
|
-
},
|
|
140
|
-
entrypoint,
|
|
141
|
-
services: {
|
|
142
|
-
eventEmitter
|
|
143
|
-
}
|
|
144
|
-
} = this;
|
|
145
|
-
const listOfImports = Array.from((_imports$entries2 = imports === null || imports === void 0 ? void 0 : imports.entries()) !== null && _imports$entries2 !== void 0 ? _imports$entries2 : []);
|
|
146
|
-
const preResolvedImports = getPreResolvedImports(this.data.preResolved);
|
|
147
|
-
const {
|
|
148
|
-
log
|
|
149
|
-
} = entrypoint;
|
|
150
|
-
if (listOfImports.length === 0) {
|
|
151
|
-
emitDependency(eventEmitter, entrypoint, [], this.data.phase);
|
|
152
|
-
log('%s has no imports', entrypoint.name);
|
|
153
|
-
return [];
|
|
154
|
-
}
|
|
155
|
-
log('resolving %d imports', listOfImports.length);
|
|
156
|
-
const getResolveTask = async (source, only) => {
|
|
157
|
-
let resolved = null;
|
|
158
|
-
try {
|
|
159
|
-
resolved = await resolve(source, entrypoint.name, (0, _Entrypoint.getStack)(entrypoint));
|
|
160
|
-
} catch (err) {
|
|
161
|
-
log('[async-resolve] ❌ cannot resolve %s in %s: %O', source, entrypoint.name, err);
|
|
162
|
-
}
|
|
163
|
-
if (resolved !== null) {
|
|
164
|
-
log('[async-resolve] ✅ %s (%o) in %s -> %s', source, only, entrypoint.name, resolved);
|
|
165
|
-
}
|
|
166
|
-
return {
|
|
167
|
-
source,
|
|
168
|
-
only,
|
|
169
|
-
resolved
|
|
170
|
-
};
|
|
171
|
-
};
|
|
172
|
-
const resolvedImports = await Promise.all(listOfImports.map(([source, importsOnly]) => {
|
|
173
|
-
const preResolved = preResolvedImports.get(source);
|
|
174
|
-
if (preResolved) {
|
|
175
|
-
const mergedOnly = (0, _Entrypoint.mergeOnly)(preResolved.only, importsOnly);
|
|
176
|
-
log('[async-resolve] ♻️ %s (%o) in %s -> %s', source, mergedOnly, entrypoint.name, preResolved.resolved);
|
|
177
|
-
return {
|
|
178
|
-
...preResolved,
|
|
179
|
-
only: mergedOnly
|
|
180
|
-
};
|
|
181
|
-
}
|
|
182
|
-
const cached = entrypoint.getDependency(source);
|
|
183
|
-
if (cached) {
|
|
184
|
-
return {
|
|
185
|
-
source,
|
|
186
|
-
only: (0, _Entrypoint.mergeOnly)(cached.only, importsOnly),
|
|
187
|
-
resolved: cached.resolved
|
|
188
|
-
};
|
|
189
|
-
}
|
|
190
|
-
const task = entrypoint.getResolveTask(source);
|
|
191
|
-
if (task) {
|
|
192
|
-
// If we have cached task, we need to merge only…
|
|
193
|
-
const newTask = task.then(res => {
|
|
194
|
-
if ((0, _Entrypoint.isSuperSet)(res.only, importsOnly)) {
|
|
195
|
-
return res;
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
// Is this branch even possible?
|
|
199
|
-
const merged = (0, _Entrypoint.mergeOnly)(res.only, importsOnly);
|
|
200
|
-
log('merging imports %o and %o: %o', importsOnly, res.only, merged);
|
|
201
|
-
return {
|
|
202
|
-
...res,
|
|
203
|
-
only: merged
|
|
204
|
-
};
|
|
205
|
-
});
|
|
206
|
-
|
|
207
|
-
// … and update the cache
|
|
208
|
-
entrypoint.addResolveTask(source, newTask);
|
|
209
|
-
return newTask;
|
|
210
|
-
}
|
|
211
|
-
const resolveTask = getResolveTask(source, importsOnly);
|
|
212
|
-
entrypoint.addResolveTask(source, resolveTask);
|
|
213
|
-
return resolveTask;
|
|
214
|
-
}));
|
|
215
|
-
log('resolved %d imports', resolvedImports.length);
|
|
216
|
-
const overriddenImports = applyImportOverrides(this.services, entrypoint, resolvedImports);
|
|
217
|
-
const filteredImports = filterUnresolved(entrypoint, overriddenImports);
|
|
218
|
-
emitDependency(eventEmitter, entrypoint, filteredImports, this.data.phase);
|
|
219
|
-
return filteredImports;
|
|
220
|
-
}
|
|
221
|
-
//# sourceMappingURL=resolveImports.js.map
|