@expo/metro-config 0.17.2 → 0.17.4

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.
Files changed (85) hide show
  1. package/build/ExpoMetroConfig.js +239 -366
  2. package/build/ExpoMetroConfig.js.map +1 -1
  3. package/build/babel-core.js +6 -23
  4. package/build/babel-core.js.map +1 -1
  5. package/build/babel-transformer.js +117 -162
  6. package/build/babel-transformer.js.map +1 -1
  7. package/build/customizeFrame.js +84 -78
  8. package/build/customizeFrame.js.map +1 -1
  9. package/build/env.js +23 -37
  10. package/build/env.js.map +1 -1
  11. package/build/file-store.js +13 -21
  12. package/build/file-store.js.map +1 -1
  13. package/build/getModulesPaths.js +31 -48
  14. package/build/getModulesPaths.js.map +1 -1
  15. package/build/getWatchFolders.js +70 -98
  16. package/build/getWatchFolders.js.map +1 -1
  17. package/build/loadBabelConfig.js +30 -49
  18. package/build/loadBabelConfig.js.map +1 -1
  19. package/build/rewriteRequestUrl.js +82 -142
  20. package/build/rewriteRequestUrl.js.map +1 -1
  21. package/build/serializer/debugId.js +23 -22
  22. package/build/serializer/debugId.js.map +1 -1
  23. package/build/serializer/environmentVariableSerializerPlugin.js +90 -101
  24. package/build/serializer/environmentVariableSerializerPlugin.js.map +1 -1
  25. package/build/serializer/exportHermes.js +96 -133
  26. package/build/serializer/exportHermes.js.map +1 -1
  27. package/build/serializer/exportPath.js +18 -35
  28. package/build/serializer/exportPath.js.map +1 -1
  29. package/build/serializer/fork/baseJSBundle.js +124 -147
  30. package/build/serializer/fork/baseJSBundle.js.map +1 -1
  31. package/build/serializer/fork/js.js +81 -116
  32. package/build/serializer/fork/js.js.map +1 -1
  33. package/build/serializer/fork/processModules.js +22 -36
  34. package/build/serializer/fork/processModules.js.map +1 -1
  35. package/build/serializer/getCssDeps.js +64 -95
  36. package/build/serializer/getCssDeps.js.map +1 -1
  37. package/build/serializer/jsOutput.js +6 -16
  38. package/build/serializer/jsOutput.js.map +1 -1
  39. package/build/serializer/serializeChunks.js +406 -483
  40. package/build/serializer/serializeChunks.js.map +1 -1
  41. package/build/serializer/serializerAssets.js +1 -0
  42. package/build/serializer/serializerAssets.js.map +1 -1
  43. package/build/serializer/withExpoSerializers.js +165 -236
  44. package/build/serializer/withExpoSerializers.js.map +1 -1
  45. package/build/transform-worker/asset-transformer.js +21 -44
  46. package/build/transform-worker/asset-transformer.js.map +1 -1
  47. package/build/transform-worker/css-modules.js +57 -84
  48. package/build/transform-worker/css-modules.js.map +1 -1
  49. package/build/transform-worker/css.js +21 -20
  50. package/build/transform-worker/css.js.map +1 -1
  51. package/build/transform-worker/getAssets.js +38 -75
  52. package/build/transform-worker/getAssets.js.map +1 -1
  53. package/build/transform-worker/metro-transform-worker.js +384 -489
  54. package/build/transform-worker/metro-transform-worker.js.map +1 -1
  55. package/build/transform-worker/postcss.js +176 -233
  56. package/build/transform-worker/postcss.js.map +1 -1
  57. package/build/transform-worker/sass.js +30 -38
  58. package/build/transform-worker/sass.js.map +1 -1
  59. package/build/transform-worker/transform-worker.js +156 -188
  60. package/build/transform-worker/transform-worker.js.map +1 -1
  61. package/build/transform-worker/utils/require.js +30 -28
  62. package/build/transform-worker/utils/require.js.map +1 -1
  63. package/build/transformSync.js +40 -28
  64. package/build/transformSync.js.map +1 -1
  65. package/build/transformer/createExoticTransformer.js +96 -129
  66. package/build/transformer/createExoticTransformer.js.map +1 -1
  67. package/build/transformer/createMatcher.js +37 -46
  68. package/build/transformer/createMatcher.js.map +1 -1
  69. package/build/transformer/createMultiRuleTransformer.js +170 -240
  70. package/build/transformer/createMultiRuleTransformer.js.map +1 -1
  71. package/build/transformer/generateFunctionMap.js +20 -23
  72. package/build/transformer/generateFunctionMap.js.map +1 -1
  73. package/build/transformer/getBabelConfig.js +94 -127
  74. package/build/transformer/getBabelConfig.js.map +1 -1
  75. package/build/transformer/getCacheKey.js +17 -31
  76. package/build/transformer/getCacheKey.js.map +1 -1
  77. package/build/transformer/index.js +11 -62
  78. package/build/transformer/index.js.map +1 -1
  79. package/build/transformer/metro-expo-exotic-babel-transformer.js +3 -12
  80. package/build/transformer/metro-expo-exotic-babel-transformer.js.map +1 -1
  81. package/build/traveling/metro-config.js +12 -19
  82. package/build/traveling/metro-config.js.map +1 -1
  83. package/build/utils/hash.js +8 -14
  84. package/build/utils/hash.js.map +1 -1
  85. package/package.json +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"metro-transform-worker.js","names":["_core","data","require","_generator","_interopRequireDefault","babylon","_interopRequireWildcard","types","_JsFileWrapping","_collectDependencies","_generateImportNames","_countLines","_metroCache","_metroCacheKey","_metroSourceMap","_metroTransformPlugins","_metroTransformWorker","_getMinifier","_nodeAssert","assetTransformer","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","nullthrows","x","message","assert","getDynamicDepsBehavior","inPackages","filename","test","Error","minifyCode","config","projectRoot","code","source","map","reserved","sourceMap","fromRawMappings","functionMap","path","isIgnored","toMap","undefined","minify","getMinifier","minifierPath","minified","minifierConfig","toBabelSegments","toSegmentTuple","error","constructor","name","line","col","disabledDependencyTransformer","transformSyncRequire","transformImportCall","transformPrefetch","transformIllegalDynamicRequire","InvalidRequireCallError","innerError","transformJS","file","options","_file$ast","ast","parse","sourceType","importDefault","importAll","generateImportNames","directives","program","findIndex","d","value","push","directive","directiveLiteral","plugins","babelPluginOpts","inlineableCalls","experimentalImportSupport","metroTransformPlugins","importExportPlugin","inlineRequires","inlineRequiresPlugin","ignoredRequires","nonInlinedRequires","transformFromAstSync","babelrc","configFile","comments","sourceMaps","cloneInputAst","dev","constantFoldingPlugin","dependencyMapName","dependencies","wrappedAst","type","JsFileWrapping","wrapPolyfill","opts","asyncRequireModulePath","dependencyTransformer","unstable_disableModuleWrapping","dynamicRequires","dynamicDepsInPackages","keepRequireNames","allowOptionalDependencies","unstable_dependencyMapReservedName","unstable_allowRequireContext","collectDependencies","InternalInvalidRequireCallError","wrapModule","globalPrefix","unstable_transformProfile","inputFileSize","optimizationSizeLimit","unstable_disableNormalizePseudoGlobals","normalizePseudoGlobals","reservedNames","result","generate","compact","unstable_compactOutput","retainLines","sourceFileName","rawMappings","output","lineCount","countLines","transformAsset","context","assetRegistryPath","assetPlugins","transform","getBabelTransformArgs","jsFile","transformJSWithBabel","_ref","_transformResult$meta","_transformResult$meta2","_transformResult$meta3","babelTransformerPath","transformer","transformResult","functionMapBabelPlugin","metadata","metro","transformJSON","jsonToCommonJS","wrapJson","jsType","_babelTransformerOpti","_","babelTransformerOptions","enableBabelRCLookup","enableBabelRuntime","hermesParser","publicPath","platform","src","sourceCode","toString","position","indexOf","SyntaxError","endsWith","jsonFile","length","getCacheKey","remainingConfig","filesKey","getMetroCacheKey","resolve","getTransformPluginCacheKeyFiles","babelTransformer","stableHash","join"],"sources":["../../src/transform-worker/metro-transform-worker.ts"],"sourcesContent":["/**\n * Copyright 2023-present 650 Industries (Expo). All rights reserved.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Fork of the Metro transformer worker, but with additional transforms moved to `babel-preset-expo` and modifications made for web support.\n * https://github.com/facebook/metro/blob/412771475c540b6f85d75d9dcd5a39a6e0753582/packages/metro-transform-worker/src/index.js#L1\n */\nimport { transformFromAstSync } from '@babel/core';\nimport type { ParseResult, PluginItem } from '@babel/core';\nimport generate from '@babel/generator';\nimport * as babylon from '@babel/parser';\nimport * as types from '@babel/types';\nimport type { TransformResultDependency } from 'metro/src/DeltaBundler';\nimport JsFileWrapping from 'metro/src/ModuleGraph/worker/JsFileWrapping';\nimport collectDependencies, {\n InvalidRequireCallError as InternalInvalidRequireCallError,\n Dependency,\n} from 'metro/src/ModuleGraph/worker/collectDependencies';\nimport type {\n DependencyTransformer,\n DynamicRequiresBehavior,\n} from 'metro/src/ModuleGraph/worker/collectDependencies';\nimport generateImportNames from 'metro/src/ModuleGraph/worker/generateImportNames';\nimport countLines from 'metro/src/lib/countLines';\nimport type { BabelTransformer, BabelTransformerArgs } from 'metro-babel-transformer';\nimport { stableHash } from 'metro-cache';\nimport getMetroCacheKey from 'metro-cache-key';\nimport {\n fromRawMappings,\n functionMapBabelPlugin,\n toBabelSegments,\n toSegmentTuple,\n} from 'metro-source-map';\nimport type { FBSourceFunctionMap, MetroSourceMapSegmentTuple } from 'metro-source-map';\nimport metroTransformPlugins from 'metro-transform-plugins';\nimport { JsOutput, JsTransformerConfig, JsTransformOptions, Type } from 'metro-transform-worker';\nimport getMinifier from 'metro-transform-worker/src/utils/getMinifier';\nimport assert from 'node:assert';\n\nimport * as assetTransformer from './asset-transformer';\n\nexport { JsTransformOptions };\n\ninterface BaseFile {\n readonly code: string;\n readonly filename: string;\n readonly inputFileSize: number;\n}\n\ninterface AssetFile extends BaseFile {\n readonly type: 'asset';\n}\n\ntype JSFileType = 'js/script' | 'js/module' | 'js/module/asset';\n\ninterface JSFile extends BaseFile {\n readonly ast?: ParseResult | null;\n readonly type: JSFileType;\n readonly functionMap: FBSourceFunctionMap | null;\n}\n\ninterface JSONFile extends BaseFile {\n readonly type: Type;\n}\n\ninterface TransformationContext {\n readonly config: JsTransformerConfig;\n readonly projectRoot: string;\n readonly options: JsTransformOptions;\n}\n\ninterface TransformResponse {\n readonly dependencies: readonly TransformResultDependency[];\n readonly output: readonly JsOutput[];\n}\n\n// asserts non-null\nfunction nullthrows<T extends object>(x: T | null, message?: string): NonNullable<T> {\n assert(x != null, message);\n return x;\n}\n\nfunction getDynamicDepsBehavior(\n inPackages: DynamicRequiresBehavior,\n filename: string\n): DynamicRequiresBehavior {\n switch (inPackages) {\n case 'reject':\n return 'reject';\n case 'throwAtRuntime':\n return /(?:^|[/\\\\])node_modules[/\\\\]/.test(filename) ? inPackages : 'reject';\n default:\n throw new Error(`invalid value for dynamic deps behavior: \\`${inPackages}\\``);\n }\n}\n\nconst minifyCode = async (\n config: JsTransformerConfig,\n projectRoot: string,\n filename: string,\n code: string,\n source: string,\n map: MetroSourceMapSegmentTuple[],\n reserved: string[] = []\n): Promise<{\n code: string;\n map: MetroSourceMapSegmentTuple[];\n}> => {\n const sourceMap = fromRawMappings([\n {\n code,\n source,\n map,\n // functionMap is overridden by the serializer\n functionMap: null,\n path: filename,\n // isIgnored is overriden by the serializer\n isIgnored: false,\n },\n ]).toMap(undefined, {});\n\n const minify = getMinifier(config.minifierPath);\n\n try {\n const minified = await minify({\n code,\n map: sourceMap,\n filename,\n reserved,\n config: config.minifierConfig,\n });\n\n return {\n code: minified.code,\n map: minified.map ? toBabelSegments(minified.map).map(toSegmentTuple) : [],\n };\n } catch (error: any) {\n if (error.constructor.name === 'JS_Parse_Error') {\n throw new Error(`${error.message} in file ${filename} at ${error.line}:${error.col}`);\n }\n\n throw error;\n }\n};\n\nconst disabledDependencyTransformer: DependencyTransformer = {\n transformSyncRequire: () => {},\n transformImportCall: () => {},\n transformPrefetch: () => {},\n transformIllegalDynamicRequire: () => {},\n};\n\nclass InvalidRequireCallError extends Error {\n innerError: InternalInvalidRequireCallError;\n filename: string;\n\n constructor(innerError: InternalInvalidRequireCallError, filename: string) {\n super(`${filename}:${innerError.message}`);\n this.innerError = innerError;\n this.filename = filename;\n }\n}\n\nasync function transformJS(\n file: JSFile,\n { config, options, projectRoot }: TransformationContext\n): Promise<TransformResponse> {\n // Transformers can output null ASTs (if they ignore the file). In that case\n // we need to parse the module source code to get their AST.\n let ast: babylon.ParseResult<types.File> =\n file.ast ?? babylon.parse(file.code, { sourceType: 'unambiguous' });\n\n // NOTE(EvanBacon): This can be really expensive on larger files. We should replace it with a cheaper alternative that just iterates and matches.\n const { importDefault, importAll } = generateImportNames(ast);\n\n // Add \"use strict\" if the file was parsed as a module, and the directive did\n // not exist yet.\n const { directives } = ast.program;\n\n if (\n ast.program.sourceType === 'module' &&\n directives != null &&\n directives.findIndex((d) => d.value.value === 'use strict') === -1\n ) {\n directives.push(types.directive(types.directiveLiteral('use strict')));\n }\n\n // Perform the import-export transform (in case it's still needed), then\n // fold requires and perform constant folding (if in dev).\n const plugins: PluginItem[] = [];\n const babelPluginOpts = {\n ...options,\n inlineableCalls: [importDefault, importAll],\n importDefault,\n importAll,\n };\n\n // NOTE(EvanBacon): This is effectively a replacement for the `@babel/plugin-transform-modules-commonjs`\n // plugin that's running in `@@react-native/babel-preset`, but with shared names for inlining requires.\n if (options.experimentalImportSupport === true) {\n plugins.push([metroTransformPlugins.importExportPlugin, babelPluginOpts]);\n }\n\n // NOTE(EvanBacon): This can basically never be safely enabled because it doesn't respect side-effects and\n // has no ability to respect side-effects because the transformer hasn't collected all dependencies yet.\n if (options.inlineRequires) {\n plugins.push([\n metroTransformPlugins.inlineRequiresPlugin,\n {\n ...babelPluginOpts,\n ignoredRequires: options.nonInlinedRequires,\n },\n ]);\n }\n\n // NOTE(EvanBacon): We apply this conditionally in `babel-preset-expo` with other AST transforms.\n // plugins.push([metroTransformPlugins.inlinePlugin, babelPluginOpts]);\n\n // TODO: This MUST be run even though no plugins are added, otherwise the babel runtime generators are broken.\n // if (plugins.length) {\n ast = nullthrows<babylon.ParseResult<types.File>>(\n // @ts-expect-error\n transformFromAstSync(ast, '', {\n ast: true,\n babelrc: false,\n code: false,\n configFile: false,\n comments: true,\n filename: file.filename,\n plugins,\n sourceMaps: false,\n // Not-Cloning the input AST here should be safe because other code paths above this call\n // are mutating the AST as well and no code is depending on the original AST.\n // However, switching the flag to false caused issues with ES Modules if `experimentalImportSupport` isn't used https://github.com/facebook/metro/issues/641\n // either because one of the plugins is doing something funky or Babel messes up some caches.\n // Make sure to test the above mentioned case before flipping the flag back to false.\n cloneInputAst: true,\n }).ast!\n );\n // }\n\n if (!options.dev) {\n // Run the constant folding plugin in its own pass, avoiding race conditions\n // with other plugins that have exit() visitors on Program (e.g. the ESM\n // transform).\n ast = nullthrows<babylon.ParseResult<types.File>>(\n // @ts-expect-error\n transformFromAstSync(ast, '', {\n ast: true,\n babelrc: false,\n code: false,\n configFile: false,\n comments: true,\n filename: file.filename,\n plugins: [[metroTransformPlugins.constantFoldingPlugin, babelPluginOpts]],\n sourceMaps: false,\n cloneInputAst: false,\n }).ast\n );\n }\n\n let dependencyMapName: string = '';\n let dependencies: readonly Dependency[];\n let wrappedAst: types.File | undefined;\n\n // If the module to transform is a script (meaning that is not part of the\n // dependency graph and it code will just be prepended to the bundle modules),\n // we need to wrap it differently than a commonJS module (also, scripts do\n // not have dependencies).\n if (file.type === 'js/script') {\n dependencies = [];\n wrappedAst = JsFileWrapping.wrapPolyfill(ast);\n } else {\n try {\n const opts = {\n asyncRequireModulePath: config.asyncRequireModulePath,\n dependencyTransformer:\n config.unstable_disableModuleWrapping === true\n ? disabledDependencyTransformer\n : undefined,\n dynamicRequires: getDynamicDepsBehavior(config.dynamicDepsInPackages, file.filename),\n inlineableCalls: [importDefault, importAll],\n keepRequireNames: options.dev,\n allowOptionalDependencies: config.allowOptionalDependencies,\n dependencyMapName: config.unstable_dependencyMapReservedName,\n unstable_allowRequireContext: config.unstable_allowRequireContext,\n };\n\n ({ ast, dependencies, dependencyMapName } = collectDependencies(ast, opts));\n } catch (error) {\n if (error instanceof InternalInvalidRequireCallError) {\n throw new InvalidRequireCallError(error, file.filename);\n }\n throw error;\n }\n\n if (config.unstable_disableModuleWrapping === true) {\n wrappedAst = ast;\n } else {\n // TODO: Replace this with a cheaper transform that doesn't require AST.\n ({ ast: wrappedAst } = JsFileWrapping.wrapModule(\n ast,\n importDefault,\n importAll,\n dependencyMapName,\n config.globalPrefix\n ));\n }\n }\n\n const minify =\n options.minify &&\n options.unstable_transformProfile !== 'hermes-canary' &&\n options.unstable_transformProfile !== 'hermes-stable';\n\n const reserved: string[] = [];\n if (config.unstable_dependencyMapReservedName != null) {\n reserved.push(config.unstable_dependencyMapReservedName);\n }\n\n if (\n minify &&\n file.inputFileSize <= config.optimizationSizeLimit &&\n !config.unstable_disableNormalizePseudoGlobals\n ) {\n // NOTE(EvanBacon): Simply pushing this function will mutate the AST, so it must run before the `generate` step!!\n reserved.push(\n ...metroTransformPlugins.normalizePseudoGlobals(wrappedAst, {\n reservedNames: reserved,\n })\n );\n }\n\n const result = generate(\n wrappedAst,\n {\n comments: true,\n compact: config.unstable_compactOutput,\n filename: file.filename,\n retainLines: false,\n sourceFileName: file.filename,\n sourceMaps: true,\n },\n file.code\n );\n\n // @ts-expect-error: incorrectly typed upstream\n let map = result.rawMappings ? result.rawMappings.map(toSegmentTuple) : [];\n let code = result.code;\n\n if (minify) {\n ({ map, code } = await minifyCode(\n config,\n projectRoot,\n file.filename,\n result.code,\n file.code,\n map,\n reserved\n ));\n }\n\n const output: JsOutput[] = [\n {\n data: {\n code,\n lineCount: countLines(code),\n map,\n functionMap: file.functionMap,\n },\n type: file.type,\n },\n ];\n\n return {\n dependencies,\n output,\n };\n}\n\n/** Transforms an asset file. */\nasync function transformAsset(\n file: AssetFile,\n context: TransformationContext\n): Promise<TransformResponse> {\n const { assetRegistryPath, assetPlugins } = context.config;\n\n // TODO: Add web asset hashing in production.\n const result = await assetTransformer.transform(\n getBabelTransformArgs(file, context),\n assetRegistryPath,\n assetPlugins\n );\n\n const jsFile: JSFile = {\n ...file,\n type: 'js/module/asset',\n ast: result.ast,\n functionMap: null,\n };\n\n return transformJS(jsFile, context);\n}\n\n/**\n * Transforms a JavaScript file with Babel before processing the file with\n * the generic JavaScript transformation.\n */\nasync function transformJSWithBabel(\n file: JSFile,\n context: TransformationContext\n): Promise<TransformResponse> {\n const { babelTransformerPath } = context.config;\n const transformer: BabelTransformer = require(babelTransformerPath);\n\n const transformResult = await transformer.transform(\n // functionMapBabelPlugin populates metadata.metro.functionMap\n getBabelTransformArgs(file, context, [functionMapBabelPlugin])\n );\n\n const jsFile: JSFile = {\n ...file,\n ast: transformResult.ast,\n functionMap:\n transformResult.metadata?.metro?.functionMap ??\n // Fallback to deprecated explicitly-generated `functionMap`\n transformResult.functionMap ??\n null,\n };\n\n return await transformJS(jsFile, context);\n}\n\nasync function transformJSON(\n file: JSONFile,\n { options, config, projectRoot }: TransformationContext\n): Promise<TransformResponse> {\n let code =\n config.unstable_disableModuleWrapping === true\n ? JsFileWrapping.jsonToCommonJS(file.code)\n : JsFileWrapping.wrapJson(file.code, config.globalPrefix);\n let map: MetroSourceMapSegmentTuple[] = [];\n\n // TODO: When we can reuse transformJS for JSON, we should not derive `minify` separately.\n const minify =\n options.minify &&\n options.unstable_transformProfile !== 'hermes-canary' &&\n options.unstable_transformProfile !== 'hermes-stable';\n\n if (minify) {\n ({ map, code } = await minifyCode(config, projectRoot, file.filename, code, file.code, map));\n }\n\n let jsType: JSFileType;\n\n if (file.type === 'asset') {\n jsType = 'js/module/asset';\n } else if (file.type === 'script') {\n jsType = 'js/script';\n } else {\n jsType = 'js/module';\n }\n\n const output: JsOutput[] = [\n {\n data: { code, lineCount: countLines(code), map, functionMap: null },\n type: jsType,\n },\n ];\n\n return {\n dependencies: [],\n output,\n };\n}\n\nfunction getBabelTransformArgs(\n file: { filename: string; code: string },\n { options, config, projectRoot }: TransformationContext,\n plugins: PluginItem[] = []\n): BabelTransformerArgs {\n const { inlineRequires: _, ...babelTransformerOptions } = options;\n return {\n filename: file.filename,\n options: {\n ...babelTransformerOptions,\n enableBabelRCLookup: config.enableBabelRCLookup,\n enableBabelRuntime: config.enableBabelRuntime,\n hermesParser: config.hermesParser,\n projectRoot,\n publicPath: config.publicPath,\n globalPrefix: config.globalPrefix,\n platform: babelTransformerOptions.platform ?? null,\n },\n plugins,\n src: file.code,\n };\n}\n\nexport async function transform(\n config: JsTransformerConfig,\n projectRoot: string,\n filename: string,\n data: Buffer,\n options: JsTransformOptions\n): Promise<TransformResponse> {\n const context: TransformationContext = {\n config,\n projectRoot,\n options,\n };\n const sourceCode = data.toString('utf8');\n\n const { unstable_dependencyMapReservedName } = config;\n if (unstable_dependencyMapReservedName != null) {\n const position = sourceCode.indexOf(unstable_dependencyMapReservedName);\n if (position > -1) {\n throw new SyntaxError(\n 'Source code contains the reserved string `' +\n unstable_dependencyMapReservedName +\n '` at character offset ' +\n position\n );\n }\n }\n\n if (filename.endsWith('.json')) {\n const jsonFile: JSONFile = {\n filename,\n inputFileSize: data.length,\n code: sourceCode,\n type: options.type,\n };\n\n return transformJSON(jsonFile, context);\n }\n\n if (options.type === 'asset') {\n const file: AssetFile = {\n filename,\n inputFileSize: data.length,\n code: sourceCode,\n type: options.type,\n };\n\n return transformAsset(file, context);\n }\n\n const file: JSFile = {\n filename,\n inputFileSize: data.length,\n code: sourceCode,\n type: options.type === 'script' ? 'js/script' : 'js/module',\n functionMap: null,\n };\n\n return transformJSWithBabel(file, context);\n}\n\nexport function getCacheKey(config: JsTransformerConfig): string {\n const { babelTransformerPath, minifierPath, ...remainingConfig } = config;\n\n const filesKey = getMetroCacheKey([\n require.resolve(babelTransformerPath),\n require.resolve(minifierPath),\n require.resolve('metro-transform-worker/src/utils/getMinifier'),\n require.resolve('./asset-transformer'),\n require.resolve('metro/src/ModuleGraph/worker/generateImportNames'),\n require.resolve('metro/src/ModuleGraph/worker/JsFileWrapping'),\n ...metroTransformPlugins.getTransformPluginCacheKeyFiles(),\n ]);\n\n const babelTransformer = require(babelTransformerPath);\n return [\n filesKey,\n stableHash(remainingConfig).toString('hex'),\n babelTransformer.getCacheKey ? babelTransformer.getCacheKey() : '',\n ].join('$');\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"metro-transform-worker.js","sourceRoot":"","sources":["../../src/transform-worker/metro-transform-worker.ts"],"names":[],"mappings":"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"}
@@ -1,264 +1,207 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getPostcssConfigHash = getPostcssConfigHash;
7
- exports.pluginFactory = pluginFactory;
8
- exports.resolvePostcssConfig = resolvePostcssConfig;
9
- exports.transformPostCssModule = transformPostCssModule;
10
- function _jsonFile() {
11
- const data = _interopRequireDefault(require("@expo/json-file"));
12
- _jsonFile = function () {
13
- return data;
14
- };
15
- return data;
16
- }
17
- function _fs() {
18
- const data = _interopRequireDefault(require("fs"));
19
- _fs = function () {
20
- return data;
21
- };
22
- return data;
23
- }
24
- function _path() {
25
- const data = _interopRequireDefault(require("path"));
26
- _path = function () {
27
- return data;
28
- };
29
- return data;
30
- }
31
- function _resolveFrom() {
32
- const data = _interopRequireDefault(require("resolve-from"));
33
- _resolveFrom = function () {
34
- return data;
35
- };
36
- return data;
37
- }
38
- function _require() {
39
- const data = require("./utils/require");
40
- _require = function () {
41
- return data;
42
- };
43
- return data;
44
- }
45
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getPostcssConfigHash = exports.resolvePostcssConfig = exports.pluginFactory = exports.transformPostCssModule = void 0;
46
7
  /**
47
8
  * Copyright © 2023 650 Industries.
48
9
  * Copyright JS Foundation and other contributors
49
10
  *
50
11
  * https://github.com/webpack-contrib/postcss-loader/
51
12
  */
52
-
13
+ const json_file_1 = __importDefault(require("@expo/json-file"));
14
+ const fs_1 = __importDefault(require("fs"));
15
+ const path_1 = __importDefault(require("path"));
16
+ const resolve_from_1 = __importDefault(require("resolve-from"));
17
+ const require_1 = require("./utils/require");
53
18
  const CONFIG_FILE_NAME = 'postcss.config';
54
19
  const debug = require('debug')('expo:metro:transformer:postcss');
55
- async function transformPostCssModule(projectRoot, {
56
- src,
57
- filename
58
- }) {
59
- const inputConfig = resolvePostcssConfig(projectRoot);
60
- if (!inputConfig) {
20
+ async function transformPostCssModule(projectRoot, { src, filename }) {
21
+ const inputConfig = resolvePostcssConfig(projectRoot);
22
+ if (!inputConfig) {
23
+ return { src, hasPostcss: false };
24
+ }
61
25
  return {
62
- src,
63
- hasPostcss: false
26
+ src: await processWithPostcssInputConfigAsync(projectRoot, {
27
+ inputConfig,
28
+ src,
29
+ filename,
30
+ }),
31
+ hasPostcss: true,
64
32
  };
65
- }
66
- return {
67
- src: await processWithPostcssInputConfigAsync(projectRoot, {
68
- inputConfig,
69
- src,
70
- filename
71
- }),
72
- hasPostcss: true
73
- };
74
33
  }
75
- async function processWithPostcssInputConfigAsync(projectRoot, {
76
- src,
77
- filename,
78
- inputConfig
79
- }) {
80
- const {
81
- plugins,
82
- processOptions
83
- } = await parsePostcssConfigAsync(projectRoot, {
84
- config: inputConfig,
85
- resourcePath: filename
86
- });
87
- debug('options:', processOptions);
88
- debug('plugins:', plugins);
89
-
90
- // TODO: Surely this can be cached...
91
- const postcss = require('postcss');
92
- const processor = postcss.default(plugins);
93
- const {
94
- content
95
- } = await processor.process(src, processOptions);
96
- return content;
34
+ exports.transformPostCssModule = transformPostCssModule;
35
+ async function processWithPostcssInputConfigAsync(projectRoot, { src, filename, inputConfig }) {
36
+ const { plugins, processOptions } = await parsePostcssConfigAsync(projectRoot, {
37
+ config: inputConfig,
38
+ resourcePath: filename,
39
+ });
40
+ debug('options:', processOptions);
41
+ debug('plugins:', plugins);
42
+ // TODO: Surely this can be cached...
43
+ const postcss = require('postcss');
44
+ const processor = postcss.default(plugins);
45
+ const { content } = await processor.process(src, processOptions);
46
+ return content;
97
47
  }
98
- async function parsePostcssConfigAsync(projectRoot, {
99
- resourcePath: file,
100
- config: {
101
- plugins: inputPlugins,
102
- map,
103
- parser,
104
- stringifier,
105
- syntax,
106
- ...config
107
- } = {}
108
- }) {
109
- const factory = pluginFactory();
110
- factory(inputPlugins);
111
- // delete config.plugins;
112
-
113
- const plugins = [...factory()].map(item => {
114
- const [plugin, options] = item;
115
- if (typeof plugin === 'string') {
116
- return loadPlugin(projectRoot, plugin, options, file);
48
+ async function parsePostcssConfigAsync(projectRoot, { resourcePath: file, config: { plugins: inputPlugins, map, parser, stringifier, syntax, ...config } = {}, }) {
49
+ const factory = pluginFactory();
50
+ factory(inputPlugins);
51
+ // delete config.plugins;
52
+ const plugins = [...factory()].map((item) => {
53
+ const [plugin, options] = item;
54
+ if (typeof plugin === 'string') {
55
+ return loadPlugin(projectRoot, plugin, options, file);
56
+ }
57
+ return plugin;
58
+ });
59
+ if (config.from) {
60
+ config.from = path_1.default.resolve(projectRoot, config.from);
117
61
  }
118
- return plugin;
119
- });
120
- if (config.from) {
121
- config.from = _path().default.resolve(projectRoot, config.from);
122
- }
123
- if (config.to) {
124
- config.to = _path().default.resolve(projectRoot, config.to);
125
- }
126
- const processOptions = {
127
- from: file,
128
- to: file,
129
- map: false
130
- };
131
- if (typeof parser === 'string') {
132
- try {
133
- var _resolveFrom$silent;
134
- processOptions.parser = await (0, _require().tryRequireThenImport)((_resolveFrom$silent = _resolveFrom().default.silent(projectRoot, parser)) !== null && _resolveFrom$silent !== void 0 ? _resolveFrom$silent : parser);
135
- } catch (error) {
136
- if (error instanceof Error) {
137
- throw new Error(`Loading PostCSS "${parser}" parser failed: ${error.message}\n\n(@${file})`);
138
- }
139
- throw error;
62
+ if (config.to) {
63
+ config.to = path_1.default.resolve(projectRoot, config.to);
140
64
  }
141
- }
142
- if (typeof stringifier === 'string') {
143
- try {
144
- var _resolveFrom$silent2;
145
- processOptions.stringifier = await (0, _require().tryRequireThenImport)((_resolveFrom$silent2 = _resolveFrom().default.silent(projectRoot, stringifier)) !== null && _resolveFrom$silent2 !== void 0 ? _resolveFrom$silent2 : stringifier);
146
- } catch (error) {
147
- if (error instanceof Error) {
148
- throw new Error(`Loading PostCSS "${stringifier}" stringifier failed: ${error.message}\n\n(@${file})`);
149
- }
150
- throw error;
65
+ const processOptions = {
66
+ from: file,
67
+ to: file,
68
+ map: false,
69
+ };
70
+ if (typeof parser === 'string') {
71
+ try {
72
+ processOptions.parser = await (0, require_1.tryRequireThenImport)(resolve_from_1.default.silent(projectRoot, parser) ?? parser);
73
+ }
74
+ catch (error) {
75
+ if (error instanceof Error) {
76
+ throw new Error(`Loading PostCSS "${parser}" parser failed: ${error.message}\n\n(@${file})`);
77
+ }
78
+ throw error;
79
+ }
151
80
  }
152
- }
153
- if (typeof syntax === 'string') {
154
- try {
155
- var _resolveFrom$silent3;
156
- processOptions.syntax = await (0, _require().tryRequireThenImport)((_resolveFrom$silent3 = _resolveFrom().default.silent(projectRoot, syntax)) !== null && _resolveFrom$silent3 !== void 0 ? _resolveFrom$silent3 : syntax);
157
- } catch (error) {
158
- throw new Error(`Loading PostCSS "${syntax}" syntax failed: ${error.message}\n\n(@${file})`);
81
+ if (typeof stringifier === 'string') {
82
+ try {
83
+ processOptions.stringifier = await (0, require_1.tryRequireThenImport)(resolve_from_1.default.silent(projectRoot, stringifier) ?? stringifier);
84
+ }
85
+ catch (error) {
86
+ if (error instanceof Error) {
87
+ throw new Error(`Loading PostCSS "${stringifier}" stringifier failed: ${error.message}\n\n(@${file})`);
88
+ }
89
+ throw error;
90
+ }
159
91
  }
160
- }
161
- if (map === true) {
162
- // https://github.com/postcss/postcss/blob/master/docs/source-maps.md
163
- processOptions.map = {
164
- inline: true
165
- };
166
- }
167
- return {
168
- plugins,
169
- processOptions
170
- };
92
+ if (typeof syntax === 'string') {
93
+ try {
94
+ processOptions.syntax = await (0, require_1.tryRequireThenImport)(resolve_from_1.default.silent(projectRoot, syntax) ?? syntax);
95
+ }
96
+ catch (error) {
97
+ throw new Error(`Loading PostCSS "${syntax}" syntax failed: ${error.message}\n\n(@${file})`);
98
+ }
99
+ }
100
+ if (map === true) {
101
+ // https://github.com/postcss/postcss/blob/master/docs/source-maps.md
102
+ processOptions.map = { inline: true };
103
+ }
104
+ return { plugins, processOptions };
171
105
  }
172
106
  function loadPlugin(projectRoot, plugin, options, file) {
173
- try {
174
- debug('load plugin:', plugin);
175
-
176
- // e.g. `tailwindcss`
177
- let loadedPlugin = require((0, _resolveFrom().default)(projectRoot, plugin));
178
- if (loadedPlugin.default) {
179
- loadedPlugin = loadedPlugin.default;
180
- }
181
- if (!options || !Object.keys(options).length) {
182
- return loadedPlugin;
107
+ try {
108
+ debug('load plugin:', plugin);
109
+ // e.g. `tailwindcss`
110
+ let loadedPlugin = require((0, resolve_from_1.default)(projectRoot, plugin));
111
+ if (loadedPlugin.default) {
112
+ loadedPlugin = loadedPlugin.default;
113
+ }
114
+ if (!options || !Object.keys(options).length) {
115
+ return loadedPlugin;
116
+ }
117
+ return loadedPlugin(options);
183
118
  }
184
- return loadedPlugin(options);
185
- } catch (error) {
186
- if (error instanceof Error) {
187
- throw new Error(`Loading PostCSS "${plugin}" plugin failed: ${error.message}\n\n(@${file})`);
119
+ catch (error) {
120
+ if (error instanceof Error) {
121
+ throw new Error(`Loading PostCSS "${plugin}" plugin failed: ${error.message}\n\n(@${file})`);
122
+ }
123
+ throw error;
188
124
  }
189
- throw error;
190
- }
191
125
  }
192
126
  function pluginFactory() {
193
- const listOfPlugins = new Map();
194
- return plugins => {
195
- if (typeof plugins === 'undefined') {
196
- return listOfPlugins;
197
- }
198
- if (Array.isArray(plugins)) {
199
- for (const plugin of plugins) {
200
- if (Array.isArray(plugin)) {
201
- const [name, options] = plugin;
202
- if (typeof name !== 'string') {
203
- throw new Error(`PostCSS plugin must be a string, but "${name}" was found. Please check your configuration.`);
204
- }
205
- listOfPlugins.set(name, options);
206
- } else if (plugin && typeof plugin === 'function') {
207
- listOfPlugins.set(plugin, undefined);
208
- } else if (plugin && Object.keys(plugin).length === 1 && (typeof plugin[Object.keys(plugin)[0]] === 'object' || typeof plugin[Object.keys(plugin)[0]] === 'boolean') && plugin[Object.keys(plugin)[0]] !== null) {
209
- const [name] = Object.keys(plugin);
210
- const options = plugin[name];
211
- if (options === false) {
212
- listOfPlugins.delete(name);
213
- } else {
214
- listOfPlugins.set(name, options);
215
- }
216
- } else if (plugin) {
217
- listOfPlugins.set(plugin, undefined);
127
+ const listOfPlugins = new Map();
128
+ return (plugins) => {
129
+ if (typeof plugins === 'undefined') {
130
+ return listOfPlugins;
218
131
  }
219
- }
220
- } else {
221
- const objectPlugins = Object.entries(plugins);
222
- for (const [name, options] of objectPlugins) {
223
- if (options === false) {
224
- listOfPlugins.delete(name);
225
- } else {
226
- listOfPlugins.set(name, options);
132
+ if (Array.isArray(plugins)) {
133
+ for (const plugin of plugins) {
134
+ if (Array.isArray(plugin)) {
135
+ const [name, options] = plugin;
136
+ if (typeof name !== 'string') {
137
+ throw new Error(`PostCSS plugin must be a string, but "${name}" was found. Please check your configuration.`);
138
+ }
139
+ listOfPlugins.set(name, options);
140
+ }
141
+ else if (plugin && typeof plugin === 'function') {
142
+ listOfPlugins.set(plugin, undefined);
143
+ }
144
+ else if (plugin &&
145
+ Object.keys(plugin).length === 1 &&
146
+ (typeof plugin[Object.keys(plugin)[0]] === 'object' ||
147
+ typeof plugin[Object.keys(plugin)[0]] === 'boolean') &&
148
+ plugin[Object.keys(plugin)[0]] !== null) {
149
+ const [name] = Object.keys(plugin);
150
+ const options = plugin[name];
151
+ if (options === false) {
152
+ listOfPlugins.delete(name);
153
+ }
154
+ else {
155
+ listOfPlugins.set(name, options);
156
+ }
157
+ }
158
+ else if (plugin) {
159
+ listOfPlugins.set(plugin, undefined);
160
+ }
161
+ }
227
162
  }
228
- }
229
- }
230
- return listOfPlugins;
231
- };
163
+ else {
164
+ const objectPlugins = Object.entries(plugins);
165
+ for (const [name, options] of objectPlugins) {
166
+ if (options === false) {
167
+ listOfPlugins.delete(name);
168
+ }
169
+ else {
170
+ listOfPlugins.set(name, options);
171
+ }
172
+ }
173
+ }
174
+ return listOfPlugins;
175
+ };
232
176
  }
177
+ exports.pluginFactory = pluginFactory;
233
178
  function resolvePostcssConfig(projectRoot) {
234
- // TODO: Maybe support platform-specific postcss config files in the future.
235
- const jsConfigPath = _path().default.join(projectRoot, CONFIG_FILE_NAME + '.js');
236
- if (_fs().default.existsSync(jsConfigPath)) {
237
- debug('load file:', jsConfigPath);
238
- return (0, _require().requireUncachedFile)(jsConfigPath);
239
- }
240
- const jsonConfigPath = _path().default.join(projectRoot, CONFIG_FILE_NAME + '.json');
241
- if (_fs().default.existsSync(jsonConfigPath)) {
242
- debug('load file:', jsonConfigPath);
243
- return _jsonFile().default.read(jsonConfigPath, {
244
- json5: true
245
- });
246
- }
247
- return null;
179
+ // TODO: Maybe support platform-specific postcss config files in the future.
180
+ const jsConfigPath = path_1.default.join(projectRoot, CONFIG_FILE_NAME + '.js');
181
+ if (fs_1.default.existsSync(jsConfigPath)) {
182
+ debug('load file:', jsConfigPath);
183
+ return (0, require_1.requireUncachedFile)(jsConfigPath);
184
+ }
185
+ const jsonConfigPath = path_1.default.join(projectRoot, CONFIG_FILE_NAME + '.json');
186
+ if (fs_1.default.existsSync(jsonConfigPath)) {
187
+ debug('load file:', jsonConfigPath);
188
+ return json_file_1.default.read(jsonConfigPath, { json5: true });
189
+ }
190
+ return null;
248
191
  }
192
+ exports.resolvePostcssConfig = resolvePostcssConfig;
249
193
  function getPostcssConfigHash(projectRoot) {
250
- // TODO: Maybe recurse plugins and add versions to the hash in the future.
251
- const {
252
- stableHash
253
- } = require('metro-cache');
254
- const jsConfigPath = _path().default.join(projectRoot, CONFIG_FILE_NAME + '.js');
255
- if (_fs().default.existsSync(jsConfigPath)) {
256
- return stableHash(_fs().default.readFileSync(jsConfigPath, 'utf8')).toString('hex');
257
- }
258
- const jsonConfigPath = _path().default.join(projectRoot, CONFIG_FILE_NAME + '.json');
259
- if (_fs().default.existsSync(jsonConfigPath)) {
260
- return stableHash(_fs().default.readFileSync(jsonConfigPath, 'utf8')).toString('hex');
261
- }
262
- return null;
194
+ // TODO: Maybe recurse plugins and add versions to the hash in the future.
195
+ const { stableHash } = require('metro-cache');
196
+ const jsConfigPath = path_1.default.join(projectRoot, CONFIG_FILE_NAME + '.js');
197
+ if (fs_1.default.existsSync(jsConfigPath)) {
198
+ return stableHash(fs_1.default.readFileSync(jsConfigPath, 'utf8')).toString('hex');
199
+ }
200
+ const jsonConfigPath = path_1.default.join(projectRoot, CONFIG_FILE_NAME + '.json');
201
+ if (fs_1.default.existsSync(jsonConfigPath)) {
202
+ return stableHash(fs_1.default.readFileSync(jsonConfigPath, 'utf8')).toString('hex');
203
+ }
204
+ return null;
263
205
  }
206
+ exports.getPostcssConfigHash = getPostcssConfigHash;
264
207
  //# sourceMappingURL=postcss.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"postcss.js","names":["_jsonFile","data","_interopRequireDefault","require","_fs","_path","_resolveFrom","_require","obj","__esModule","default","CONFIG_FILE_NAME","debug","transformPostCssModule","projectRoot","src","filename","inputConfig","resolvePostcssConfig","hasPostcss","processWithPostcssInputConfigAsync","plugins","processOptions","parsePostcssConfigAsync","config","resourcePath","postcss","processor","content","process","file","inputPlugins","map","parser","stringifier","syntax","factory","pluginFactory","item","plugin","options","loadPlugin","from","path","resolve","to","_resolveFrom$silent","tryRequireThenImport","resolveFrom","silent","error","Error","message","_resolveFrom$silent2","_resolveFrom$silent3","inline","loadedPlugin","Object","keys","length","listOfPlugins","Map","Array","isArray","name","set","undefined","delete","objectPlugins","entries","jsConfigPath","join","fs","existsSync","requireUncachedFile","jsonConfigPath","JsonFile","read","json5","getPostcssConfigHash","stableHash","readFileSync","toString"],"sources":["../../src/transform-worker/postcss.ts"],"sourcesContent":["/**\n * Copyright © 2023 650 Industries.\n * Copyright JS Foundation and other contributors\n *\n * https://github.com/webpack-contrib/postcss-loader/\n */\nimport JsonFile from '@expo/json-file';\nimport fs from 'fs';\nimport path from 'path';\nimport type { AcceptedPlugin, ProcessOptions } from 'postcss';\nimport resolveFrom from 'resolve-from';\n\nimport { requireUncachedFile, tryRequireThenImport } from './utils/require';\n\ntype PostCSSInputConfig = {\n plugins?: any[];\n from?: string;\n to?: string;\n syntax?: string;\n map?: boolean;\n parser?: string;\n stringifier?: string;\n};\n\nconst CONFIG_FILE_NAME = 'postcss.config';\n\nconst debug = require('debug')('expo:metro:transformer:postcss');\n\nexport async function transformPostCssModule(\n projectRoot: string,\n { src, filename }: { src: string; filename: string }\n): Promise<{ src: string; hasPostcss: boolean }> {\n const inputConfig = resolvePostcssConfig(projectRoot);\n\n if (!inputConfig) {\n return { src, hasPostcss: false };\n }\n\n return {\n src: await processWithPostcssInputConfigAsync(projectRoot, {\n inputConfig,\n src,\n filename,\n }),\n hasPostcss: true,\n };\n}\n\nasync function processWithPostcssInputConfigAsync(\n projectRoot: string,\n { src, filename, inputConfig }: { src: string; filename: string; inputConfig: PostCSSInputConfig }\n) {\n const { plugins, processOptions } = await parsePostcssConfigAsync(projectRoot, {\n config: inputConfig,\n resourcePath: filename,\n });\n\n debug('options:', processOptions);\n debug('plugins:', plugins);\n\n // TODO: Surely this can be cached...\n const postcss = require('postcss') as typeof import('postcss');\n\n const processor = postcss.default(plugins);\n const { content } = await processor.process(src, processOptions);\n\n return content;\n}\n\nasync function parsePostcssConfigAsync(\n projectRoot: string,\n {\n resourcePath: file,\n config: { plugins: inputPlugins, map, parser, stringifier, syntax, ...config } = {},\n }: {\n resourcePath: string;\n config: PostCSSInputConfig;\n }\n): Promise<{ plugins: AcceptedPlugin[]; processOptions: ProcessOptions }> {\n const factory = pluginFactory();\n\n factory(inputPlugins);\n // delete config.plugins;\n\n const plugins = [...factory()].map((item) => {\n const [plugin, options] = item;\n\n if (typeof plugin === 'string') {\n return loadPlugin(projectRoot, plugin, options, file);\n }\n\n return plugin;\n });\n\n if (config.from) {\n config.from = path.resolve(projectRoot, config.from);\n }\n\n if (config.to) {\n config.to = path.resolve(projectRoot, config.to);\n }\n\n const processOptions: Partial<ProcessOptions> = {\n from: file,\n to: file,\n map: false,\n };\n\n if (typeof parser === 'string') {\n try {\n processOptions.parser = await tryRequireThenImport(\n resolveFrom.silent(projectRoot, parser) ?? parser\n );\n } catch (error: unknown) {\n if (error instanceof Error) {\n throw new Error(\n `Loading PostCSS \"${parser}\" parser failed: ${error.message}\\n\\n(@${file})`\n );\n }\n throw error;\n }\n }\n\n if (typeof stringifier === 'string') {\n try {\n processOptions.stringifier = await tryRequireThenImport(\n resolveFrom.silent(projectRoot, stringifier) ?? stringifier\n );\n } catch (error: unknown) {\n if (error instanceof Error) {\n throw new Error(\n `Loading PostCSS \"${stringifier}\" stringifier failed: ${error.message}\\n\\n(@${file})`\n );\n }\n throw error;\n }\n }\n\n if (typeof syntax === 'string') {\n try {\n processOptions.syntax = await tryRequireThenImport(\n resolveFrom.silent(projectRoot, syntax) ?? syntax\n );\n } catch (error: any) {\n throw new Error(`Loading PostCSS \"${syntax}\" syntax failed: ${error.message}\\n\\n(@${file})`);\n }\n }\n\n if (map === true) {\n // https://github.com/postcss/postcss/blob/master/docs/source-maps.md\n processOptions.map = { inline: true };\n }\n\n return { plugins, processOptions };\n}\n\nfunction loadPlugin(projectRoot: string, plugin: string, options: unknown, file: string) {\n try {\n debug('load plugin:', plugin);\n\n // e.g. `tailwindcss`\n let loadedPlugin = require(resolveFrom(projectRoot, plugin));\n\n if (loadedPlugin.default) {\n loadedPlugin = loadedPlugin.default;\n }\n\n if (!options || !Object.keys(options).length) {\n return loadedPlugin;\n }\n\n return loadedPlugin(options);\n } catch (error: unknown) {\n if (error instanceof Error) {\n throw new Error(`Loading PostCSS \"${plugin}\" plugin failed: ${error.message}\\n\\n(@${file})`);\n }\n throw error;\n }\n}\n\nexport function pluginFactory() {\n const listOfPlugins = new Map<string, any>();\n\n return (plugins?: any) => {\n if (typeof plugins === 'undefined') {\n return listOfPlugins;\n }\n\n if (Array.isArray(plugins)) {\n for (const plugin of plugins) {\n if (Array.isArray(plugin)) {\n const [name, options] = plugin;\n\n if (typeof name !== 'string') {\n throw new Error(\n `PostCSS plugin must be a string, but \"${name}\" was found. Please check your configuration.`\n );\n }\n\n listOfPlugins.set(name, options);\n } else if (plugin && typeof plugin === 'function') {\n listOfPlugins.set(plugin, undefined);\n } else if (\n plugin &&\n Object.keys(plugin).length === 1 &&\n (typeof plugin[Object.keys(plugin)[0]] === 'object' ||\n typeof plugin[Object.keys(plugin)[0]] === 'boolean') &&\n plugin[Object.keys(plugin)[0]] !== null\n ) {\n const [name] = Object.keys(plugin);\n const options = plugin[name];\n\n if (options === false) {\n listOfPlugins.delete(name);\n } else {\n listOfPlugins.set(name, options);\n }\n } else if (plugin) {\n listOfPlugins.set(plugin, undefined);\n }\n }\n } else {\n const objectPlugins = Object.entries(plugins);\n\n for (const [name, options] of objectPlugins) {\n if (options === false) {\n listOfPlugins.delete(name);\n } else {\n listOfPlugins.set(name, options);\n }\n }\n }\n\n return listOfPlugins;\n };\n}\n\nexport function resolvePostcssConfig(projectRoot: string): PostCSSInputConfig | null {\n // TODO: Maybe support platform-specific postcss config files in the future.\n const jsConfigPath = path.join(projectRoot, CONFIG_FILE_NAME + '.js');\n\n if (fs.existsSync(jsConfigPath)) {\n debug('load file:', jsConfigPath);\n return requireUncachedFile(jsConfigPath);\n }\n\n const jsonConfigPath = path.join(projectRoot, CONFIG_FILE_NAME + '.json');\n\n if (fs.existsSync(jsonConfigPath)) {\n debug('load file:', jsonConfigPath);\n return JsonFile.read(jsonConfigPath, { json5: true });\n }\n\n return null;\n}\n\nexport function getPostcssConfigHash(projectRoot: string): string | null {\n // TODO: Maybe recurse plugins and add versions to the hash in the future.\n const { stableHash } = require('metro-cache');\n\n const jsConfigPath = path.join(projectRoot, CONFIG_FILE_NAME + '.js');\n if (fs.existsSync(jsConfigPath)) {\n return stableHash(fs.readFileSync(jsConfigPath, 'utf8')).toString('hex');\n }\n\n const jsonConfigPath = path.join(projectRoot, CONFIG_FILE_NAME + '.json');\n if (fs.existsSync(jsonConfigPath)) {\n return stableHash(fs.readFileSync(jsonConfigPath, 'utf8')).toString('hex');\n }\n return null;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"postcss.js","sourceRoot":"","sources":["../../src/transform-worker/postcss.ts"],"names":[],"mappings":"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"}