@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,49 +1,41 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.compileSass = compileSass;
7
- exports.matchSass = matchSass;
8
- function _resolveFrom() {
9
- const data = _interopRequireDefault(require("resolve-from"));
10
- _resolveFrom = function () {
11
- return data;
12
- };
13
- return data;
14
- }
15
- 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.compileSass = exports.matchSass = void 0;
7
+ const resolve_from_1 = __importDefault(require("resolve-from"));
16
8
  let sassInstance = null;
17
9
  function getSassInstance(projectRoot) {
18
- if (!sassInstance) {
19
- const sassPath = _resolveFrom().default.silent(projectRoot, 'sass');
20
- if (!sassPath) {
21
- throw new Error(`Cannot parse Sass files without the module 'sass' installed. Run 'yarn add sass' and try again.`);
10
+ if (!sassInstance) {
11
+ const sassPath = resolve_from_1.default.silent(projectRoot, 'sass');
12
+ if (!sassPath) {
13
+ throw new Error(`Cannot parse Sass files without the module 'sass' installed. Run 'yarn add sass' and try again.`);
14
+ }
15
+ sassInstance = require(sassPath);
22
16
  }
23
- sassInstance = require(sassPath);
24
- }
25
- return sassInstance;
17
+ return sassInstance;
26
18
  }
27
19
  function matchSass(filename) {
28
- if (filename.endsWith('.sass')) {
29
- return 'indented';
30
- } else if (filename.endsWith('.scss')) {
31
- return 'scss';
32
- }
33
- return null;
20
+ if (filename.endsWith('.sass')) {
21
+ return 'indented';
22
+ }
23
+ else if (filename.endsWith('.scss')) {
24
+ return 'scss';
25
+ }
26
+ return null;
34
27
  }
35
- function compileSass(projectRoot, {
36
- filename,
37
- src
38
- },
28
+ exports.matchSass = matchSass;
29
+ function compileSass(projectRoot, { filename, src },
39
30
  // TODO: Expose to users somehow...
40
31
  options) {
41
- const sass = getSassInstance(projectRoot);
42
- const result = sass.compileString(src, options);
43
- return {
44
- src: result.css,
45
- // TODO: Should we use this? Leaning towards no since the CSS will be parsed again by the CSS loader.
46
- map: result.sourceMap
47
- };
32
+ const sass = getSassInstance(projectRoot);
33
+ const result = sass.compileString(src, options);
34
+ return {
35
+ src: result.css,
36
+ // TODO: Should we use this? Leaning towards no since the CSS will be parsed again by the CSS loader.
37
+ map: result.sourceMap,
38
+ };
48
39
  }
40
+ exports.compileSass = compileSass;
49
41
  //# sourceMappingURL=sass.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sass.js","names":["_resolveFrom","data","_interopRequireDefault","require","obj","__esModule","default","sassInstance","getSassInstance","projectRoot","sassPath","resolveFrom","silent","Error","matchSass","filename","endsWith","compileSass","src","options","sass","result","compileString","css","map","sourceMap"],"sources":["../../src/transform-worker/sass.ts"],"sourcesContent":["import resolveFrom from 'resolve-from';\n\nlet sassInstance: typeof import('sass') | null = null;\n\nfunction getSassInstance(projectRoot: string) {\n if (!sassInstance) {\n const sassPath = resolveFrom.silent(projectRoot, 'sass');\n\n if (!sassPath) {\n throw new Error(\n `Cannot parse Sass files without the module 'sass' installed. Run 'yarn add sass' and try again.`\n );\n }\n\n sassInstance = require(sassPath) as typeof import('sass');\n }\n\n return sassInstance;\n}\n\nexport function matchSass(filename: string): import('sass').Syntax | null {\n if (filename.endsWith('.sass')) {\n return 'indented';\n } else if (filename.endsWith('.scss')) {\n return 'scss';\n }\n return null;\n}\n\nexport function compileSass(\n projectRoot: string,\n { filename, src }: { filename: string; src: string },\n // TODO: Expose to users somehow...\n options?: Partial<import('sass').StringOptions<'sync'>>\n) {\n const sass = getSassInstance(projectRoot);\n const result = sass.compileString(src, options);\n return {\n src: result.css,\n // TODO: Should we use this? Leaning towards no since the CSS will be parsed again by the CSS loader.\n map: result.sourceMap,\n };\n}\n"],"mappings":";;;;;;;AAAA,SAAAA,aAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,YAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAuC,SAAAC,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEvC,IAAIG,YAA0C,GAAG,IAAI;AAErD,SAASC,eAAeA,CAACC,WAAmB,EAAE;EAC5C,IAAI,CAACF,YAAY,EAAE;IACjB,MAAMG,QAAQ,GAAGC,sBAAW,CAACC,MAAM,CAACH,WAAW,EAAE,MAAM,CAAC;IAExD,IAAI,CAACC,QAAQ,EAAE;MACb,MAAM,IAAIG,KAAK,CACZ,iGACH,CAAC;IACH;IAEAN,YAAY,GAAGJ,OAAO,CAACO,QAAQ,CAA0B;EAC3D;EAEA,OAAOH,YAAY;AACrB;AAEO,SAASO,SAASA,CAACC,QAAgB,EAAgC;EACxE,IAAIA,QAAQ,CAACC,QAAQ,CAAC,OAAO,CAAC,EAAE;IAC9B,OAAO,UAAU;EACnB,CAAC,MAAM,IAAID,QAAQ,CAACC,QAAQ,CAAC,OAAO,CAAC,EAAE;IACrC,OAAO,MAAM;EACf;EACA,OAAO,IAAI;AACb;AAEO,SAASC,WAAWA,CACzBR,WAAmB,EACnB;EAAEM,QAAQ;EAAEG;AAAuC,CAAC;AACpD;AACAC,OAAuD,EACvD;EACA,MAAMC,IAAI,GAAGZ,eAAe,CAACC,WAAW,CAAC;EACzC,MAAMY,MAAM,GAAGD,IAAI,CAACE,aAAa,CAACJ,GAAG,EAAEC,OAAO,CAAC;EAC/C,OAAO;IACLD,GAAG,EAAEG,MAAM,CAACE,GAAG;IACf;IACAC,GAAG,EAAEH,MAAM,CAACI;EACd,CAAC;AACH"}
1
+ {"version":3,"file":"sass.js","sourceRoot":"","sources":["../../src/transform-worker/sass.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAuC;AAEvC,IAAI,YAAY,GAAiC,IAAI,CAAC;AAEtD,SAAS,eAAe,CAAC,WAAmB;IAC1C,IAAI,CAAC,YAAY,EAAE;QACjB,MAAM,QAAQ,GAAG,sBAAW,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAEzD,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,KAAK,CACb,iGAAiG,CAClG,CAAC;SACH;QAED,YAAY,GAAG,OAAO,CAAC,QAAQ,CAA0B,CAAC;KAC3D;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAgB,SAAS,CAAC,QAAgB;IACxC,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;QAC9B,OAAO,UAAU,CAAC;KACnB;SAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;QACrC,OAAO,MAAM,CAAC;KACf;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAPD,8BAOC;AAED,SAAgB,WAAW,CACzB,WAAmB,EACnB,EAAE,QAAQ,EAAE,GAAG,EAAqC;AACpD,mCAAmC;AACnC,OAAuD;IAEvD,MAAM,IAAI,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAChD,OAAO;QACL,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,qGAAqG;QACrG,GAAG,EAAE,MAAM,CAAC,SAAS;KACtB,CAAC;AACJ,CAAC;AAbD,kCAaC"}
@@ -1,54 +1,32 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
5
17
  });
6
- exports.transform = transform;
7
- function _countLines() {
8
- const data = _interopRequireDefault(require("metro/src/lib/countLines"));
9
- _countLines = function () {
10
- return data;
11
- };
12
- return data;
13
- }
14
- function _css() {
15
- const data = require("./css");
16
- _css = function () {
17
- return data;
18
- };
19
- return data;
20
- }
21
- function _cssModules() {
22
- const data = require("./css-modules");
23
- _cssModules = function () {
24
- return data;
25
- };
26
- return data;
27
- }
28
- function worker() {
29
- const data = _interopRequireWildcard(require("./metro-transform-worker"));
30
- worker = function () {
31
- return data;
32
- };
33
- return data;
34
- }
35
- function _postcss() {
36
- const data = require("./postcss");
37
- _postcss = function () {
38
- return data;
39
- };
40
- return data;
41
- }
42
- function _sass() {
43
- const data = require("./sass");
44
- _sass = function () {
45
- return data;
46
- };
47
- return data;
48
- }
49
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
50
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
51
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.transform = void 0;
52
30
  /**
53
31
  * Copyright 2023-present 650 Industries (Expo). All rights reserved.
54
32
  * Copyright (c) Meta Platforms, Inc. and affiliates.
@@ -56,151 +34,141 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
56
34
  * This source code is licensed under the MIT license found in the
57
35
  * LICENSE file in the root directory of this source tree.
58
36
  */
59
-
37
+ const countLines_1 = __importDefault(require("metro/src/lib/countLines"));
38
+ const css_1 = require("./css");
39
+ const css_modules_1 = require("./css-modules");
40
+ const worker = __importStar(require("./metro-transform-worker"));
41
+ const postcss_1 = require("./postcss");
42
+ const sass_1 = require("./sass");
60
43
  async function transform(config, projectRoot, filename, data, options) {
61
- const isCss = options.type !== 'asset' && /\.(s?css|sass)$/.test(filename);
62
- // If the file is not CSS, then use the default behavior.
63
- if (!isCss) {
64
- var _options$customTransf;
65
- const environment = (_options$customTransf = options.customTransformOptions) === null || _options$customTransf === void 0 ? void 0 : _options$customTransf.environment;
66
- if (environment !== 'node' && (
67
- // TODO: Ensure this works with windows.
68
- filename.match(new RegExp(`^app/\\+html(\\.${options.platform})?\\.([tj]sx?|[cm]js)?$`)) ||
69
- // Strip +api files.
70
- filename.match(/\+api(\.(native|ios|android|web))?\.[tj]sx?$/))) {
71
- // Remove the server-only +html file and API Routes from the bundle when bundling for a client environment.
72
- return worker().transform(config, projectRoot, filename, !options.minify ? Buffer.from(
73
- // Use a string so this notice is visible in the bundle if the user is
74
- // looking for it.
75
- '"> The server-only file was removed from the client JS bundle by Expo CLI."') : Buffer.from(''), options);
44
+ const isCss = options.type !== 'asset' && /\.(s?css|sass)$/.test(filename);
45
+ // If the file is not CSS, then use the default behavior.
46
+ if (!isCss) {
47
+ const environment = options.customTransformOptions?.environment;
48
+ if (environment !== 'node' &&
49
+ // TODO: Ensure this works with windows.
50
+ (filename.match(new RegExp(`^app/\\+html(\\.${options.platform})?\\.([tj]sx?|[cm]js)?$`)) ||
51
+ // Strip +api files.
52
+ filename.match(/\+api(\.(native|ios|android|web))?\.[tj]sx?$/))) {
53
+ // Remove the server-only +html file and API Routes from the bundle when bundling for a client environment.
54
+ return worker.transform(config, projectRoot, filename, !options.minify
55
+ ? Buffer.from(
56
+ // Use a string so this notice is visible in the bundle if the user is
57
+ // looking for it.
58
+ '"> The server-only file was removed from the client JS bundle by Expo CLI."')
59
+ : Buffer.from(''), options);
60
+ }
61
+ if (environment !== 'node' &&
62
+ !filename.match(/\/node_modules\//) &&
63
+ filename.match(/\+api(\.(native|ios|android|web))?\.[tj]sx?$/)) {
64
+ // Clear the contents of +api files when bundling for the client.
65
+ // This ensures that the client doesn't accidentally use the server-only +api files.
66
+ return worker.transform(config, projectRoot, filename, Buffer.from(''), options);
67
+ }
68
+ return worker.transform(config, projectRoot, filename, data, options);
69
+ }
70
+ // If the platform is not web, then return an empty module.
71
+ if (options.platform !== 'web') {
72
+ const code = (0, css_modules_1.matchCssModule)(filename) ? 'module.exports={ unstable_styles: {} };' : '';
73
+ return worker.transform(config, projectRoot, filename,
74
+ // TODO: Native CSS Modules
75
+ Buffer.from(code), options);
76
+ }
77
+ let code = data.toString('utf8');
78
+ // Apply postcss transforms
79
+ const postcssResults = await (0, postcss_1.transformPostCssModule)(projectRoot, {
80
+ src: code,
81
+ filename,
82
+ });
83
+ if (postcssResults.hasPostcss) {
84
+ code = postcssResults.src;
76
85
  }
77
- if (environment !== 'node' && !filename.match(/\/node_modules\//) && filename.match(/\+api(\.(native|ios|android|web))?\.[tj]sx?$/)) {
78
- // Clear the contents of +api files when bundling for the client.
79
- // This ensures that the client doesn't accidentally use the server-only +api files.
80
- return worker().transform(config, projectRoot, filename, Buffer.from(''), options);
86
+ // TODO: When native has CSS support, this will need to move higher up.
87
+ const syntax = (0, sass_1.matchSass)(filename);
88
+ if (syntax) {
89
+ code = (0, sass_1.compileSass)(projectRoot, { filename, src: code }, { syntax }).src;
81
90
  }
82
- return worker().transform(config, projectRoot, filename, data, options);
83
- }
84
-
85
- // If the platform is not web, then return an empty module.
86
- if (options.platform !== 'web') {
87
- const code = (0, _cssModules().matchCssModule)(filename) ? 'module.exports={ unstable_styles: {} };' : '';
88
- return worker().transform(config, projectRoot, filename,
89
- // TODO: Native CSS Modules
90
- Buffer.from(code), options);
91
- }
92
- let code = data.toString('utf8');
93
-
94
- // Apply postcss transforms
95
- const postcssResults = await (0, _postcss().transformPostCssModule)(projectRoot, {
96
- src: code,
97
- filename
98
- });
99
- if (postcssResults.hasPostcss) {
100
- code = postcssResults.src;
101
- }
102
-
103
- // TODO: When native has CSS support, this will need to move higher up.
104
- const syntax = (0, _sass().matchSass)(filename);
105
- if (syntax) {
106
- code = (0, _sass().compileSass)(projectRoot, {
107
- filename,
108
- src: code
109
- }, {
110
- syntax
111
- }).src;
112
- }
113
-
114
- // If the file is a CSS Module, then transform it to a JS module
115
- // in development and a static CSS file in production.
116
- if ((0, _cssModules().matchCssModule)(filename)) {
117
- var _jsModuleResults$outp;
118
- const results = await (0, _cssModules().transformCssModuleWeb)({
119
- filename,
120
- src: code,
121
- options: {
91
+ // If the file is a CSS Module, then transform it to a JS module
92
+ // in development and a static CSS file in production.
93
+ if ((0, css_modules_1.matchCssModule)(filename)) {
94
+ const results = await (0, css_modules_1.transformCssModuleWeb)({
95
+ filename,
96
+ src: code,
97
+ options: {
98
+ projectRoot,
99
+ dev: options.dev,
100
+ minify: options.minify,
101
+ sourceMap: false,
102
+ },
103
+ });
104
+ const jsModuleResults = await worker.transform(config, projectRoot, filename, Buffer.from(results.output), options);
105
+ const cssCode = results.css.toString();
106
+ const output = [
107
+ {
108
+ type: 'js/module',
109
+ data: {
110
+ ...jsModuleResults.output[0]?.data,
111
+ // Append additional css metadata for static extraction.
112
+ css: {
113
+ code: cssCode,
114
+ lineCount: (0, countLines_1.default)(cssCode),
115
+ map: [],
116
+ functionMap: null,
117
+ },
118
+ },
119
+ },
120
+ ];
121
+ return {
122
+ dependencies: jsModuleResults.dependencies,
123
+ output,
124
+ };
125
+ }
126
+ // Global CSS:
127
+ const { transform } = require('lightningcss');
128
+ // TODO: Add bundling to resolve imports
129
+ // https://lightningcss.dev/bundling.html#bundling-order
130
+ const cssResults = transform({
131
+ filename,
132
+ code: Buffer.from(code),
133
+ sourceMap: false,
134
+ cssModules: false,
122
135
  projectRoot,
123
- dev: options.dev,
124
136
  minify: options.minify,
125
- sourceMap: false
126
- }
127
137
  });
128
- const jsModuleResults = await worker().transform(config, projectRoot, filename, Buffer.from(results.output), options);
129
- const cssCode = results.css.toString();
130
- const output = [{
131
- type: 'js/module',
132
- data: {
133
- ...((_jsModuleResults$outp = jsModuleResults.output[0]) === null || _jsModuleResults$outp === void 0 ? void 0 : _jsModuleResults$outp.data),
134
- // Append additional css metadata for static extraction.
135
- css: {
136
- code: cssCode,
137
- lineCount: (0, _countLines().default)(cssCode),
138
- map: [],
139
- functionMap: null
140
- }
141
- }
142
- }];
138
+ // TODO: Warnings:
139
+ // cssResults.warnings.forEach((warning) => {
140
+ // });
141
+ // Create a mock JS module that exports an empty object,
142
+ // this ensures Metro dependency graph is correct.
143
+ const jsModuleResults = await worker.transform(config, projectRoot, filename, options.dev ? Buffer.from((0, css_1.wrapDevelopmentCSS)({ src: code, filename })) : Buffer.from(''), options);
144
+ const cssCode = cssResults.code.toString();
145
+ // In production, we export the CSS as a string and use a special type to prevent
146
+ // it from being included in the JS bundle. We'll extract the CSS like an asset later
147
+ // and append it to the HTML bundle.
148
+ const output = [
149
+ {
150
+ type: 'js/module',
151
+ data: {
152
+ ...jsModuleResults.output[0].data,
153
+ // Append additional css metadata for static extraction.
154
+ css: {
155
+ code: cssCode,
156
+ lineCount: (0, countLines_1.default)(cssCode),
157
+ map: [],
158
+ functionMap: null,
159
+ // Disable caching for CSS files when postcss is enabled and has been run on the file.
160
+ // This ensures that things like tailwind can update on every change.
161
+ skipCache: postcssResults.hasPostcss,
162
+ },
163
+ },
164
+ },
165
+ ];
143
166
  return {
144
- dependencies: jsModuleResults.dependencies,
145
- output
167
+ dependencies: jsModuleResults.dependencies,
168
+ output,
146
169
  };
147
- }
148
-
149
- // Global CSS:
150
-
151
- const {
152
- transform
153
- } = require('lightningcss');
154
-
155
- // TODO: Add bundling to resolve imports
156
- // https://lightningcss.dev/bundling.html#bundling-order
157
-
158
- const cssResults = transform({
159
- filename,
160
- code: Buffer.from(code),
161
- sourceMap: false,
162
- cssModules: false,
163
- projectRoot,
164
- minify: options.minify
165
- });
166
-
167
- // TODO: Warnings:
168
- // cssResults.warnings.forEach((warning) => {
169
- // });
170
-
171
- // Create a mock JS module that exports an empty object,
172
- // this ensures Metro dependency graph is correct.
173
- const jsModuleResults = await worker().transform(config, projectRoot, filename, options.dev ? Buffer.from((0, _css().wrapDevelopmentCSS)({
174
- src: code,
175
- filename
176
- })) : Buffer.from(''), options);
177
- const cssCode = cssResults.code.toString();
178
-
179
- // In production, we export the CSS as a string and use a special type to prevent
180
- // it from being included in the JS bundle. We'll extract the CSS like an asset later
181
- // and append it to the HTML bundle.
182
- const output = [{
183
- type: 'js/module',
184
- data: {
185
- ...jsModuleResults.output[0].data,
186
- // Append additional css metadata for static extraction.
187
- css: {
188
- code: cssCode,
189
- lineCount: (0, _countLines().default)(cssCode),
190
- map: [],
191
- functionMap: null,
192
- // Disable caching for CSS files when postcss is enabled and has been run on the file.
193
- // This ensures that things like tailwind can update on every change.
194
- skipCache: postcssResults.hasPostcss
195
- }
196
- }
197
- }];
198
- return {
199
- dependencies: jsModuleResults.dependencies,
200
- output
201
- };
202
170
  }
203
-
171
+ exports.transform = transform;
204
172
  /**
205
173
  * A custom Metro transformer that adds support for processing Expo-specific bundler features.
206
174
  * - Global CSS files on web.
@@ -208,8 +176,8 @@ async function transform(config, projectRoot, filename, data, options) {
208
176
  * - TODO: Tailwind CSS on web.
209
177
  */
210
178
  module.exports = {
211
- // Use defaults for everything that's not custom.
212
- ...worker(),
213
- transform
179
+ // Use defaults for everything that's not custom.
180
+ ...worker,
181
+ transform,
214
182
  };
215
183
  //# sourceMappingURL=transform-worker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transform-worker.js","names":["_countLines","data","_interopRequireDefault","require","_css","_cssModules","worker","_interopRequireWildcard","_postcss","_sass","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","transform","config","projectRoot","filename","options","isCss","type","test","_options$customTransf","environment","customTransformOptions","match","RegExp","platform","minify","Buffer","from","code","matchCssModule","toString","postcssResults","transformPostCssModule","src","hasPostcss","syntax","matchSass","compileSass","_jsModuleResults$outp","results","transformCssModuleWeb","dev","sourceMap","jsModuleResults","output","cssCode","css","lineCount","countLines","map","functionMap","dependencies","cssResults","cssModules","wrapDevelopmentCSS","skipCache","module","exports"],"sources":["../../src/transform-worker/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 */\nimport countLines from 'metro/src/lib/countLines';\nimport type {\n JsTransformerConfig,\n JsTransformOptions,\n TransformResponse,\n} from 'metro-transform-worker';\n\nimport { wrapDevelopmentCSS } from './css';\nimport { matchCssModule, transformCssModuleWeb } from './css-modules';\nimport * as worker from './metro-transform-worker';\nimport { transformPostCssModule } from './postcss';\nimport { compileSass, matchSass } from './sass';\nimport { ExpoJsOutput, JsOutput } from '../serializer/jsOutput';\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 isCss = options.type !== 'asset' && /\\.(s?css|sass)$/.test(filename);\n // If the file is not CSS, then use the default behavior.\n if (!isCss) {\n const environment = options.customTransformOptions?.environment;\n\n if (\n environment !== 'node' &&\n // TODO: Ensure this works with windows.\n (filename.match(new RegExp(`^app/\\\\+html(\\\\.${options.platform})?\\\\.([tj]sx?|[cm]js)?$`)) ||\n // Strip +api files.\n filename.match(/\\+api(\\.(native|ios|android|web))?\\.[tj]sx?$/))\n ) {\n // Remove the server-only +html file and API Routes from the bundle when bundling for a client environment.\n return worker.transform(\n config,\n projectRoot,\n filename,\n !options.minify\n ? Buffer.from(\n // Use a string so this notice is visible in the bundle if the user is\n // looking for it.\n '\"> The server-only file was removed from the client JS bundle by Expo CLI.\"'\n )\n : Buffer.from(''),\n options\n );\n }\n\n if (\n environment !== 'node' &&\n !filename.match(/\\/node_modules\\//) &&\n filename.match(/\\+api(\\.(native|ios|android|web))?\\.[tj]sx?$/)\n ) {\n // Clear the contents of +api files when bundling for the client.\n // This ensures that the client doesn't accidentally use the server-only +api files.\n return worker.transform(config, projectRoot, filename, Buffer.from(''), options);\n }\n\n return worker.transform(config, projectRoot, filename, data, options);\n }\n\n // If the platform is not web, then return an empty module.\n if (options.platform !== 'web') {\n const code = matchCssModule(filename) ? 'module.exports={ unstable_styles: {} };' : '';\n return worker.transform(\n config,\n projectRoot,\n filename,\n // TODO: Native CSS Modules\n Buffer.from(code),\n options\n );\n }\n\n let code = data.toString('utf8');\n\n // Apply postcss transforms\n const postcssResults = await transformPostCssModule(projectRoot, {\n src: code,\n filename,\n });\n\n if (postcssResults.hasPostcss) {\n code = postcssResults.src;\n }\n\n // TODO: When native has CSS support, this will need to move higher up.\n const syntax = matchSass(filename);\n if (syntax) {\n code = compileSass(projectRoot, { filename, src: code }, { syntax }).src;\n }\n\n // If the file is a CSS Module, then transform it to a JS module\n // in development and a static CSS file in production.\n if (matchCssModule(filename)) {\n const results = await transformCssModuleWeb({\n filename,\n src: code,\n options: {\n projectRoot,\n dev: options.dev,\n minify: options.minify,\n sourceMap: false,\n },\n });\n\n const jsModuleResults = await worker.transform(\n config,\n projectRoot,\n filename,\n Buffer.from(results.output),\n options\n );\n\n const cssCode = results.css.toString();\n const output: JsOutput[] = [\n {\n type: 'js/module',\n data: {\n ...jsModuleResults.output[0]?.data,\n\n // Append additional css metadata for static extraction.\n css: {\n code: cssCode,\n lineCount: countLines(cssCode),\n map: [],\n functionMap: null,\n },\n },\n },\n ];\n\n return {\n dependencies: jsModuleResults.dependencies,\n output,\n };\n }\n\n // Global CSS:\n\n const { transform } = require('lightningcss') as typeof import('lightningcss');\n\n // TODO: Add bundling to resolve imports\n // https://lightningcss.dev/bundling.html#bundling-order\n\n const cssResults = transform({\n filename,\n code: Buffer.from(code),\n sourceMap: false,\n cssModules: false,\n projectRoot,\n minify: options.minify,\n });\n\n // TODO: Warnings:\n // cssResults.warnings.forEach((warning) => {\n // });\n\n // Create a mock JS module that exports an empty object,\n // this ensures Metro dependency graph is correct.\n const jsModuleResults = await worker.transform(\n config,\n projectRoot,\n filename,\n options.dev ? Buffer.from(wrapDevelopmentCSS({ src: code, filename })) : Buffer.from(''),\n options\n );\n\n const cssCode = cssResults.code.toString();\n\n // In production, we export the CSS as a string and use a special type to prevent\n // it from being included in the JS bundle. We'll extract the CSS like an asset later\n // and append it to the HTML bundle.\n const output: ExpoJsOutput[] = [\n {\n type: 'js/module',\n data: {\n ...(jsModuleResults.output[0] as ExpoJsOutput).data,\n\n // Append additional css metadata for static extraction.\n css: {\n code: cssCode,\n lineCount: countLines(cssCode),\n map: [],\n functionMap: null,\n // Disable caching for CSS files when postcss is enabled and has been run on the file.\n // This ensures that things like tailwind can update on every change.\n skipCache: postcssResults.hasPostcss,\n },\n },\n },\n ];\n\n return {\n dependencies: jsModuleResults.dependencies,\n output,\n };\n}\n\n/**\n * A custom Metro transformer that adds support for processing Expo-specific bundler features.\n * - Global CSS files on web.\n * - CSS Modules on web.\n * - TODO: Tailwind CSS on web.\n */\nmodule.exports = {\n // Use defaults for everything that's not custom.\n ...worker,\n transform,\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"transform-worker.js","sourceRoot":"","sources":["../../src/transform-worker/transform-worker.ts"],"names":[],"mappings":"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"}
@@ -1,38 +1,40 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.requireUncachedFile = requireUncachedFile;
7
- exports.tryRequireThenImport = tryRequireThenImport;
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.requireUncachedFile = exports.tryRequireThenImport = void 0;
8
4
  async function tryRequireThenImport(moduleId) {
9
- try {
10
- return require(moduleId);
11
- } catch (requireError) {
12
- let importESM;
13
5
  try {
14
- // eslint-disable-next-line no-new-func
15
- importESM = new Function('id', 'return import(id);');
16
- } catch {
17
- importESM = null;
6
+ return require(moduleId);
18
7
  }
19
- if ((requireError === null || requireError === void 0 ? void 0 : requireError.code) === 'ERR_REQUIRE_ESM' && importESM) {
20
- return (await importESM(moduleId)).default;
8
+ catch (requireError) {
9
+ let importESM;
10
+ try {
11
+ // eslint-disable-next-line no-new-func
12
+ importESM = new Function('id', 'return import(id);');
13
+ }
14
+ catch {
15
+ importESM = null;
16
+ }
17
+ if (requireError?.code === 'ERR_REQUIRE_ESM' && importESM) {
18
+ return (await importESM(moduleId)).default;
19
+ }
20
+ throw requireError;
21
21
  }
22
- throw requireError;
23
- }
24
22
  }
23
+ exports.tryRequireThenImport = tryRequireThenImport;
25
24
  function requireUncachedFile(moduleId) {
26
- try {
27
- // delete require.cache[require.resolve(moduleId)];
28
- } catch {}
29
- try {
30
- return require(moduleId);
31
- } catch (error) {
32
- if (error instanceof Error) {
33
- error.message = `Cannot load file ${moduleId}: ${error.message}`;
25
+ try {
26
+ // delete require.cache[require.resolve(moduleId)];
27
+ }
28
+ catch { }
29
+ try {
30
+ return require(moduleId);
31
+ }
32
+ catch (error) {
33
+ if (error instanceof Error) {
34
+ error.message = `Cannot load file ${moduleId}: ${error.message}`;
35
+ }
36
+ throw error;
34
37
  }
35
- throw error;
36
- }
37
38
  }
39
+ exports.requireUncachedFile = requireUncachedFile;
38
40
  //# sourceMappingURL=require.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"require.js","names":["tryRequireThenImport","moduleId","require","requireError","importESM","Function","code","default","requireUncachedFile","error","Error","message"],"sources":["../../../src/transform-worker/utils/require.ts"],"sourcesContent":["export async function tryRequireThenImport<TModule>(moduleId: string): Promise<TModule> {\n try {\n return require(moduleId);\n } catch (requireError: any) {\n let importESM;\n try {\n // eslint-disable-next-line no-new-func\n importESM = new Function('id', 'return import(id);');\n } catch {\n importESM = null;\n }\n\n if (requireError?.code === 'ERR_REQUIRE_ESM' && importESM) {\n return (await importESM(moduleId)).default;\n }\n\n throw requireError;\n }\n}\n\nexport function requireUncachedFile(moduleId: string) {\n try {\n // delete require.cache[require.resolve(moduleId)];\n } catch {}\n try {\n return require(moduleId);\n } catch (error: unknown) {\n if (error instanceof Error) {\n error.message = `Cannot load file ${moduleId}: ${error.message}`;\n }\n throw error;\n }\n}\n"],"mappings":";;;;;;;AAAO,eAAeA,oBAAoBA,CAAUC,QAAgB,EAAoB;EACtF,IAAI;IACF,OAAOC,OAAO,CAACD,QAAQ,CAAC;EAC1B,CAAC,CAAC,OAAOE,YAAiB,EAAE;IAC1B,IAAIC,SAAS;IACb,IAAI;MACF;MACAA,SAAS,GAAG,IAAIC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACtD,CAAC,CAAC,MAAM;MACND,SAAS,GAAG,IAAI;IAClB;IAEA,IAAI,CAAAD,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEG,IAAI,MAAK,iBAAiB,IAAIF,SAAS,EAAE;MACzD,OAAO,CAAC,MAAMA,SAAS,CAACH,QAAQ,CAAC,EAAEM,OAAO;IAC5C;IAEA,MAAMJ,YAAY;EACpB;AACF;AAEO,SAASK,mBAAmBA,CAACP,QAAgB,EAAE;EACpD,IAAI;IACF;EAAA,CACD,CAAC,MAAM,CAAC;EACT,IAAI;IACF,OAAOC,OAAO,CAACD,QAAQ,CAAC;EAC1B,CAAC,CAAC,OAAOQ,KAAc,EAAE;IACvB,IAAIA,KAAK,YAAYC,KAAK,EAAE;MAC1BD,KAAK,CAACE,OAAO,GAAI,oBAAmBV,QAAS,KAAIQ,KAAK,CAACE,OAAQ,EAAC;IAClE;IACA,MAAMF,KAAK;EACb;AACF"}
1
+ {"version":3,"file":"require.js","sourceRoot":"","sources":["../../../src/transform-worker/utils/require.ts"],"names":[],"mappings":";;;AAAO,KAAK,UAAU,oBAAoB,CAAU,QAAgB;IAClE,IAAI;QACF,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;KAC1B;IAAC,OAAO,YAAiB,EAAE;QAC1B,IAAI,SAAS,CAAC;QACd,IAAI;YACF,uCAAuC;YACvC,SAAS,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;SACtD;QAAC,MAAM;YACN,SAAS,GAAG,IAAI,CAAC;SAClB;QAED,IAAI,YAAY,EAAE,IAAI,KAAK,iBAAiB,IAAI,SAAS,EAAE;YACzD,OAAO,CAAC,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;SAC5C;QAED,MAAM,YAAY,CAAC;KACpB;AACH,CAAC;AAlBD,oDAkBC;AAED,SAAgB,mBAAmB,CAAC,QAAgB;IAClD,IAAI;QACF,mDAAmD;KACpD;IAAC,MAAM,GAAE;IACV,IAAI;QACF,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;KAC1B;IAAC,OAAO,KAAc,EAAE;QACvB,IAAI,KAAK,YAAY,KAAK,EAAE;YAC1B,KAAK,CAAC,OAAO,GAAG,oBAAoB,QAAQ,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;SAClE;QACD,MAAM,KAAK,CAAC;KACb;AACH,CAAC;AAZD,kDAYC"}