@teambit/react 0.0.1160 → 0.0.1161

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 (43) hide show
  1. package/artifacts/env-template/public/{613.dde66a017b79466c2102.js → 999.9746d85020438950267f.js} +318 -84
  2. package/artifacts/env-template/public/assets-manifest.json +16 -18
  3. package/artifacts/env-template/public/compositions.b22ba36220f029f8d035.js +1 -0
  4. package/artifacts/env-template/public/compositions.html +1 -1
  5. package/artifacts/env-template/public/overview.0de2e5cde09598a2d03f.js +39 -0
  6. package/artifacts/env-template/public/overview.html +1 -1
  7. package/artifacts/env-template/public/{peers.c3f19c7d9fb80bb8d3c7.js → peers.22128663dd9716fcacd8.js} +1 -1
  8. package/artifacts/env-template/public/{overview.c063367ab0a60890f950.js → preview-root.2288ad02f1e72210a5cc.js} +2 -2
  9. package/artifacts/env-template/public/static/css/503.3a84acb5.css +1 -0
  10. package/artifacts/env-template/public/static/css/999.924bbb41.css +1 -0
  11. package/dist/apps/web/react.application.js +3 -3
  12. package/dist/apps/web/react.application.js.map +1 -1
  13. package/dist/apps/web/ssr/ssr-express.js +3 -3
  14. package/dist/apps/web/ssr/ssr-express.js.map +1 -1
  15. package/dist/apps/web/webpack/mutators.js +1 -1
  16. package/dist/apps/web/webpack/mutators.js.map +1 -1
  17. package/dist/index.d.ts +2 -0
  18. package/dist/index.js +29 -3
  19. package/dist/index.js.map +1 -1
  20. package/dist/{preview-1694661423555.js → preview-1694692074267.js} +2 -2
  21. package/dist/react.api.transformer.d.ts +7 -0
  22. package/dist/react.api.transformer.js +49 -0
  23. package/dist/react.api.transformer.js.map +1 -0
  24. package/dist/react.env.js +2 -2
  25. package/dist/react.env.js.map +1 -1
  26. package/dist/react.main.runtime.d.ts +4 -2
  27. package/dist/react.main.runtime.js +20 -2
  28. package/dist/react.main.runtime.js.map +1 -1
  29. package/dist/react.schema.d.ts +53 -0
  30. package/dist/react.schema.js +92 -0
  31. package/dist/react.schema.js.map +1 -0
  32. package/dist/react.ui.runtime.d.ts +2 -1
  33. package/dist/react.ui.runtime.js +25 -2
  34. package/dist/react.ui.runtime.js.map +1 -1
  35. package/package.json +38 -34
  36. package/react.ui.runtime.tsx +9 -2
  37. package/artifacts/env-template/public/245.677d9915970e9921fb13.js +0 -251
  38. package/artifacts/env-template/public/compositions.866a43fb4b8f7e9f5af2.js +0 -8
  39. package/artifacts/env-template/public/preview-root.85301072a324a6e46e87.js +0 -1
  40. package/artifacts/env-template/public/static/css/613.7716c8c6.css +0 -1
  41. package/artifacts/env-template/public/static/css/preview-root.120a1d04.css +0 -1
  42. /package/{compositions-1694661423555.js → compositions-1694692074267.js} +0 -0
  43. /package/{overview-1694661423555.js → overview-1694692074267.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["_lodash","data","require","_terserWebpackPlugin","_interopRequireDefault","obj","__esModule","default","addDevServer","configMutator","addTopLevel","allowedHosts","historyApiFallback","index","disableDotRule","headers","setOutput","raw","output","publicPath","replaceTerserPlugin","prerender","_configMutator$raw$op","_configMutator$raw$op2","_configMutator$raw$op3","optimization","minimizer","remove","constructor","name","terserer","CreateTerserPluginForPrerender","CreateTerserPlugin","push","TerserPlugin","minify","esbuildMinify","terserOptions","extractComments","parse","ecma","compress","warnings","comparisons","inline","mangle","safari10","comments","ascii_only"],"sources":["mutators.ts"],"sourcesContent":["import { WebpackConfigMutator } from '@teambit/webpack';\nimport { remove } from 'lodash';\nimport TerserPlugin from 'terser-webpack-plugin';\n\nexport function addDevServer(configMutator: WebpackConfigMutator) {\n return configMutator.addTopLevel('devServer', {\n allowedHosts: 'all',\n historyApiFallback: {\n index: '/index.html',\n disableDotRule: true,\n },\n headers: {\n 'Access-Control-Allow-Origin': '*',\n },\n });\n}\n\nexport function setOutput(configMutator: WebpackConfigMutator) {\n if (!configMutator.raw.output) configMutator.raw.output = {};\n configMutator.raw.output.publicPath = '/';\n\n return configMutator;\n}\n\nexport function replaceTerserPlugin({ prerender = false }: { prerender: boolean }) {\n return (configMutator: WebpackConfigMutator) => {\n if (!configMutator.raw.optimization?.minimizer) return configMutator;\n\n remove(configMutator.raw.optimization?.minimizer, (minimizer: any) => {\n return minimizer.constructor.name === 'TerserPlugin';\n });\n\n const terserer = prerender ? CreateTerserPluginForPrerender() : CreateTerserPlugin();\n configMutator.raw.optimization?.minimizer.push(terserer);\n\n return configMutator;\n };\n}\n\nfunction CreateTerserPlugin() {\n return new TerserPlugin({\n minify: TerserPlugin.esbuildMinify,\n // `terserOptions` options will be passed to `esbuild`\n // Link to options - https://esbuild.github.io/api/#minify\n terserOptions: {\n minify: true,\n },\n });\n}\n\nfunction CreateTerserPluginForPrerender() {\n return new TerserPlugin({\n extractComments: false,\n terserOptions: {\n parse: {\n // We want terser to parse ecma 8 code. However, we don't want it\n // to apply any minification steps that turns valid ecma 5 code\n // into invalid ecma 5 code. This is why the 'compress' and 'output'\n // sections only apply transformations that are ecma 5 safe\n // https://github.com/facebook/create-react-app/pull/4234\n ecma: 8,\n },\n compress: {\n ecma: 5,\n warnings: false,\n // Disabled because of an issue with Uglify breaking seemingly valid code:\n // https://github.com/facebook/create-react-app/issues/2376\n // Pending further investigation:\n // https://github.com/mishoo/UglifyJS2/issues/2011\n comparisons: false,\n // Disabled because of an issue with Terser breaking valid code:\n // https://github.com/facebook/create-react-app/issues/5250\n // Pending further investigation:\n // https://github.com/terser-js/terser/issues/120\n inline: 2,\n },\n mangle: {\n safari10: true,\n },\n output: {\n ecma: 5,\n comments: false,\n // Turned on because emoji and regex is not minified properly using default\n // https://github.com/facebook/create-react-app/issues/2488\n ascii_only: true,\n },\n },\n });\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_lodash","data","require","_terserWebpackPlugin","_interopRequireDefault","obj","__esModule","default","addDevServer","configMutator","addTopLevel","allowedHosts","historyApiFallback","index","disableDotRule","headers","setOutput","raw","output","publicPath","replaceTerserPlugin","prerender","_configMutator$raw$op","_configMutator$raw$op2","_configMutator$raw$op3","optimization","minimizer","remove","constructor","name","terserer","CreateTerserPluginForPrerender","CreateTerserPlugin","push","TerserPlugin","minify","esbuildMinify","terserOptions","extractComments","parse","ecma","compress","warnings","comparisons","inline","mangle","safari10","comments","ascii_only"],"sources":["mutators.ts"],"sourcesContent":["import { WebpackConfigMutator } from '@teambit/webpack';\nimport { remove } from 'lodash';\nimport TerserPlugin from 'terser-webpack-plugin';\n\nexport function addDevServer(configMutator: WebpackConfigMutator) {\n return configMutator.addTopLevel('devServer', {\n allowedHosts: 'all',\n historyApiFallback: {\n index: '/index.html',\n disableDotRule: true,\n },\n headers: {\n 'Access-Control-Allow-Origin': '*',\n },\n });\n}\n\nexport function setOutput(configMutator: WebpackConfigMutator) {\n if (!configMutator.raw.output) configMutator.raw.output = {};\n configMutator.raw.output.publicPath = '/';\n\n return configMutator;\n}\n\nexport function replaceTerserPlugin({ prerender = false }: { prerender: boolean }) {\n return (configMutator: WebpackConfigMutator) => {\n if (!configMutator.raw.optimization?.minimizer) return configMutator;\n\n remove(configMutator.raw.optimization?.minimizer, (minimizer: any) => {\n return minimizer.constructor.name === 'TerserPlugin';\n });\n\n const terserer = prerender ? CreateTerserPluginForPrerender() : CreateTerserPlugin();\n configMutator.raw.optimization?.minimizer.push(terserer);\n\n return configMutator;\n };\n}\n\nfunction CreateTerserPlugin() {\n return new TerserPlugin({\n minify: TerserPlugin.esbuildMinify,\n // `terserOptions` options will be passed to `esbuild`\n // Link to options - https://esbuild.github.io/api/#minify\n terserOptions: {\n minify: true,\n },\n });\n}\n\nfunction CreateTerserPluginForPrerender() {\n return new TerserPlugin({\n extractComments: false,\n terserOptions: {\n parse: {\n // We want terser to parse ecma 8 code. However, we don't want it\n // to apply any minification steps that turns valid ecma 5 code\n // into invalid ecma 5 code. This is why the 'compress' and 'output'\n // sections only apply transformations that are ecma 5 safe\n // https://github.com/facebook/create-react-app/pull/4234\n ecma: 8,\n },\n compress: {\n ecma: 5,\n warnings: false,\n // Disabled because of an issue with Uglify breaking seemingly valid code:\n // https://github.com/facebook/create-react-app/issues/2376\n // Pending further investigation:\n // https://github.com/mishoo/UglifyJS2/issues/2011\n comparisons: false,\n // Disabled because of an issue with Terser breaking valid code:\n // https://github.com/facebook/create-react-app/issues/5250\n // Pending further investigation:\n // https://github.com/terser-js/terser/issues/120\n inline: 2,\n },\n mangle: {\n safari10: true,\n },\n output: {\n ecma: 5,\n comments: false,\n // Turned on because emoji and regex is not minified properly using default\n // https://github.com/facebook/create-react-app/issues/2488\n ascii_only: true,\n },\n },\n });\n}\n"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -2,5 +2,7 @@ export type { ReactMain, UseWebpackModifiers, UseTypescriptModifiers } from './r
2
2
  export type { ReactPreview } from './react.preview.runtime';
3
3
  export type { ReactAppType } from './apps/web/react.app-type';
4
4
  export type { ReactEnv } from './react.env';
5
+ export { ReactSchema } from './react.schema';
6
+ export { ReactAPITransformer } from './react.api.transformer';
5
7
  export type { ReactAppOptions, ReactDeployContext } from './apps/web';
6
8
  export { ReactAspect, ReactAspect as default } from './react.aspect';
package/dist/index.js CHANGED
@@ -3,24 +3,50 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ Object.defineProperty(exports, "ReactAPITransformer", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _reactApi().ReactAPITransformer;
10
+ }
11
+ });
6
12
  Object.defineProperty(exports, "ReactAspect", {
7
13
  enumerable: true,
8
14
  get: function () {
9
- return _react().ReactAspect;
15
+ return _react2().ReactAspect;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "ReactSchema", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _react().ReactSchema;
10
22
  }
11
23
  });
12
24
  Object.defineProperty(exports, "default", {
13
25
  enumerable: true,
14
26
  get: function () {
15
- return _react().ReactAspect;
27
+ return _react2().ReactAspect;
16
28
  }
17
29
  });
18
30
  function _react() {
19
- const data = require("./react.aspect");
31
+ const data = require("./react.schema");
20
32
  _react = function () {
21
33
  return data;
22
34
  };
23
35
  return data;
24
36
  }
37
+ function _reactApi() {
38
+ const data = require("./react.api.transformer");
39
+ _reactApi = function () {
40
+ return data;
41
+ };
42
+ return data;
43
+ }
44
+ function _react2() {
45
+ const data = require("./react.aspect");
46
+ _react2 = function () {
47
+ return data;
48
+ };
49
+ return data;
50
+ }
25
51
 
26
52
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["_react","data","require"],"sources":["index.ts"],"sourcesContent":["export type { ReactMain, UseWebpackModifiers, UseTypescriptModifiers } from './react.main.runtime';\nexport type { ReactPreview } from './react.preview.runtime';\nexport type { ReactAppType } from './apps/web/react.app-type';\nexport type { ReactEnv } from './react.env';\nexport type { ReactAppOptions, ReactDeployContext } from './apps/web';\n// Re-export it to indicate for people that extends the react env that we are using it\n// Commented - make errors in safari - SyntaxError: Invalid regular expression: invalid group specifier name\n// export * as styleRegexps from '@teambit/modules.style-regexps';\n\nexport { ReactAspect, ReactAspect as default } from './react.aspect';\n"],"mappings":";;;;;;;;;;;;;;;;;AASA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA"}
1
+ {"version":3,"names":["_react","data","require","_reactApi","_react2"],"sources":["index.ts"],"sourcesContent":["export type { ReactMain, UseWebpackModifiers, UseTypescriptModifiers } from './react.main.runtime';\nexport type { ReactPreview } from './react.preview.runtime';\nexport type { ReactAppType } from './apps/web/react.app-type';\nexport type { ReactEnv } from './react.env';\nexport { ReactSchema } from './react.schema';\nexport { ReactAPITransformer } from './react.api.transformer';\nexport type { ReactAppOptions, ReactDeployContext } from './apps/web';\n// Re-export it to indicate for people that extends the react env that we are using it\n// Commented - make errors in safari - SyntaxError: Invalid regular expression: invalid group specifier name\n// export * as styleRegexps from '@teambit/modules.style-regexps';\n\nexport { ReactAspect, ReactAspect as default } from './react.aspect';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,UAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,SAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAMA,SAAAG,QAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,OAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA"}
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.react_react@0.0.1160/dist/react.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.react_react@0.0.1160/dist/react.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.react_react@0.0.1161/dist/react.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.react_react@0.0.1161/dist/react.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];
@@ -0,0 +1,7 @@
1
+ import { FunctionLikeSchema, SchemaNode } from '@teambit/semantics.entities.semantic-schema';
2
+ import { SchemaNodeTransformer } from '@teambit/typescript';
3
+ export declare class ReactAPITransformer implements SchemaNodeTransformer {
4
+ predicate(node: SchemaNode): boolean;
5
+ transform(node: FunctionLikeSchema): Promise<SchemaNode>;
6
+ private getReturnTypeName;
7
+ }
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ReactAPITransformer = void 0;
7
+ function _react() {
8
+ const data = require("@teambit/react");
9
+ _react = function () {
10
+ return data;
11
+ };
12
+ return data;
13
+ }
14
+ function _semanticsEntities() {
15
+ const data = require("@teambit/semantics.entities.semantic-schema");
16
+ _semanticsEntities = function () {
17
+ return data;
18
+ };
19
+ return data;
20
+ }
21
+ const REACT_FILE_EXT = ['.tsx', '.jsx'];
22
+
23
+ // only detects functional react components for now
24
+ class ReactAPITransformer {
25
+ predicate(node) {
26
+ const isFunctionLike = node instanceof _semanticsEntities().FunctionLikeSchema;
27
+ if (!isFunctionLike) return false;
28
+ const functionNode = node;
29
+ const isReactFile = REACT_FILE_EXT.some(r => functionNode.location.filePath.includes(r));
30
+ if (!isReactFile) return false;
31
+ const params = functionNode.params;
32
+ if (params.length !== 1) return false;
33
+ const isParamTypeRef = params[0] instanceof _semanticsEntities().ParameterSchema;
34
+ if (!isParamTypeRef) return false;
35
+ const returnsPotentialReactElement = ['JSX.Element', 'React.ReactNode', 'null', 'undefined', 'React.ReactChild', 'React.ReactFragment', 'React.ReactPortal'].includes(this.getReturnTypeName(node));
36
+ if (!returnsPotentialReactElement) return false;
37
+ return true;
38
+ }
39
+ async transform(node) {
40
+ return new (_react().ReactSchema)(node.location, node.name, node.params[0], new (_semanticsEntities().TypeRefSchema)(node.returnType.location, this.getReturnTypeName(node), undefined, 'react'), node.signature, node.modifiers, node.doc, node.typeParams);
41
+ }
42
+ getReturnTypeName(node) {
43
+ const returnType = node.returnType;
44
+ return returnType.name ?? returnType.toString();
45
+ }
46
+ }
47
+ exports.ReactAPITransformer = ReactAPITransformer;
48
+
49
+ //# sourceMappingURL=react.api.transformer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","data","require","_semanticsEntities","REACT_FILE_EXT","ReactAPITransformer","predicate","node","isFunctionLike","FunctionLikeSchema","functionNode","isReactFile","some","r","location","filePath","includes","params","length","isParamTypeRef","ParameterSchema","returnsPotentialReactElement","getReturnTypeName","transform","ReactSchema","name","TypeRefSchema","returnType","undefined","signature","modifiers","doc","typeParams","toString","exports"],"sources":["react.api.transformer.ts"],"sourcesContent":["import { ReactSchema } from '@teambit/react';\nimport {\n FunctionLikeSchema,\n ParameterSchema,\n SchemaNode,\n TypeRefSchema,\n} from '@teambit/semantics.entities.semantic-schema';\nimport { SchemaNodeTransformer } from '@teambit/typescript';\n\nconst REACT_FILE_EXT = ['.tsx', '.jsx'];\n\n// only detects functional react components for now\nexport class ReactAPITransformer implements SchemaNodeTransformer {\n predicate(node: SchemaNode) {\n const isFunctionLike = node instanceof FunctionLikeSchema;\n if (!isFunctionLike) return false;\n const functionNode = node as FunctionLikeSchema;\n const isReactFile = REACT_FILE_EXT.some((r) => functionNode.location.filePath.includes(r));\n if (!isReactFile) return false;\n const params = functionNode.params;\n if (params.length !== 1) return false;\n const isParamTypeRef = params[0] instanceof ParameterSchema;\n if (!isParamTypeRef) return false;\n const returnsPotentialReactElement = [\n 'JSX.Element',\n 'React.ReactNode',\n 'null',\n 'undefined',\n 'React.ReactChild',\n 'React.ReactFragment',\n 'React.ReactPortal',\n ].includes(this.getReturnTypeName(node));\n if (!returnsPotentialReactElement) return false;\n return true;\n }\n\n async transform(node: FunctionLikeSchema): Promise<SchemaNode> {\n return new ReactSchema(\n node.location,\n node.name,\n node.params[0] as ParameterSchema<TypeRefSchema>,\n new TypeRefSchema(node.returnType.location, this.getReturnTypeName(node), undefined, 'react'),\n node.signature,\n node.modifiers,\n node.doc,\n node.typeParams\n );\n }\n\n private getReturnTypeName(node: FunctionLikeSchema): string {\n const returnType = node.returnType;\n return returnType.name ?? returnType.toString();\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,mBAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,kBAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAQA,MAAMG,cAAc,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;;AAEvC;AACO,MAAMC,mBAAmB,CAAkC;EAChEC,SAASA,CAACC,IAAgB,EAAE;IAC1B,MAAMC,cAAc,GAAGD,IAAI,YAAYE,uCAAkB;IACzD,IAAI,CAACD,cAAc,EAAE,OAAO,KAAK;IACjC,MAAME,YAAY,GAAGH,IAA0B;IAC/C,MAAMI,WAAW,GAAGP,cAAc,CAACQ,IAAI,CAAEC,CAAC,IAAKH,YAAY,CAACI,QAAQ,CAACC,QAAQ,CAACC,QAAQ,CAACH,CAAC,CAAC,CAAC;IAC1F,IAAI,CAACF,WAAW,EAAE,OAAO,KAAK;IAC9B,MAAMM,MAAM,GAAGP,YAAY,CAACO,MAAM;IAClC,IAAIA,MAAM,CAACC,MAAM,KAAK,CAAC,EAAE,OAAO,KAAK;IACrC,MAAMC,cAAc,GAAGF,MAAM,CAAC,CAAC,CAAC,YAAYG,oCAAe;IAC3D,IAAI,CAACD,cAAc,EAAE,OAAO,KAAK;IACjC,MAAME,4BAA4B,GAAG,CACnC,aAAa,EACb,iBAAiB,EACjB,MAAM,EACN,WAAW,EACX,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,CACpB,CAACL,QAAQ,CAAC,IAAI,CAACM,iBAAiB,CAACf,IAAI,CAAC,CAAC;IACxC,IAAI,CAACc,4BAA4B,EAAE,OAAO,KAAK;IAC/C,OAAO,IAAI;EACb;EAEA,MAAME,SAASA,CAAChB,IAAwB,EAAuB;IAC7D,OAAO,KAAIiB,oBAAW,EACpBjB,IAAI,CAACO,QAAQ,EACbP,IAAI,CAACkB,IAAI,EACTlB,IAAI,CAACU,MAAM,CAAC,CAAC,CAAC,EACd,KAAIS,kCAAa,EAACnB,IAAI,CAACoB,UAAU,CAACb,QAAQ,EAAE,IAAI,CAACQ,iBAAiB,CAACf,IAAI,CAAC,EAAEqB,SAAS,EAAE,OAAO,CAAC,EAC7FrB,IAAI,CAACsB,SAAS,EACdtB,IAAI,CAACuB,SAAS,EACdvB,IAAI,CAACwB,GAAG,EACRxB,IAAI,CAACyB,UACP,CAAC;EACH;EAEQV,iBAAiBA,CAACf,IAAwB,EAAU;IAC1D,MAAMoB,UAAU,GAAGpB,IAAI,CAACoB,UAAU;IAClC,OAAOA,UAAU,CAACF,IAAI,IAAIE,UAAU,CAACM,QAAQ,CAAC,CAAC;EACjD;AACF;AAACC,OAAA,CAAA7B,mBAAA,GAAAA,mBAAA"}
package/dist/react.env.js CHANGED
@@ -523,8 +523,8 @@ class ReactEnv {
523
523
  */
524
524
  getBuildPipe(modifiers = {}) {
525
525
  var _modifiers$tsModifier, _modifiers$tsModifier2;
526
- const transformers = (modifiers === null || modifiers === void 0 ? void 0 : (_modifiers$tsModifier = modifiers.tsModifier) === null || _modifiers$tsModifier === void 0 ? void 0 : _modifiers$tsModifier.transformers) || [];
527
- return [this.createCjsCompilerTask(transformers, (modifiers === null || modifiers === void 0 ? void 0 : (_modifiers$tsModifier2 = modifiers.tsModifier) === null || _modifiers$tsModifier2 === void 0 ? void 0 : _modifiers$tsModifier2.module) || _typescript().default), this.tester.task];
526
+ const transformers = (modifiers === null || modifiers === void 0 || (_modifiers$tsModifier = modifiers.tsModifier) === null || _modifiers$tsModifier === void 0 ? void 0 : _modifiers$tsModifier.transformers) || [];
527
+ return [this.createCjsCompilerTask(transformers, (modifiers === null || modifiers === void 0 || (_modifiers$tsModifier2 = modifiers.tsModifier) === null || _modifiers$tsModifier2 === void 0 ? void 0 : _modifiers$tsModifier2.module) || _typescript().default), this.tester.task];
528
528
  }
529
529
 
530
530
  /**
@@ -1 +1 @@
1
- {"version":3,"names":["_typescript","data","_interopRequireDefault","require","_os","_componentModules","_builder","_lodash","_preview","_defender","_typescript2","_defender2","_utils","_path","_fsExtra","_react","_webpackConfig","_webpackConfigBase","_webpackConfigEnv","_webpackConfigEnv2","_webpackConfigComponent","_webpackConfigComponent2","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","ReactEnvType","exports","defaultTsConfig","buildTsConfig","eslintConfig","prettierConfig","ReactEnv","constructor","jestAspect","tsAspect","compiler","webpack","workspace","pkg","tester","config","eslint","prettier","dependencyResolver","logger","compilerAspectId","getTsConfig","targetTsConfig","merge","getBuildTsConfig","getCjsJestTester","jestConfigPath","jestModulePath","createCjsJestTester","pathToSource","pathNormalizeToLinux","__dirname","replace","defaultConfig","join","createTester","resolve","getEsmJestTester","createEsmJestTester","getTester","createTsCompilerOptions","mode","tsconfig","cloneDeep","compileJs","compileJsx","types","getTsCjsCompiler","transformers","tsModule","ts","createTsCjsCompiler","tsCompileOptions","createCjsCompiler","getTsEsmCompiler","createTsEsmCompiler","createEsmCompiler","getCompiler","getLinter","context","tsConfig","defaultTransformer","configMutator","addExtensionTypes","setTsConfig","allTransformers","createLinter","pluginPath","getFormatter","createFormatter","check","getFileMap","components","local","reduce","index","component","state","filesystem","files","forEach","file","path","id","toString","homepage","fullName","ComponentUrl","toUrl","writeFileMap","fileMap","tmpdir","Math","random","slice","outputFileSync","JSON","stringify","getDevEnvId","ReactAspect","getSchemaExtractor","tsserverPath","contextPath","createSchemaExtractor","getDevServer","webpackModulePath","webpackDevServerModulePath","baseConfig","basePreviewConfigFactory","envDevConfig","envPreviewDevConfigFactory","componentDevConfig","componentPreviewDevConfigFactory","merged","createDevServer","getBundler","createComponentsWebpackBundler","development","baseProdConfig","basePreviewProdConfigFactory","componentProdConfig","componentPreviewProdConfigFactory","mergedTransformers","createWebpackBundler","createTemplateWebpackBundler","templateConfig","templateWebpackConfigFactory","createBundler","getAdditionalHostDependencies","getDocsTemplate","getMounter","getPreviewConfig","strategyName","COMPONENT_PREVIEW_STRATEGY_NAME","splitComponentBundle","isScaling","getPackageJsonProps","getCjsPackageJsonProps","createCjsPackageJsonProps","getEsmPackageJsonProps","createEsmPackageJsonProps","getNpmIgnore","CAPSULE_ARTIFACTS_DIR","getDependencies","dependencies","react","devDependencies","peerDependencies","getBuildPipe","modifiers","_modifiers$tsModifier","_modifiers$tsModifier2","tsModifier","createCjsCompilerTask","module","task","getBuildPipeWithoutCompiler","createBuildPipeWithoutCompiler","pipeWithoutCompiler","filter","aspectId","getEsmCompilerTask","createEsmCompilerTask","tsCompiler","createTask","getCjsCompilerTask","workspaceConfig","TypescriptConfigWriter","create","EslintConfigWriter","configPath","PrettierConfigWriter","__getDescriptor","type"],"sources":["react.env.ts"],"sourcesContent":["import ts, { TsConfigSourceFile } from 'typescript';\nimport { tmpdir } from 'os';\nimport { Component } from '@teambit/component';\nimport { ComponentUrl } from '@teambit/component.modules.component-url';\nimport { BuildTask, CAPSULE_ARTIFACTS_DIR } from '@teambit/builder';\nimport { merge, cloneDeep } from 'lodash';\nimport { Bundler, BundlerContext, DevServer, DevServerContext } from '@teambit/bundler';\nimport { COMPONENT_PREVIEW_STRATEGY_NAME, PreviewStrategyName } from '@teambit/preview';\nimport { PrettierConfigWriter } from '@teambit/defender.prettier-formatter';\nimport { TypescriptConfigWriter } from '@teambit/typescript.typescript-compiler';\nimport { EslintConfigWriter } from '@teambit/defender.eslint-linter';\nimport { CompilerMain } from '@teambit/compiler';\nimport {\n BuilderEnv,\n CompilerEnv,\n DependenciesEnv,\n DevEnv,\n LinterEnv,\n PackageEnv,\n TesterEnv,\n FormatterEnv,\n PipeServiceModifier,\n PipeServiceModifiersMap,\n} from '@teambit/envs';\nimport { JestMain } from '@teambit/jest';\nimport { PackageJsonProps, PkgMain } from '@teambit/pkg';\nimport { Tester, TesterMain } from '@teambit/tester';\nimport { TsConfigTransformer, TypescriptMain } from '@teambit/typescript';\nimport type { TypeScriptCompilerOptions } from '@teambit/typescript';\nimport { WebpackConfigTransformer, WebpackMain } from '@teambit/webpack';\nimport { Workspace } from '@teambit/workspace';\nimport { ESLintMain, EslintConfigTransformer } from '@teambit/eslint';\nimport { PrettierConfigTransformer, PrettierMain } from '@teambit/prettier';\nimport { DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { Linter, LinterContext } from '@teambit/linter';\nimport { Formatter, FormatterContext } from '@teambit/formatter';\nimport { pathNormalizeToLinux } from '@teambit/legacy/dist/utils';\nimport type { ComponentMeta } from '@teambit/react.ui.highlighter.component-metadata.bit-component-meta';\nimport { SchemaExtractor } from '@teambit/schema';\nimport { join, resolve } from 'path';\nimport { outputFileSync } from 'fs-extra';\nimport { Logger } from '@teambit/logger';\nimport { ConfigWriterEntry } from '@teambit/workspace-config-files';\n\n// ensure reactEnv depends on compositions-app\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { CompositionsApp } from '@teambit/react.ui.compositions-app';\n// ensure reactEnv depends on docs-app\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport DocsApps from '@teambit/react.ui.docs-app';\nimport type { ReactMainConfig } from './react.main.runtime';\nimport { ReactAspect } from './react.aspect';\n// webpack configs for both components and envs\nimport basePreviewConfigFactory from './webpack/webpack.config.base';\nimport basePreviewProdConfigFactory from './webpack/webpack.config.base.prod';\n\n// webpack configs for envs only\n// import devPreviewConfigFactory from './webpack/webpack.config.preview.dev';\nimport envPreviewDevConfigFactory from './webpack/webpack.config.env.dev';\nimport { templateWebpackConfigFactory } from './webpack/webpack.config.env.template';\n\n// webpack configs for components only\nimport componentPreviewProdConfigFactory from './webpack/webpack.config.component.prod';\nimport componentPreviewDevConfigFactory from './webpack/webpack.config.component.dev';\n\nexport const ReactEnvType = 'react';\nconst defaultTsConfig = require('./typescript/tsconfig.json');\nconst buildTsConfig = require('./typescript/tsconfig.build.json');\nconst eslintConfig = require('./eslint/eslintrc');\nconst prettierConfig = require('./prettier/prettier.config.js');\n\n// TODO: move to be taken from the key mode of compiler context\ntype CompilerMode = 'build' | 'dev';\n\ntype GetBuildPipeModifiers = PipeServiceModifiersMap & {\n tsModifier?: PipeServiceModifier;\n};\n\n/**\n * a component environment built for [React](https://reactjs.org) .\n */\nexport class ReactEnv\n implements TesterEnv, CompilerEnv, LinterEnv, DevEnv, BuilderEnv, DependenciesEnv, PackageEnv, FormatterEnv\n{\n constructor(\n /**\n * jest extension\n */\n private jestAspect: JestMain,\n\n /**\n * typescript extension.\n */\n protected tsAspect: TypescriptMain,\n\n /**\n * compiler extension.\n */\n private compiler: CompilerMain,\n\n /**\n * webpack extension.\n */\n private webpack: WebpackMain,\n\n /**\n * workspace extension.\n */\n private workspace: Workspace,\n\n /**\n * pkg extension.\n */\n private pkg: PkgMain,\n\n /**\n * tester extension\n */\n private tester: TesterMain,\n\n private config: ReactMainConfig,\n\n private eslint: ESLintMain,\n\n private prettier: PrettierMain,\n\n private dependencyResolver: DependencyResolverMain,\n\n private logger: Logger,\n\n private compilerAspectId: string\n ) {}\n\n getTsConfig(targetTsConfig?: TsConfigSourceFile): TsConfigSourceFile {\n return targetTsConfig ? merge({}, defaultTsConfig, targetTsConfig) : defaultTsConfig;\n }\n\n getBuildTsConfig(targetTsConfig?: TsConfigSourceFile): TsConfigSourceFile {\n return targetTsConfig ? merge({}, buildTsConfig, targetTsConfig) : buildTsConfig;\n }\n\n /**\n * @deprecated use createCjsJestTester()\n */\n getCjsJestTester(jestConfigPath?: string, jestModulePath?: string): Tester {\n return this.createCjsJestTester(jestConfigPath, jestModulePath);\n }\n\n /**\n * Get a jest tester instance with react config and cjs configs\n * @param jestConfigPath\n * @param jestModulePath\n * @returns\n */\n createCjsJestTester(jestConfigPath?: string, jestModulePath?: string): Tester {\n const pathToSource = pathNormalizeToLinux(__dirname).replace('/dist', '');\n const defaultConfig = join(pathToSource, './jest/jest.cjs.config.js');\n const config = jestConfigPath || defaultConfig;\n return this.jestAspect.createTester(config, jestModulePath || require.resolve('jest'));\n }\n\n /**\n * @deprecated use createEsmJestTester()\n */\n getEsmJestTester(jestConfigPath?: string, jestModulePath?: string): Tester {\n return this.createEsmJestTester(jestConfigPath, jestModulePath);\n }\n\n /**\n * Get a jest tester instance with react config and esm configs\n * @param jestConfigPath\n * @param jestModulePath\n * @returns\n */\n createEsmJestTester(jestConfigPath?: string, jestModulePath?: string): Tester {\n const pathToSource = pathNormalizeToLinux(__dirname).replace('/dist', '');\n const defaultConfig = join(pathToSource, './jest/jest.esm.config.js');\n const config = jestConfigPath || defaultConfig;\n return this.jestAspect.createTester(config, jestModulePath || require.resolve('jest'));\n }\n\n /**\n * returns a component tester.\n */\n getTester(jestConfigPath: string, jestModulePath?: string): Tester {\n // return this.createEsmJestTester(jestConfigPath, jestModulePath);\n return this.createCjsJestTester(jestConfigPath, jestModulePath);\n }\n\n private createTsCompilerOptions(mode: CompilerMode = 'dev'): TypeScriptCompilerOptions {\n const tsconfig = mode === 'dev' ? cloneDeep(defaultTsConfig) : cloneDeep(buildTsConfig);\n const pathToSource = pathNormalizeToLinux(__dirname).replace('/dist/', '/src/');\n const compileJs = true;\n const compileJsx = true;\n return {\n tsconfig,\n // TODO: @david please remove this line and refactor to be something that makes sense.\n types: [resolve(pathToSource, './typescript/style.d.ts'), resolve(pathToSource, './typescript/asset.d.ts')],\n compileJs,\n compileJsx,\n };\n }\n\n /**\n * @deprecated use createTsCjsCompiler()\n */\n getTsCjsCompiler(mode: CompilerMode = 'dev', transformers: TsConfigTransformer[] = [], tsModule = ts) {\n return this.createTsCjsCompiler(mode, transformers, tsModule);\n }\n\n /**\n * Get a compiler instance with react config and set it to cjs module\n * @param mode\n * @param transformers\n * @param tsModule\n * @returns\n */\n createTsCjsCompiler(mode: CompilerMode = 'dev', transformers: TsConfigTransformer[] = [], tsModule = ts) {\n const tsCompileOptions = this.createTsCompilerOptions(mode);\n return this.tsAspect.createCjsCompiler(tsCompileOptions, transformers, tsModule);\n }\n\n /**\n * @deprecated use createTsEsmCompiler()\n */\n getTsEsmCompiler(mode: CompilerMode = 'dev', transformers: TsConfigTransformer[] = [], tsModule = ts) {\n this.createTsEsmCompiler(mode, transformers, tsModule);\n }\n\n /**\n * Get a compiler instance with react config and set it to esm module\n * @param mode\n * @param transformers\n * @param tsModule\n * @returns\n */\n createTsEsmCompiler(mode: CompilerMode = 'dev', transformers: TsConfigTransformer[] = [], tsModule = ts) {\n const tsCompileOptions = this.createTsCompilerOptions(mode);\n return this.tsAspect.createEsmCompiler(tsCompileOptions, transformers, tsModule);\n }\n\n getCompiler(transformers: TsConfigTransformer[] = [], tsModule = ts) {\n // return this.getTsEsmCompiler('dev', transformers, tsModule);\n return this.createTsCjsCompiler('dev', transformers, tsModule);\n }\n\n /**\n * returns and configures the component linter.\n */\n getLinter(context: LinterContext, transformers: EslintConfigTransformer[] = []): Linter {\n const tsConfig = this.createTsCompilerOptions('dev').tsconfig;\n\n const defaultTransformer: EslintConfigTransformer = (configMutator) => {\n configMutator.addExtensionTypes(['.md', '.mdx']);\n configMutator.setTsConfig(tsConfig);\n return configMutator;\n };\n\n const allTransformers = [defaultTransformer, ...transformers];\n\n return this.eslint.createLinter(\n context,\n {\n config: eslintConfig,\n // resolve all plugins from the react environment.\n pluginPath: __dirname,\n },\n allTransformers\n );\n }\n\n /**\n * returns and configures the component formatter.\n */\n getFormatter(context: FormatterContext, transformers: PrettierConfigTransformer[] = []): Formatter {\n return this.prettier.createFormatter(\n { check: context?.check },\n {\n config: prettierConfig,\n },\n transformers\n );\n }\n\n private getFileMap(components: Component[], local = false) {\n return components.reduce<{ [key: string]: ComponentMeta }>((index, component: Component) => {\n component.state.filesystem.files.forEach((file) => {\n index[file.path] = {\n id: component.id.toString(),\n homepage: local ? `/${component.id.fullName}` : ComponentUrl.toUrl(component.id),\n };\n });\n\n return index;\n }, {});\n }\n\n private writeFileMap(components: Component[], local?: boolean) {\n const fileMap = this.getFileMap(components, local);\n const path = join(tmpdir(), `${Math.random().toString(36).slice(2, 11)}.json`);\n outputFileSync(path, JSON.stringify(fileMap));\n return path;\n }\n\n /**\n * required for `bit start`\n */\n getDevEnvId(id?: string) {\n if (typeof id !== 'string') return ReactAspect.id;\n return id || ReactAspect.id;\n }\n\n /**\n * get a schema generator instance configured with the correct tsconfig.\n */\n getSchemaExtractor(tsconfig: TsConfigSourceFile, tsserverPath?: string, contextPath?: string): SchemaExtractor {\n return this.tsAspect.createSchemaExtractor(this.getTsConfig(tsconfig), tsserverPath, contextPath);\n }\n\n /**\n * returns and configures the React component dev server.\n * required for `bit start`\n */\n getDevServer(\n context: DevServerContext,\n transformers: WebpackConfigTransformer[] = [],\n webpackModulePath?: string,\n webpackDevServerModulePath?: string\n ): DevServer {\n const baseConfig = basePreviewConfigFactory(false);\n const envDevConfig = envPreviewDevConfigFactory(context.id);\n const componentDevConfig = componentPreviewDevConfigFactory(this.workspace.path, context.id);\n\n const defaultTransformer: WebpackConfigTransformer = (configMutator) => {\n const merged = configMutator.merge([baseConfig, envDevConfig, componentDevConfig]);\n return merged;\n };\n\n return this.webpack.createDevServer(\n context,\n [defaultTransformer, ...transformers],\n webpackModulePath,\n webpackDevServerModulePath\n );\n }\n\n async getBundler(\n context: BundlerContext,\n transformers: WebpackConfigTransformer[] = [],\n webpackModulePath?: string\n ): Promise<Bundler> {\n return this.createComponentsWebpackBundler(context, transformers, webpackModulePath);\n }\n\n async createComponentsWebpackBundler(\n context: BundlerContext,\n transformers: WebpackConfigTransformer[] = [],\n webpackModulePath?: string\n ): Promise<Bundler> {\n const baseConfig = basePreviewConfigFactory(!context.development);\n const baseProdConfig = basePreviewProdConfigFactory(context.development);\n const componentProdConfig = componentPreviewProdConfigFactory();\n\n const defaultTransformer: WebpackConfigTransformer = (configMutator) => {\n const merged = configMutator.merge([baseConfig, baseProdConfig, componentProdConfig]);\n return merged;\n };\n const mergedTransformers = [defaultTransformer, ...transformers];\n return this.createWebpackBundler(context, mergedTransformers, webpackModulePath);\n }\n\n async createTemplateWebpackBundler(\n context: BundlerContext,\n transformers: WebpackConfigTransformer[] = [],\n webpackModulePath?: string\n ): Promise<Bundler> {\n const baseConfig = basePreviewConfigFactory(!context.development);\n const baseProdConfig = basePreviewProdConfigFactory(context.development);\n const templateConfig = templateWebpackConfigFactory();\n\n const defaultTransformer: WebpackConfigTransformer = (configMutator) => {\n const merged = configMutator.merge([baseConfig, baseProdConfig, templateConfig]);\n return merged;\n };\n const mergedTransformers = [defaultTransformer, ...transformers];\n return this.createWebpackBundler(context, mergedTransformers, webpackModulePath);\n }\n\n private async createWebpackBundler(\n context: BundlerContext,\n transformers: WebpackConfigTransformer[] = [],\n webpackModulePath?: string\n ): Promise<Bundler> {\n return this.webpack.createBundler(context, transformers, undefined, webpackModulePath);\n }\n\n getAdditionalHostDependencies(): string[] {\n return ['@teambit/mdx.ui.mdx-scope-context', '@mdx-js/react', 'react', 'react-dom'];\n }\n\n /**\n * returns a path to a docs template.\n */\n getDocsTemplate() {\n return require.resolve('@teambit/react.ui.docs-app');\n }\n\n icon = 'https://static.bit.dev/extensions-icons/react.svg';\n\n /**\n * returns the path to the compositions template\n */\n getMounter() {\n return require.resolve('@teambit/react.ui.compositions-app');\n }\n\n getPreviewConfig() {\n return {\n strategyName: COMPONENT_PREVIEW_STRATEGY_NAME as PreviewStrategyName,\n splitComponentBundle: true,\n isScaling: true,\n };\n }\n\n /**\n * define the package json properties to add to each component.\n */\n getPackageJsonProps(): PackageJsonProps {\n // React compile by default to esm, so uses type module\n // return this.getEsmPackageJsonProps();\n return this.getCjsPackageJsonProps();\n }\n\n /**\n * @deprecated use createCjsPackageJsonProps()\n */\n getCjsPackageJsonProps(): PackageJsonProps {\n return this.createCjsPackageJsonProps();\n }\n\n /**\n * Get the default package.json props for a cjs component\n * @returns\n */\n createCjsPackageJsonProps(): PackageJsonProps {\n return this.tsAspect.getCjsPackageJsonProps();\n }\n\n /**\n * @deprecated use createEsmPackageJsonProps()\n */\n getEsmPackageJsonProps(): PackageJsonProps {\n return this.createEsmPackageJsonProps();\n }\n\n /**\n * Get the default package.json props for an esm component\n * @returns\n */\n createEsmPackageJsonProps(): PackageJsonProps {\n return this.tsAspect.getEsmPackageJsonProps();\n }\n\n getNpmIgnore() {\n // ignores only .ts files in the root directory, so d.ts files inside dists are unaffected.\n // without this change, the package has \"index.ts\" file in the root, causing typescript to parse it instead of the\n // d.ts files. (changing the \"types\" prop in the package.json file doesn't help).\n return [`${CAPSULE_ARTIFACTS_DIR}/`];\n }\n\n /**\n * adds dependencies to all configured components.\n */\n getDependencies() {\n return {\n dependencies: {\n react: '-',\n 'react-dom': '-',\n // 'core-js': '^3.0.0',\n },\n // TODO: add this only if using ts\n devDependencies: {\n react: '-',\n 'react-dom': '-',\n '@types/mocha': '-',\n '@types/node': '12.20.4',\n '@types/react': '^17.0.8',\n '@types/react-dom': '^17.0.5',\n '@types/jest': '^26.0.0',\n // This is added as dev dep since our jest file transformer uses babel plugins that require this to be installed\n // '@babel/runtime': '7.20.0',\n '@types/testing-library__jest-dom': '5.9.5',\n },\n peerDependencies: {\n react: '^16.8.0 || ^17.0.0',\n 'react-dom': '^16.8.0 || ^17.0.0',\n },\n };\n }\n\n /**\n * returns the component build pipeline.\n */\n getBuildPipe(modifiers: GetBuildPipeModifiers = {}): BuildTask[] {\n const transformers: Function[] = modifiers?.tsModifier?.transformers || [];\n return [this.createCjsCompilerTask(transformers, modifiers?.tsModifier?.module || ts), this.tester.task];\n }\n\n /**\n * @deprecated use createBuildPipeWithoutCompiler()\n */\n getBuildPipeWithoutCompiler(): BuildTask[] {\n return this.createBuildPipeWithoutCompiler();\n }\n\n /**\n * Get the react build pipeline without the compilation task.\n * This help in cases you want to only replace the compilation task with something else\n * @returns\n */\n createBuildPipeWithoutCompiler(): BuildTask[] {\n const pipeWithoutCompiler = this.getBuildPipe().filter((task) => task.aspectId !== this.compilerAspectId);\n return pipeWithoutCompiler;\n }\n\n /**\n * @deprecated use createEsmCompilerTask()\n */\n getEsmCompilerTask(transformers: TsConfigTransformer[] = [], tsModule = ts) {\n return this.createEsmCompilerTask(transformers as Function[], tsModule);\n }\n\n /**\n * Get a compiler task with react config and set to esm module\n * @param transformers\n * @param tsModule\n * @returns\n */\n createEsmCompilerTask(transformers: Function[] = [], tsModule = ts) {\n const tsCompiler = this.createTsEsmCompiler('build', transformers as TsConfigTransformer[], tsModule);\n return this.compiler.createTask('TSCompiler', tsCompiler);\n }\n\n /**\n * @deprecated use createCjsCompilerTask()\n * */\n getCjsCompilerTask(transformers: TsConfigTransformer[] = [], tsModule = ts) {\n return this.createCjsCompilerTask(transformers as Function[], tsModule);\n }\n\n /**\n * Get a compiler task with react config and set to cjs module\n * @param transformers\n * @param tsModule\n * @returns\n */\n createCjsCompilerTask(transformers: Function[] = [], tsModule = ts) {\n const tsCompiler = this.createTsCjsCompiler('build', transformers as TsConfigTransformer[], tsModule);\n return this.compiler.createTask('TSCompiler', tsCompiler);\n }\n\n workspaceConfig(): ConfigWriterEntry[] {\n return [\n TypescriptConfigWriter.create(\n {\n tsconfig: require.resolve('./typescript/tsconfig.cjs.json'),\n // types: resolveTypes(__dirname, [\"./types\"]),\n },\n this.logger\n ),\n EslintConfigWriter.create(\n {\n configPath: require.resolve('./eslint/eslintrc.js'),\n tsconfig: require.resolve('./typescript/tsconfig.cjs.json'),\n },\n this.logger\n ),\n PrettierConfigWriter.create(\n {\n configPath: require.resolve('./prettier/prettier.config.js'),\n },\n this.logger\n ),\n ];\n }\n\n async __getDescriptor() {\n return {\n type: ReactEnvType,\n };\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,IAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,GAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAI,kBAAA;EAAA,MAAAJ,IAAA,GAAAE,OAAA;EAAAE,iBAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,SAAA;EAAA,MAAAL,IAAA,GAAAE,OAAA;EAAAG,QAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,QAAA;EAAA,MAAAN,IAAA,GAAAE,OAAA;EAAAI,OAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAO,SAAA;EAAA,MAAAP,IAAA,GAAAE,OAAA;EAAAK,QAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAQ,UAAA;EAAA,MAAAR,IAAA,GAAAE,OAAA;EAAAM,SAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAS,aAAA;EAAA,MAAAT,IAAA,GAAAE,OAAA;EAAAO,YAAA,YAAAA,CAAA;IAAA,OAAAT,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAU,WAAA;EAAA,MAAAV,IAAA,GAAAE,OAAA;EAAAQ,UAAA,YAAAA,CAAA;IAAA,OAAAV,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AA0BA,SAAAW,OAAA;EAAA,MAAAX,IAAA,GAAAE,OAAA;EAAAS,MAAA,YAAAA,CAAA;IAAA,OAAAX,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAY,MAAA;EAAA,MAAAZ,IAAA,GAAAE,OAAA;EAAAU,KAAA,YAAAA,CAAA;IAAA,OAAAZ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAa,SAAA;EAAA,MAAAb,IAAA,GAAAE,OAAA;EAAAW,QAAA,YAAAA,CAAA;IAAA,OAAAb,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAWA,SAAAc,OAAA;EAAA,MAAAd,IAAA,GAAAE,OAAA;EAAAY,MAAA,YAAAA,CAAA;IAAA,OAAAd,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAe,eAAA;EAAA,MAAAf,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAa,cAAA,YAAAA,CAAA;IAAA,OAAAf,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAgB,mBAAA;EAAA,MAAAhB,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAc,kBAAA,YAAAA,CAAA;IAAA,OAAAhB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAIA,SAAAiB,kBAAA;EAAA,MAAAjB,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAe,iBAAA,YAAAA,CAAA;IAAA,OAAAjB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAkB,mBAAA;EAAA,MAAAlB,IAAA,GAAAE,OAAA;EAAAgB,kBAAA,YAAAA,CAAA;IAAA,OAAAlB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAmB,wBAAA;EAAA,MAAAnB,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAiB,uBAAA,YAAAA,CAAA;IAAA,OAAAnB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAoB,yBAAA;EAAA,MAAApB,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAkB,wBAAA,YAAAA,CAAA;IAAA,OAAApB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAsF,SAAAC,uBAAAoB,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,gBAAAH,GAAA,EAAAI,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAJ,GAAA,IAAAO,MAAA,CAAAC,cAAA,CAAAR,GAAA,EAAAI,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAI,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAX,GAAA,CAAAI,GAAA,IAAAC,KAAA,WAAAL,GAAA;AAAA,SAAAM,eAAAM,GAAA,QAAAR,GAAA,GAAAS,YAAA,CAAAD,GAAA,2BAAAR,GAAA,gBAAAA,GAAA,GAAAU,MAAA,CAAAV,GAAA;AAAA,SAAAS,aAAAE,KAAA,EAAAC,IAAA,eAAAD,KAAA,iBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAAG,SAAA,QAAAC,GAAA,GAAAJ,IAAA,CAAAK,IAAA,CAAAP,KAAA,EAAAC,IAAA,2BAAAK,GAAA,sBAAAA,GAAA,YAAAE,SAAA,4DAAAP,IAAA,gBAAAF,MAAA,GAAAU,MAAA,EAAAT,KAAA,KAnBtF;AACA;AAEA;AACA;AAIA;AAIA;AACA;AAIA;AAIO,MAAMU,YAAY,GAAG,OAAO;AAACC,OAAA,CAAAD,YAAA,GAAAA,YAAA;AACpC,MAAME,eAAe,GAAG9C,OAAO,CAAC,4BAA4B,CAAC;AAC7D,MAAM+C,aAAa,GAAG/C,OAAO,CAAC,kCAAkC,CAAC;AACjE,MAAMgD,YAAY,GAAGhD,OAAO,CAAC,mBAAmB,CAAC;AACjD,MAAMiD,cAAc,GAAGjD,OAAO,CAAC,+BAA+B,CAAC;;AAE/D;;AAOA;AACA;AACA;AACO,MAAMkD,QAAQ,CAErB;EACEC,WAAWA;EACT;AACJ;AACA;EACYC,UAAoB;EAE5B;AACJ;AACA;EACcC,QAAwB;EAElC;AACJ;AACA;EACYC,QAAsB;EAE9B;AACJ;AACA;EACYC,OAAoB;EAE5B;AACJ;AACA;EACYC,SAAoB;EAE5B;AACJ;AACA;EACYC,GAAY;EAEpB;AACJ;AACA;EACYC,MAAkB,EAElBC,MAAuB,EAEvBC,MAAkB,EAElBC,QAAsB,EAEtBC,kBAA0C,EAE1CC,MAAc,EAEdC,gBAAwB,EAChC;IAAA,KA3CQZ,UAAoB,GAApBA,UAAoB;IAAA,KAKlBC,QAAwB,GAAxBA,QAAwB;IAAA,KAK1BC,QAAsB,GAAtBA,QAAsB;IAAA,KAKtBC,OAAoB,GAApBA,OAAoB;IAAA,KAKpBC,SAAoB,GAApBA,SAAoB;IAAA,KAKpBC,GAAY,GAAZA,GAAY;IAAA,KAKZC,MAAkB,GAAlBA,MAAkB;IAAA,KAElBC,MAAuB,GAAvBA,MAAuB;IAAA,KAEvBC,MAAkB,GAAlBA,MAAkB;IAAA,KAElBC,QAAsB,GAAtBA,QAAsB;IAAA,KAEtBC,kBAA0C,GAA1CA,kBAA0C;IAAA,KAE1CC,MAAc,GAAdA,MAAc;IAAA,KAEdC,gBAAwB,GAAxBA,gBAAwB;IAAA1C,eAAA,eAqR3B,mDAAmD;EApRvD;EAEH2C,WAAWA,CAACC,cAAmC,EAAsB;IACnE,OAAOA,cAAc,GAAG,IAAAC,eAAK,EAAC,CAAC,CAAC,EAAErB,eAAe,EAAEoB,cAAc,CAAC,GAAGpB,eAAe;EACtF;EAEAsB,gBAAgBA,CAACF,cAAmC,EAAsB;IACxE,OAAOA,cAAc,GAAG,IAAAC,eAAK,EAAC,CAAC,CAAC,EAAEpB,aAAa,EAAEmB,cAAc,CAAC,GAAGnB,aAAa;EAClF;;EAEA;AACF;AACA;EACEsB,gBAAgBA,CAACC,cAAuB,EAAEC,cAAuB,EAAU;IACzE,OAAO,IAAI,CAACC,mBAAmB,CAACF,cAAc,EAAEC,cAAc,CAAC;EACjE;;EAEA;AACF;AACA;AACA;AACA;AACA;EACEC,mBAAmBA,CAACF,cAAuB,EAAEC,cAAuB,EAAU;IAC5E,MAAME,YAAY,GAAG,IAAAC,6BAAoB,EAACC,SAAS,CAAC,CAACC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;IACzE,MAAMC,aAAa,GAAG,IAAAC,YAAI,EAACL,YAAY,EAAE,2BAA2B,CAAC;IACrE,MAAMd,MAAM,GAAGW,cAAc,IAAIO,aAAa;IAC9C,OAAO,IAAI,CAACzB,UAAU,CAAC2B,YAAY,CAACpB,MAAM,EAAEY,cAAc,IAAIvE,OAAO,CAACgF,OAAO,CAAC,MAAM,CAAC,CAAC;EACxF;;EAEA;AACF;AACA;EACEC,gBAAgBA,CAACX,cAAuB,EAAEC,cAAuB,EAAU;IACzE,OAAO,IAAI,CAACW,mBAAmB,CAACZ,cAAc,EAAEC,cAAc,CAAC;EACjE;;EAEA;AACF;AACA;AACA;AACA;AACA;EACEW,mBAAmBA,CAACZ,cAAuB,EAAEC,cAAuB,EAAU;IAC5E,MAAME,YAAY,GAAG,IAAAC,6BAAoB,EAACC,SAAS,CAAC,CAACC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;IACzE,MAAMC,aAAa,GAAG,IAAAC,YAAI,EAACL,YAAY,EAAE,2BAA2B,CAAC;IACrE,MAAMd,MAAM,GAAGW,cAAc,IAAIO,aAAa;IAC9C,OAAO,IAAI,CAACzB,UAAU,CAAC2B,YAAY,CAACpB,MAAM,EAAEY,cAAc,IAAIvE,OAAO,CAACgF,OAAO,CAAC,MAAM,CAAC,CAAC;EACxF;;EAEA;AACF;AACA;EACEG,SAASA,CAACb,cAAsB,EAAEC,cAAuB,EAAU;IACjE;IACA,OAAO,IAAI,CAACC,mBAAmB,CAACF,cAAc,EAAEC,cAAc,CAAC;EACjE;EAEQa,uBAAuBA,CAACC,IAAkB,GAAG,KAAK,EAA6B;IACrF,MAAMC,QAAQ,GAAGD,IAAI,KAAK,KAAK,GAAG,IAAAE,mBAAS,EAACzC,eAAe,CAAC,GAAG,IAAAyC,mBAAS,EAACxC,aAAa,CAAC;IACvF,MAAM0B,YAAY,GAAG,IAAAC,6BAAoB,EAACC,SAAS,CAAC,CAACC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC/E,MAAMY,SAAS,GAAG,IAAI;IACtB,MAAMC,UAAU,GAAG,IAAI;IACvB,OAAO;MACLH,QAAQ;MACR;MACAI,KAAK,EAAE,CAAC,IAAAV,eAAO,EAACP,YAAY,EAAE,yBAAyB,CAAC,EAAE,IAAAO,eAAO,EAACP,YAAY,EAAE,yBAAyB,CAAC,CAAC;MAC3Ge,SAAS;MACTC;IACF,CAAC;EACH;;EAEA;AACF;AACA;EACEE,gBAAgBA,CAACN,IAAkB,GAAG,KAAK,EAAEO,YAAmC,GAAG,EAAE,EAAEC,QAAQ,GAAGC,qBAAE,EAAE;IACpG,OAAO,IAAI,CAACC,mBAAmB,CAACV,IAAI,EAAEO,YAAY,EAAEC,QAAQ,CAAC;EAC/D;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACEE,mBAAmBA,CAACV,IAAkB,GAAG,KAAK,EAAEO,YAAmC,GAAG,EAAE,EAAEC,QAAQ,GAAGC,qBAAE,EAAE;IACvG,MAAME,gBAAgB,GAAG,IAAI,CAACZ,uBAAuB,CAACC,IAAI,CAAC;IAC3D,OAAO,IAAI,CAAChC,QAAQ,CAAC4C,iBAAiB,CAACD,gBAAgB,EAAEJ,YAAY,EAAEC,QAAQ,CAAC;EAClF;;EAEA;AACF;AACA;EACEK,gBAAgBA,CAACb,IAAkB,GAAG,KAAK,EAAEO,YAAmC,GAAG,EAAE,EAAEC,QAAQ,GAAGC,qBAAE,EAAE;IACpG,IAAI,CAACK,mBAAmB,CAACd,IAAI,EAAEO,YAAY,EAAEC,QAAQ,CAAC;EACxD;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACEM,mBAAmBA,CAACd,IAAkB,GAAG,KAAK,EAAEO,YAAmC,GAAG,EAAE,EAAEC,QAAQ,GAAGC,qBAAE,EAAE;IACvG,MAAME,gBAAgB,GAAG,IAAI,CAACZ,uBAAuB,CAACC,IAAI,CAAC;IAC3D,OAAO,IAAI,CAAChC,QAAQ,CAAC+C,iBAAiB,CAACJ,gBAAgB,EAAEJ,YAAY,EAAEC,QAAQ,CAAC;EAClF;EAEAQ,WAAWA,CAACT,YAAmC,GAAG,EAAE,EAAEC,QAAQ,GAAGC,qBAAE,EAAE;IACnE;IACA,OAAO,IAAI,CAACC,mBAAmB,CAAC,KAAK,EAAEH,YAAY,EAAEC,QAAQ,CAAC;EAChE;;EAEA;AACF;AACA;EACES,SAASA,CAACC,OAAsB,EAAEX,YAAuC,GAAG,EAAE,EAAU;IACtF,MAAMY,QAAQ,GAAG,IAAI,CAACpB,uBAAuB,CAAC,KAAK,CAAC,CAACE,QAAQ;IAE7D,MAAMmB,kBAA2C,GAAIC,aAAa,IAAK;MACrEA,aAAa,CAACC,iBAAiB,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;MAChDD,aAAa,CAACE,WAAW,CAACJ,QAAQ,CAAC;MACnC,OAAOE,aAAa;IACtB,CAAC;IAED,MAAMG,eAAe,GAAG,CAACJ,kBAAkB,EAAE,GAAGb,YAAY,CAAC;IAE7D,OAAO,IAAI,CAAChC,MAAM,CAACkD,YAAY,CAC7BP,OAAO,EACP;MACE5C,MAAM,EAAEX,YAAY;MACpB;MACA+D,UAAU,EAAEpC;IACd,CAAC,EACDkC,eACF,CAAC;EACH;;EAEA;AACF;AACA;EACEG,YAAYA,CAACT,OAAyB,EAAEX,YAAyC,GAAG,EAAE,EAAa;IACjG,OAAO,IAAI,CAAC/B,QAAQ,CAACoD,eAAe,CAClC;MAAEC,KAAK,EAAEX,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEW;IAAM,CAAC,EACzB;MACEvD,MAAM,EAAEV;IACV,CAAC,EACD2C,YACF,CAAC;EACH;EAEQuB,UAAUA,CAACC,UAAuB,EAAEC,KAAK,GAAG,KAAK,EAAE;IACzD,OAAOD,UAAU,CAACE,MAAM,CAAmC,CAACC,KAAK,EAAEC,SAAoB,KAAK;MAC1FA,SAAS,CAACC,KAAK,CAACC,UAAU,CAACC,KAAK,CAACC,OAAO,CAAEC,IAAI,IAAK;QACjDN,KAAK,CAACM,IAAI,CAACC,IAAI,CAAC,GAAG;UACjBC,EAAE,EAAEP,SAAS,CAACO,EAAE,CAACC,QAAQ,CAAC,CAAC;UAC3BC,QAAQ,EAAEZ,KAAK,GAAI,IAAGG,SAAS,CAACO,EAAE,CAACG,QAAS,EAAC,GAAGC,gCAAY,CAACC,KAAK,CAACZ,SAAS,CAACO,EAAE;QACjF,CAAC;MACH,CAAC,CAAC;MAEF,OAAOR,KAAK;IACd,CAAC,EAAE,CAAC,CAAC,CAAC;EACR;EAEQc,YAAYA,CAACjB,UAAuB,EAAEC,KAAe,EAAE;IAC7D,MAAMiB,OAAO,GAAG,IAAI,CAACnB,UAAU,CAACC,UAAU,EAAEC,KAAK,CAAC;IAClD,MAAMS,IAAI,GAAG,IAAAhD,YAAI,EAAC,IAAAyD,YAAM,EAAC,CAAC,EAAG,GAAEC,IAAI,CAACC,MAAM,CAAC,CAAC,CAACT,QAAQ,CAAC,EAAE,CAAC,CAACU,KAAK,CAAC,CAAC,EAAE,EAAE,CAAE,OAAM,CAAC;IAC9E,IAAAC,yBAAc,EAACb,IAAI,EAAEc,IAAI,CAACC,SAAS,CAACP,OAAO,CAAC,CAAC;IAC7C,OAAOR,IAAI;EACb;;EAEA;AACF;AACA;EACEgB,WAAWA,CAACf,EAAW,EAAE;IACvB,IAAI,OAAOA,EAAE,KAAK,QAAQ,EAAE,OAAOgB,oBAAW,CAAChB,EAAE;IACjD,OAAOA,EAAE,IAAIgB,oBAAW,CAAChB,EAAE;EAC7B;;EAEA;AACF;AACA;EACEiB,kBAAkBA,CAAC1D,QAA4B,EAAE2D,YAAqB,EAAEC,WAAoB,EAAmB;IAC7G,OAAO,IAAI,CAAC7F,QAAQ,CAAC8F,qBAAqB,CAAC,IAAI,CAAClF,WAAW,CAACqB,QAAQ,CAAC,EAAE2D,YAAY,EAAEC,WAAW,CAAC;EACnG;;EAEA;AACF;AACA;AACA;EACEE,YAAYA,CACV7C,OAAyB,EACzBX,YAAwC,GAAG,EAAE,EAC7CyD,iBAA0B,EAC1BC,0BAAmC,EACxB;IACX,MAAMC,UAAU,GAAG,IAAAC,wBAAwB,EAAC,KAAK,CAAC;IAClD,MAAMC,YAAY,GAAG,IAAAC,2BAA0B,EAACnD,OAAO,CAACwB,EAAE,CAAC;IAC3D,MAAM4B,kBAAkB,GAAG,IAAAC,kCAAgC,EAAC,IAAI,CAACpG,SAAS,CAACsE,IAAI,EAAEvB,OAAO,CAACwB,EAAE,CAAC;IAE5F,MAAMtB,kBAA4C,GAAIC,aAAa,IAAK;MACtE,MAAMmD,MAAM,GAAGnD,aAAa,CAACvC,KAAK,CAAC,CAACoF,UAAU,EAAEE,YAAY,EAAEE,kBAAkB,CAAC,CAAC;MAClF,OAAOE,MAAM;IACf,CAAC;IAED,OAAO,IAAI,CAACtG,OAAO,CAACuG,eAAe,CACjCvD,OAAO,EACP,CAACE,kBAAkB,EAAE,GAAGb,YAAY,CAAC,EACrCyD,iBAAiB,EACjBC,0BACF,CAAC;EACH;EAEA,MAAMS,UAAUA,CACdxD,OAAuB,EACvBX,YAAwC,GAAG,EAAE,EAC7CyD,iBAA0B,EACR;IAClB,OAAO,IAAI,CAACW,8BAA8B,CAACzD,OAAO,EAAEX,YAAY,EAAEyD,iBAAiB,CAAC;EACtF;EAEA,MAAMW,8BAA8BA,CAClCzD,OAAuB,EACvBX,YAAwC,GAAG,EAAE,EAC7CyD,iBAA0B,EACR;IAClB,MAAME,UAAU,GAAG,IAAAC,wBAAwB,EAAC,CAACjD,OAAO,CAAC0D,WAAW,CAAC;IACjE,MAAMC,cAAc,GAAG,IAAAC,4BAA4B,EAAC5D,OAAO,CAAC0D,WAAW,CAAC;IACxE,MAAMG,mBAAmB,GAAG,IAAAC,iCAAiC,EAAC,CAAC;IAE/D,MAAM5D,kBAA4C,GAAIC,aAAa,IAAK;MACtE,MAAMmD,MAAM,GAAGnD,aAAa,CAACvC,KAAK,CAAC,CAACoF,UAAU,EAAEW,cAAc,EAAEE,mBAAmB,CAAC,CAAC;MACrF,OAAOP,MAAM;IACf,CAAC;IACD,MAAMS,kBAAkB,GAAG,CAAC7D,kBAAkB,EAAE,GAAGb,YAAY,CAAC;IAChE,OAAO,IAAI,CAAC2E,oBAAoB,CAAChE,OAAO,EAAE+D,kBAAkB,EAAEjB,iBAAiB,CAAC;EAClF;EAEA,MAAMmB,4BAA4BA,CAChCjE,OAAuB,EACvBX,YAAwC,GAAG,EAAE,EAC7CyD,iBAA0B,EACR;IAClB,MAAME,UAAU,GAAG,IAAAC,wBAAwB,EAAC,CAACjD,OAAO,CAAC0D,WAAW,CAAC;IACjE,MAAMC,cAAc,GAAG,IAAAC,4BAA4B,EAAC5D,OAAO,CAAC0D,WAAW,CAAC;IACxE,MAAMQ,cAAc,GAAG,IAAAC,iDAA4B,EAAC,CAAC;IAErD,MAAMjE,kBAA4C,GAAIC,aAAa,IAAK;MACtE,MAAMmD,MAAM,GAAGnD,aAAa,CAACvC,KAAK,CAAC,CAACoF,UAAU,EAAEW,cAAc,EAAEO,cAAc,CAAC,CAAC;MAChF,OAAOZ,MAAM;IACf,CAAC;IACD,MAAMS,kBAAkB,GAAG,CAAC7D,kBAAkB,EAAE,GAAGb,YAAY,CAAC;IAChE,OAAO,IAAI,CAAC2E,oBAAoB,CAAChE,OAAO,EAAE+D,kBAAkB,EAAEjB,iBAAiB,CAAC;EAClF;EAEA,MAAckB,oBAAoBA,CAChChE,OAAuB,EACvBX,YAAwC,GAAG,EAAE,EAC7CyD,iBAA0B,EACR;IAClB,OAAO,IAAI,CAAC9F,OAAO,CAACoH,aAAa,CAACpE,OAAO,EAAEX,YAAY,EAAErD,SAAS,EAAE8G,iBAAiB,CAAC;EACxF;EAEAuB,6BAA6BA,CAAA,EAAa;IACxC,OAAO,CAAC,mCAAmC,EAAE,eAAe,EAAE,OAAO,EAAE,WAAW,CAAC;EACrF;;EAEA;AACF;AACA;EACEC,eAAeA,CAAA,EAAG;IAChB,OAAO7K,OAAO,CAACgF,OAAO,CAAC,4BAA4B,CAAC;EACtD;EAIA;AACF;AACA;EACE8F,UAAUA,CAAA,EAAG;IACX,OAAO9K,OAAO,CAACgF,OAAO,CAAC,oCAAoC,CAAC;EAC9D;EAEA+F,gBAAgBA,CAAA,EAAG;IACjB,OAAO;MACLC,YAAY,EAAEC,0CAAsD;MACpEC,oBAAoB,EAAE,IAAI;MAC1BC,SAAS,EAAE;IACb,CAAC;EACH;;EAEA;AACF;AACA;EACEC,mBAAmBA,CAAA,EAAqB;IACtC;IACA;IACA,OAAO,IAAI,CAACC,sBAAsB,CAAC,CAAC;EACtC;;EAEA;AACF;AACA;EACEA,sBAAsBA,CAAA,EAAqB;IACzC,OAAO,IAAI,CAACC,yBAAyB,CAAC,CAAC;EACzC;;EAEA;AACF;AACA;AACA;EACEA,yBAAyBA,CAAA,EAAqB;IAC5C,OAAO,IAAI,CAACjI,QAAQ,CAACgI,sBAAsB,CAAC,CAAC;EAC/C;;EAEA;AACF;AACA;EACEE,sBAAsBA,CAAA,EAAqB;IACzC,OAAO,IAAI,CAACC,yBAAyB,CAAC,CAAC;EACzC;;EAEA;AACF;AACA;AACA;EACEA,yBAAyBA,CAAA,EAAqB;IAC5C,OAAO,IAAI,CAACnI,QAAQ,CAACkI,sBAAsB,CAAC,CAAC;EAC/C;EAEAE,YAAYA,CAAA,EAAG;IACb;IACA;IACA;IACA,OAAO,CAAE,GAAEC,gCAAsB,GAAE,CAAC;EACtC;;EAEA;AACF;AACA;EACEC,eAAeA,CAAA,EAAG;IAChB,OAAO;MACLC,YAAY,EAAE;QACZC,KAAK,EAAE,GAAG;QACV,WAAW,EAAE;QACb;MACF,CAAC;;MACD;MACAC,eAAe,EAAE;QACfD,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,GAAG;QAChB,cAAc,EAAE,GAAG;QACnB,aAAa,EAAE,SAAS;QACxB,cAAc,EAAE,SAAS;QACzB,kBAAkB,EAAE,SAAS;QAC7B,aAAa,EAAE,SAAS;QACxB;QACA;QACA,kCAAkC,EAAE;MACtC,CAAC;MACDE,gBAAgB,EAAE;QAChBF,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EAAE;MACf;IACF,CAAC;EACH;;EAEA;AACF;AACA;EACEG,YAAYA,CAACC,SAAgC,GAAG,CAAC,CAAC,EAAe;IAAA,IAAAC,qBAAA,EAAAC,sBAAA;IAC/D,MAAMvG,YAAwB,GAAG,CAAAqG,SAAS,aAATA,SAAS,wBAAAC,qBAAA,GAATD,SAAS,CAAEG,UAAU,cAAAF,qBAAA,uBAArBA,qBAAA,CAAuBtG,YAAY,KAAI,EAAE;IAC1E,OAAO,CAAC,IAAI,CAACyG,qBAAqB,CAACzG,YAAY,EAAE,CAAAqG,SAAS,aAATA,SAAS,wBAAAE,sBAAA,GAATF,SAAS,CAAEG,UAAU,cAAAD,sBAAA,uBAArBA,sBAAA,CAAuBG,MAAM,KAAIxG,qBAAE,CAAC,EAAE,IAAI,CAACpC,MAAM,CAAC6I,IAAI,CAAC;EAC1G;;EAEA;AACF;AACA;EACEC,2BAA2BA,CAAA,EAAgB;IACzC,OAAO,IAAI,CAACC,8BAA8B,CAAC,CAAC;EAC9C;;EAEA;AACF;AACA;AACA;AACA;EACEA,8BAA8BA,CAAA,EAAgB;IAC5C,MAAMC,mBAAmB,GAAG,IAAI,CAACV,YAAY,CAAC,CAAC,CAACW,MAAM,CAAEJ,IAAI,IAAKA,IAAI,CAACK,QAAQ,KAAK,IAAI,CAAC5I,gBAAgB,CAAC;IACzG,OAAO0I,mBAAmB;EAC5B;;EAEA;AACF;AACA;EACEG,kBAAkBA,CAACjH,YAAmC,GAAG,EAAE,EAAEC,QAAQ,GAAGC,qBAAE,EAAE;IAC1E,OAAO,IAAI,CAACgH,qBAAqB,CAAClH,YAAY,EAAgBC,QAAQ,CAAC;EACzE;;EAEA;AACF;AACA;AACA;AACA;AACA;EACEiH,qBAAqBA,CAAClH,YAAwB,GAAG,EAAE,EAAEC,QAAQ,GAAGC,qBAAE,EAAE;IAClE,MAAMiH,UAAU,GAAG,IAAI,CAAC5G,mBAAmB,CAAC,OAAO,EAAEP,YAAY,EAA2BC,QAAQ,CAAC;IACrG,OAAO,IAAI,CAACvC,QAAQ,CAAC0J,UAAU,CAAC,YAAY,EAAED,UAAU,CAAC;EAC3D;;EAEA;AACF;AACA;EACEE,kBAAkBA,CAACrH,YAAmC,GAAG,EAAE,EAAEC,QAAQ,GAAGC,qBAAE,EAAE;IAC1E,OAAO,IAAI,CAACuG,qBAAqB,CAACzG,YAAY,EAAgBC,QAAQ,CAAC;EACzE;;EAEA;AACF;AACA;AACA;AACA;AACA;EACEwG,qBAAqBA,CAACzG,YAAwB,GAAG,EAAE,EAAEC,QAAQ,GAAGC,qBAAE,EAAE;IAClE,MAAMiH,UAAU,GAAG,IAAI,CAAChH,mBAAmB,CAAC,OAAO,EAAEH,YAAY,EAA2BC,QAAQ,CAAC;IACrG,OAAO,IAAI,CAACvC,QAAQ,CAAC0J,UAAU,CAAC,YAAY,EAAED,UAAU,CAAC;EAC3D;EAEAG,eAAeA,CAAA,EAAwB;IACrC,OAAO,CACLC,qCAAsB,CAACC,MAAM,CAC3B;MACE9H,QAAQ,EAAEtF,OAAO,CAACgF,OAAO,CAAC,gCAAgC;MAC1D;IACF,CAAC,EACD,IAAI,CAACjB,MACP,CAAC,EACDsJ,+BAAkB,CAACD,MAAM,CACvB;MACEE,UAAU,EAAEtN,OAAO,CAACgF,OAAO,CAAC,sBAAsB,CAAC;MACnDM,QAAQ,EAAEtF,OAAO,CAACgF,OAAO,CAAC,gCAAgC;IAC5D,CAAC,EACD,IAAI,CAACjB,MACP,CAAC,EACDwJ,gCAAoB,CAACH,MAAM,CACzB;MACEE,UAAU,EAAEtN,OAAO,CAACgF,OAAO,CAAC,+BAA+B;IAC7D,CAAC,EACD,IAAI,CAACjB,MACP,CAAC,CACF;EACH;EAEA,MAAMyJ,eAAeA,CAAA,EAAG;IACtB,OAAO;MACLC,IAAI,EAAE7K;IACR,CAAC;EACH;AACF;AAACC,OAAA,CAAAK,QAAA,GAAAA,QAAA"}
1
+ {"version":3,"names":["_typescript","data","_interopRequireDefault","require","_os","_componentModules","_builder","_lodash","_preview","_defender","_typescript2","_defender2","_utils","_path","_fsExtra","_react","_webpackConfig","_webpackConfigBase","_webpackConfigEnv","_webpackConfigEnv2","_webpackConfigComponent","_webpackConfigComponent2","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","ReactEnvType","exports","defaultTsConfig","buildTsConfig","eslintConfig","prettierConfig","ReactEnv","constructor","jestAspect","tsAspect","compiler","webpack","workspace","pkg","tester","config","eslint","prettier","dependencyResolver","logger","compilerAspectId","getTsConfig","targetTsConfig","merge","getBuildTsConfig","getCjsJestTester","jestConfigPath","jestModulePath","createCjsJestTester","pathToSource","pathNormalizeToLinux","__dirname","replace","defaultConfig","join","createTester","resolve","getEsmJestTester","createEsmJestTester","getTester","createTsCompilerOptions","mode","tsconfig","cloneDeep","compileJs","compileJsx","types","getTsCjsCompiler","transformers","tsModule","ts","createTsCjsCompiler","tsCompileOptions","createCjsCompiler","getTsEsmCompiler","createTsEsmCompiler","createEsmCompiler","getCompiler","getLinter","context","tsConfig","defaultTransformer","configMutator","addExtensionTypes","setTsConfig","allTransformers","createLinter","pluginPath","getFormatter","createFormatter","check","getFileMap","components","local","reduce","index","component","state","filesystem","files","forEach","file","path","id","toString","homepage","fullName","ComponentUrl","toUrl","writeFileMap","fileMap","tmpdir","Math","random","slice","outputFileSync","JSON","stringify","getDevEnvId","ReactAspect","getSchemaExtractor","tsserverPath","contextPath","createSchemaExtractor","getDevServer","webpackModulePath","webpackDevServerModulePath","baseConfig","basePreviewConfigFactory","envDevConfig","envPreviewDevConfigFactory","componentDevConfig","componentPreviewDevConfigFactory","merged","createDevServer","getBundler","createComponentsWebpackBundler","development","baseProdConfig","basePreviewProdConfigFactory","componentProdConfig","componentPreviewProdConfigFactory","mergedTransformers","createWebpackBundler","createTemplateWebpackBundler","templateConfig","templateWebpackConfigFactory","createBundler","getAdditionalHostDependencies","getDocsTemplate","getMounter","getPreviewConfig","strategyName","COMPONENT_PREVIEW_STRATEGY_NAME","splitComponentBundle","isScaling","getPackageJsonProps","getCjsPackageJsonProps","createCjsPackageJsonProps","getEsmPackageJsonProps","createEsmPackageJsonProps","getNpmIgnore","CAPSULE_ARTIFACTS_DIR","getDependencies","dependencies","react","devDependencies","peerDependencies","getBuildPipe","modifiers","_modifiers$tsModifier","_modifiers$tsModifier2","tsModifier","createCjsCompilerTask","module","task","getBuildPipeWithoutCompiler","createBuildPipeWithoutCompiler","pipeWithoutCompiler","filter","aspectId","getEsmCompilerTask","createEsmCompilerTask","tsCompiler","createTask","getCjsCompilerTask","workspaceConfig","TypescriptConfigWriter","create","EslintConfigWriter","configPath","PrettierConfigWriter","__getDescriptor","type"],"sources":["react.env.ts"],"sourcesContent":["import ts, { TsConfigSourceFile } from 'typescript';\nimport { tmpdir } from 'os';\nimport { Component } from '@teambit/component';\nimport { ComponentUrl } from '@teambit/component.modules.component-url';\nimport { BuildTask, CAPSULE_ARTIFACTS_DIR } from '@teambit/builder';\nimport { merge, cloneDeep } from 'lodash';\nimport { Bundler, BundlerContext, DevServer, DevServerContext } from '@teambit/bundler';\nimport { COMPONENT_PREVIEW_STRATEGY_NAME, PreviewStrategyName } from '@teambit/preview';\nimport { PrettierConfigWriter } from '@teambit/defender.prettier-formatter';\nimport { TypescriptConfigWriter } from '@teambit/typescript.typescript-compiler';\nimport { EslintConfigWriter } from '@teambit/defender.eslint-linter';\nimport { CompilerMain } from '@teambit/compiler';\nimport {\n BuilderEnv,\n CompilerEnv,\n DependenciesEnv,\n DevEnv,\n LinterEnv,\n PackageEnv,\n TesterEnv,\n FormatterEnv,\n PipeServiceModifier,\n PipeServiceModifiersMap,\n} from '@teambit/envs';\nimport { JestMain } from '@teambit/jest';\nimport { PackageJsonProps, PkgMain } from '@teambit/pkg';\nimport { Tester, TesterMain } from '@teambit/tester';\nimport { TsConfigTransformer, TypescriptMain } from '@teambit/typescript';\nimport type { TypeScriptCompilerOptions } from '@teambit/typescript';\nimport { WebpackConfigTransformer, WebpackMain } from '@teambit/webpack';\nimport { Workspace } from '@teambit/workspace';\nimport { ESLintMain, EslintConfigTransformer } from '@teambit/eslint';\nimport { PrettierConfigTransformer, PrettierMain } from '@teambit/prettier';\nimport { DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { Linter, LinterContext } from '@teambit/linter';\nimport { Formatter, FormatterContext } from '@teambit/formatter';\nimport { pathNormalizeToLinux } from '@teambit/legacy/dist/utils';\nimport type { ComponentMeta } from '@teambit/react.ui.highlighter.component-metadata.bit-component-meta';\nimport { SchemaExtractor } from '@teambit/schema';\nimport { join, resolve } from 'path';\nimport { outputFileSync } from 'fs-extra';\nimport { Logger } from '@teambit/logger';\nimport { ConfigWriterEntry } from '@teambit/workspace-config-files';\n\n// ensure reactEnv depends on compositions-app\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { CompositionsApp } from '@teambit/react.ui.compositions-app';\n// ensure reactEnv depends on docs-app\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport DocsApps from '@teambit/react.ui.docs-app';\nimport type { ReactMainConfig } from './react.main.runtime';\nimport { ReactAspect } from './react.aspect';\n// webpack configs for both components and envs\nimport basePreviewConfigFactory from './webpack/webpack.config.base';\nimport basePreviewProdConfigFactory from './webpack/webpack.config.base.prod';\n\n// webpack configs for envs only\n// import devPreviewConfigFactory from './webpack/webpack.config.preview.dev';\nimport envPreviewDevConfigFactory from './webpack/webpack.config.env.dev';\nimport { templateWebpackConfigFactory } from './webpack/webpack.config.env.template';\n\n// webpack configs for components only\nimport componentPreviewProdConfigFactory from './webpack/webpack.config.component.prod';\nimport componentPreviewDevConfigFactory from './webpack/webpack.config.component.dev';\n\nexport const ReactEnvType = 'react';\nconst defaultTsConfig = require('./typescript/tsconfig.json');\nconst buildTsConfig = require('./typescript/tsconfig.build.json');\nconst eslintConfig = require('./eslint/eslintrc');\nconst prettierConfig = require('./prettier/prettier.config.js');\n\n// TODO: move to be taken from the key mode of compiler context\ntype CompilerMode = 'build' | 'dev';\n\ntype GetBuildPipeModifiers = PipeServiceModifiersMap & {\n tsModifier?: PipeServiceModifier;\n};\n\n/**\n * a component environment built for [React](https://reactjs.org) .\n */\nexport class ReactEnv\n implements TesterEnv, CompilerEnv, LinterEnv, DevEnv, BuilderEnv, DependenciesEnv, PackageEnv, FormatterEnv\n{\n constructor(\n /**\n * jest extension\n */\n private jestAspect: JestMain,\n\n /**\n * typescript extension.\n */\n protected tsAspect: TypescriptMain,\n\n /**\n * compiler extension.\n */\n private compiler: CompilerMain,\n\n /**\n * webpack extension.\n */\n private webpack: WebpackMain,\n\n /**\n * workspace extension.\n */\n private workspace: Workspace,\n\n /**\n * pkg extension.\n */\n private pkg: PkgMain,\n\n /**\n * tester extension\n */\n private tester: TesterMain,\n\n private config: ReactMainConfig,\n\n private eslint: ESLintMain,\n\n private prettier: PrettierMain,\n\n private dependencyResolver: DependencyResolverMain,\n\n private logger: Logger,\n\n private compilerAspectId: string\n ) {}\n\n getTsConfig(targetTsConfig?: TsConfigSourceFile): TsConfigSourceFile {\n return targetTsConfig ? merge({}, defaultTsConfig, targetTsConfig) : defaultTsConfig;\n }\n\n getBuildTsConfig(targetTsConfig?: TsConfigSourceFile): TsConfigSourceFile {\n return targetTsConfig ? merge({}, buildTsConfig, targetTsConfig) : buildTsConfig;\n }\n\n /**\n * @deprecated use createCjsJestTester()\n */\n getCjsJestTester(jestConfigPath?: string, jestModulePath?: string): Tester {\n return this.createCjsJestTester(jestConfigPath, jestModulePath);\n }\n\n /**\n * Get a jest tester instance with react config and cjs configs\n * @param jestConfigPath\n * @param jestModulePath\n * @returns\n */\n createCjsJestTester(jestConfigPath?: string, jestModulePath?: string): Tester {\n const pathToSource = pathNormalizeToLinux(__dirname).replace('/dist', '');\n const defaultConfig = join(pathToSource, './jest/jest.cjs.config.js');\n const config = jestConfigPath || defaultConfig;\n return this.jestAspect.createTester(config, jestModulePath || require.resolve('jest'));\n }\n\n /**\n * @deprecated use createEsmJestTester()\n */\n getEsmJestTester(jestConfigPath?: string, jestModulePath?: string): Tester {\n return this.createEsmJestTester(jestConfigPath, jestModulePath);\n }\n\n /**\n * Get a jest tester instance with react config and esm configs\n * @param jestConfigPath\n * @param jestModulePath\n * @returns\n */\n createEsmJestTester(jestConfigPath?: string, jestModulePath?: string): Tester {\n const pathToSource = pathNormalizeToLinux(__dirname).replace('/dist', '');\n const defaultConfig = join(pathToSource, './jest/jest.esm.config.js');\n const config = jestConfigPath || defaultConfig;\n return this.jestAspect.createTester(config, jestModulePath || require.resolve('jest'));\n }\n\n /**\n * returns a component tester.\n */\n getTester(jestConfigPath: string, jestModulePath?: string): Tester {\n // return this.createEsmJestTester(jestConfigPath, jestModulePath);\n return this.createCjsJestTester(jestConfigPath, jestModulePath);\n }\n\n private createTsCompilerOptions(mode: CompilerMode = 'dev'): TypeScriptCompilerOptions {\n const tsconfig = mode === 'dev' ? cloneDeep(defaultTsConfig) : cloneDeep(buildTsConfig);\n const pathToSource = pathNormalizeToLinux(__dirname).replace('/dist/', '/src/');\n const compileJs = true;\n const compileJsx = true;\n return {\n tsconfig,\n // TODO: @david please remove this line and refactor to be something that makes sense.\n types: [resolve(pathToSource, './typescript/style.d.ts'), resolve(pathToSource, './typescript/asset.d.ts')],\n compileJs,\n compileJsx,\n };\n }\n\n /**\n * @deprecated use createTsCjsCompiler()\n */\n getTsCjsCompiler(mode: CompilerMode = 'dev', transformers: TsConfigTransformer[] = [], tsModule = ts) {\n return this.createTsCjsCompiler(mode, transformers, tsModule);\n }\n\n /**\n * Get a compiler instance with react config and set it to cjs module\n * @param mode\n * @param transformers\n * @param tsModule\n * @returns\n */\n createTsCjsCompiler(mode: CompilerMode = 'dev', transformers: TsConfigTransformer[] = [], tsModule = ts) {\n const tsCompileOptions = this.createTsCompilerOptions(mode);\n return this.tsAspect.createCjsCompiler(tsCompileOptions, transformers, tsModule);\n }\n\n /**\n * @deprecated use createTsEsmCompiler()\n */\n getTsEsmCompiler(mode: CompilerMode = 'dev', transformers: TsConfigTransformer[] = [], tsModule = ts) {\n this.createTsEsmCompiler(mode, transformers, tsModule);\n }\n\n /**\n * Get a compiler instance with react config and set it to esm module\n * @param mode\n * @param transformers\n * @param tsModule\n * @returns\n */\n createTsEsmCompiler(mode: CompilerMode = 'dev', transformers: TsConfigTransformer[] = [], tsModule = ts) {\n const tsCompileOptions = this.createTsCompilerOptions(mode);\n return this.tsAspect.createEsmCompiler(tsCompileOptions, transformers, tsModule);\n }\n\n getCompiler(transformers: TsConfigTransformer[] = [], tsModule = ts) {\n // return this.getTsEsmCompiler('dev', transformers, tsModule);\n return this.createTsCjsCompiler('dev', transformers, tsModule);\n }\n\n /**\n * returns and configures the component linter.\n */\n getLinter(context: LinterContext, transformers: EslintConfigTransformer[] = []): Linter {\n const tsConfig = this.createTsCompilerOptions('dev').tsconfig;\n\n const defaultTransformer: EslintConfigTransformer = (configMutator) => {\n configMutator.addExtensionTypes(['.md', '.mdx']);\n configMutator.setTsConfig(tsConfig);\n return configMutator;\n };\n\n const allTransformers = [defaultTransformer, ...transformers];\n\n return this.eslint.createLinter(\n context,\n {\n config: eslintConfig,\n // resolve all plugins from the react environment.\n pluginPath: __dirname,\n },\n allTransformers\n );\n }\n\n /**\n * returns and configures the component formatter.\n */\n getFormatter(context: FormatterContext, transformers: PrettierConfigTransformer[] = []): Formatter {\n return this.prettier.createFormatter(\n { check: context?.check },\n {\n config: prettierConfig,\n },\n transformers\n );\n }\n\n private getFileMap(components: Component[], local = false) {\n return components.reduce<{ [key: string]: ComponentMeta }>((index, component: Component) => {\n component.state.filesystem.files.forEach((file) => {\n index[file.path] = {\n id: component.id.toString(),\n homepage: local ? `/${component.id.fullName}` : ComponentUrl.toUrl(component.id),\n };\n });\n\n return index;\n }, {});\n }\n\n private writeFileMap(components: Component[], local?: boolean) {\n const fileMap = this.getFileMap(components, local);\n const path = join(tmpdir(), `${Math.random().toString(36).slice(2, 11)}.json`);\n outputFileSync(path, JSON.stringify(fileMap));\n return path;\n }\n\n /**\n * required for `bit start`\n */\n getDevEnvId(id?: string) {\n if (typeof id !== 'string') return ReactAspect.id;\n return id || ReactAspect.id;\n }\n\n /**\n * get a schema generator instance configured with the correct tsconfig.\n */\n getSchemaExtractor(tsconfig: TsConfigSourceFile, tsserverPath?: string, contextPath?: string): SchemaExtractor {\n return this.tsAspect.createSchemaExtractor(this.getTsConfig(tsconfig), tsserverPath, contextPath);\n }\n\n /**\n * returns and configures the React component dev server.\n * required for `bit start`\n */\n getDevServer(\n context: DevServerContext,\n transformers: WebpackConfigTransformer[] = [],\n webpackModulePath?: string,\n webpackDevServerModulePath?: string\n ): DevServer {\n const baseConfig = basePreviewConfigFactory(false);\n const envDevConfig = envPreviewDevConfigFactory(context.id);\n const componentDevConfig = componentPreviewDevConfigFactory(this.workspace.path, context.id);\n\n const defaultTransformer: WebpackConfigTransformer = (configMutator) => {\n const merged = configMutator.merge([baseConfig, envDevConfig, componentDevConfig]);\n return merged;\n };\n\n return this.webpack.createDevServer(\n context,\n [defaultTransformer, ...transformers],\n webpackModulePath,\n webpackDevServerModulePath\n );\n }\n\n async getBundler(\n context: BundlerContext,\n transformers: WebpackConfigTransformer[] = [],\n webpackModulePath?: string\n ): Promise<Bundler> {\n return this.createComponentsWebpackBundler(context, transformers, webpackModulePath);\n }\n\n async createComponentsWebpackBundler(\n context: BundlerContext,\n transformers: WebpackConfigTransformer[] = [],\n webpackModulePath?: string\n ): Promise<Bundler> {\n const baseConfig = basePreviewConfigFactory(!context.development);\n const baseProdConfig = basePreviewProdConfigFactory(context.development);\n const componentProdConfig = componentPreviewProdConfigFactory();\n\n const defaultTransformer: WebpackConfigTransformer = (configMutator) => {\n const merged = configMutator.merge([baseConfig, baseProdConfig, componentProdConfig]);\n return merged;\n };\n const mergedTransformers = [defaultTransformer, ...transformers];\n return this.createWebpackBundler(context, mergedTransformers, webpackModulePath);\n }\n\n async createTemplateWebpackBundler(\n context: BundlerContext,\n transformers: WebpackConfigTransformer[] = [],\n webpackModulePath?: string\n ): Promise<Bundler> {\n const baseConfig = basePreviewConfigFactory(!context.development);\n const baseProdConfig = basePreviewProdConfigFactory(context.development);\n const templateConfig = templateWebpackConfigFactory();\n\n const defaultTransformer: WebpackConfigTransformer = (configMutator) => {\n const merged = configMutator.merge([baseConfig, baseProdConfig, templateConfig]);\n return merged;\n };\n const mergedTransformers = [defaultTransformer, ...transformers];\n return this.createWebpackBundler(context, mergedTransformers, webpackModulePath);\n }\n\n private async createWebpackBundler(\n context: BundlerContext,\n transformers: WebpackConfigTransformer[] = [],\n webpackModulePath?: string\n ): Promise<Bundler> {\n return this.webpack.createBundler(context, transformers, undefined, webpackModulePath);\n }\n\n getAdditionalHostDependencies(): string[] {\n return ['@teambit/mdx.ui.mdx-scope-context', '@mdx-js/react', 'react', 'react-dom'];\n }\n\n /**\n * returns a path to a docs template.\n */\n getDocsTemplate() {\n return require.resolve('@teambit/react.ui.docs-app');\n }\n\n icon = 'https://static.bit.dev/extensions-icons/react.svg';\n\n /**\n * returns the path to the compositions template\n */\n getMounter() {\n return require.resolve('@teambit/react.ui.compositions-app');\n }\n\n getPreviewConfig() {\n return {\n strategyName: COMPONENT_PREVIEW_STRATEGY_NAME as PreviewStrategyName,\n splitComponentBundle: true,\n isScaling: true,\n };\n }\n\n /**\n * define the package json properties to add to each component.\n */\n getPackageJsonProps(): PackageJsonProps {\n // React compile by default to esm, so uses type module\n // return this.getEsmPackageJsonProps();\n return this.getCjsPackageJsonProps();\n }\n\n /**\n * @deprecated use createCjsPackageJsonProps()\n */\n getCjsPackageJsonProps(): PackageJsonProps {\n return this.createCjsPackageJsonProps();\n }\n\n /**\n * Get the default package.json props for a cjs component\n * @returns\n */\n createCjsPackageJsonProps(): PackageJsonProps {\n return this.tsAspect.getCjsPackageJsonProps();\n }\n\n /**\n * @deprecated use createEsmPackageJsonProps()\n */\n getEsmPackageJsonProps(): PackageJsonProps {\n return this.createEsmPackageJsonProps();\n }\n\n /**\n * Get the default package.json props for an esm component\n * @returns\n */\n createEsmPackageJsonProps(): PackageJsonProps {\n return this.tsAspect.getEsmPackageJsonProps();\n }\n\n getNpmIgnore() {\n // ignores only .ts files in the root directory, so d.ts files inside dists are unaffected.\n // without this change, the package has \"index.ts\" file in the root, causing typescript to parse it instead of the\n // d.ts files. (changing the \"types\" prop in the package.json file doesn't help).\n return [`${CAPSULE_ARTIFACTS_DIR}/`];\n }\n\n /**\n * adds dependencies to all configured components.\n */\n getDependencies() {\n return {\n dependencies: {\n react: '-',\n 'react-dom': '-',\n // 'core-js': '^3.0.0',\n },\n // TODO: add this only if using ts\n devDependencies: {\n react: '-',\n 'react-dom': '-',\n '@types/mocha': '-',\n '@types/node': '12.20.4',\n '@types/react': '^17.0.8',\n '@types/react-dom': '^17.0.5',\n '@types/jest': '^26.0.0',\n // This is added as dev dep since our jest file transformer uses babel plugins that require this to be installed\n // '@babel/runtime': '7.20.0',\n '@types/testing-library__jest-dom': '5.9.5',\n },\n peerDependencies: {\n react: '^16.8.0 || ^17.0.0',\n 'react-dom': '^16.8.0 || ^17.0.0',\n },\n };\n }\n\n /**\n * returns the component build pipeline.\n */\n getBuildPipe(modifiers: GetBuildPipeModifiers = {}): BuildTask[] {\n const transformers: Function[] = modifiers?.tsModifier?.transformers || [];\n return [this.createCjsCompilerTask(transformers, modifiers?.tsModifier?.module || ts), this.tester.task];\n }\n\n /**\n * @deprecated use createBuildPipeWithoutCompiler()\n */\n getBuildPipeWithoutCompiler(): BuildTask[] {\n return this.createBuildPipeWithoutCompiler();\n }\n\n /**\n * Get the react build pipeline without the compilation task.\n * This help in cases you want to only replace the compilation task with something else\n * @returns\n */\n createBuildPipeWithoutCompiler(): BuildTask[] {\n const pipeWithoutCompiler = this.getBuildPipe().filter((task) => task.aspectId !== this.compilerAspectId);\n return pipeWithoutCompiler;\n }\n\n /**\n * @deprecated use createEsmCompilerTask()\n */\n getEsmCompilerTask(transformers: TsConfigTransformer[] = [], tsModule = ts) {\n return this.createEsmCompilerTask(transformers as Function[], tsModule);\n }\n\n /**\n * Get a compiler task with react config and set to esm module\n * @param transformers\n * @param tsModule\n * @returns\n */\n createEsmCompilerTask(transformers: Function[] = [], tsModule = ts) {\n const tsCompiler = this.createTsEsmCompiler('build', transformers as TsConfigTransformer[], tsModule);\n return this.compiler.createTask('TSCompiler', tsCompiler);\n }\n\n /**\n * @deprecated use createCjsCompilerTask()\n * */\n getCjsCompilerTask(transformers: TsConfigTransformer[] = [], tsModule = ts) {\n return this.createCjsCompilerTask(transformers as Function[], tsModule);\n }\n\n /**\n * Get a compiler task with react config and set to cjs module\n * @param transformers\n * @param tsModule\n * @returns\n */\n createCjsCompilerTask(transformers: Function[] = [], tsModule = ts) {\n const tsCompiler = this.createTsCjsCompiler('build', transformers as TsConfigTransformer[], tsModule);\n return this.compiler.createTask('TSCompiler', tsCompiler);\n }\n\n workspaceConfig(): ConfigWriterEntry[] {\n return [\n TypescriptConfigWriter.create(\n {\n tsconfig: require.resolve('./typescript/tsconfig.cjs.json'),\n // types: resolveTypes(__dirname, [\"./types\"]),\n },\n this.logger\n ),\n EslintConfigWriter.create(\n {\n configPath: require.resolve('./eslint/eslintrc.js'),\n tsconfig: require.resolve('./typescript/tsconfig.cjs.json'),\n },\n this.logger\n ),\n PrettierConfigWriter.create(\n {\n configPath: require.resolve('./prettier/prettier.config.js'),\n },\n this.logger\n ),\n ];\n }\n\n async __getDescriptor() {\n return {\n type: ReactEnvType,\n };\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,IAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,GAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAI,kBAAA;EAAA,MAAAJ,IAAA,GAAAE,OAAA;EAAAE,iBAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,SAAA;EAAA,MAAAL,IAAA,GAAAE,OAAA;EAAAG,QAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,QAAA;EAAA,MAAAN,IAAA,GAAAE,OAAA;EAAAI,OAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAO,SAAA;EAAA,MAAAP,IAAA,GAAAE,OAAA;EAAAK,QAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAQ,UAAA;EAAA,MAAAR,IAAA,GAAAE,OAAA;EAAAM,SAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAS,aAAA;EAAA,MAAAT,IAAA,GAAAE,OAAA;EAAAO,YAAA,YAAAA,CAAA;IAAA,OAAAT,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAU,WAAA;EAAA,MAAAV,IAAA,GAAAE,OAAA;EAAAQ,UAAA,YAAAA,CAAA;IAAA,OAAAV,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AA0BA,SAAAW,OAAA;EAAA,MAAAX,IAAA,GAAAE,OAAA;EAAAS,MAAA,YAAAA,CAAA;IAAA,OAAAX,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAY,MAAA;EAAA,MAAAZ,IAAA,GAAAE,OAAA;EAAAU,KAAA,YAAAA,CAAA;IAAA,OAAAZ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAa,SAAA;EAAA,MAAAb,IAAA,GAAAE,OAAA;EAAAW,QAAA,YAAAA,CAAA;IAAA,OAAAb,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAWA,SAAAc,OAAA;EAAA,MAAAd,IAAA,GAAAE,OAAA;EAAAY,MAAA,YAAAA,CAAA;IAAA,OAAAd,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAe,eAAA;EAAA,MAAAf,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAa,cAAA,YAAAA,CAAA;IAAA,OAAAf,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAgB,mBAAA;EAAA,MAAAhB,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAc,kBAAA,YAAAA,CAAA;IAAA,OAAAhB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAIA,SAAAiB,kBAAA;EAAA,MAAAjB,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAe,iBAAA,YAAAA,CAAA;IAAA,OAAAjB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAkB,mBAAA;EAAA,MAAAlB,IAAA,GAAAE,OAAA;EAAAgB,kBAAA,YAAAA,CAAA;IAAA,OAAAlB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAmB,wBAAA;EAAA,MAAAnB,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAiB,uBAAA,YAAAA,CAAA;IAAA,OAAAnB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAoB,yBAAA;EAAA,MAAApB,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAkB,wBAAA,YAAAA,CAAA;IAAA,OAAApB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAsF,SAAAC,uBAAAoB,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,gBAAAH,GAAA,EAAAI,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAJ,GAAA,IAAAO,MAAA,CAAAC,cAAA,CAAAR,GAAA,EAAAI,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAI,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAX,GAAA,CAAAI,GAAA,IAAAC,KAAA,WAAAL,GAAA;AAAA,SAAAM,eAAAM,GAAA,QAAAR,GAAA,GAAAS,YAAA,CAAAD,GAAA,2BAAAR,GAAA,gBAAAA,GAAA,GAAAU,MAAA,CAAAV,GAAA;AAAA,SAAAS,aAAAE,KAAA,EAAAC,IAAA,eAAAD,KAAA,iBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAAG,SAAA,QAAAC,GAAA,GAAAJ,IAAA,CAAAK,IAAA,CAAAP,KAAA,EAAAC,IAAA,2BAAAK,GAAA,sBAAAA,GAAA,YAAAE,SAAA,4DAAAP,IAAA,gBAAAF,MAAA,GAAAU,MAAA,EAAAT,KAAA,KAnBtF;AACA;AAEA;AACA;AAIA;AAIA;AACA;AAIA;AAIO,MAAMU,YAAY,GAAG,OAAO;AAACC,OAAA,CAAAD,YAAA,GAAAA,YAAA;AACpC,MAAME,eAAe,GAAG9C,OAAO,CAAC,4BAA4B,CAAC;AAC7D,MAAM+C,aAAa,GAAG/C,OAAO,CAAC,kCAAkC,CAAC;AACjE,MAAMgD,YAAY,GAAGhD,OAAO,CAAC,mBAAmB,CAAC;AACjD,MAAMiD,cAAc,GAAGjD,OAAO,CAAC,+BAA+B,CAAC;;AAE/D;;AAOA;AACA;AACA;AACO,MAAMkD,QAAQ,CAErB;EACEC,WAAWA;EACT;AACJ;AACA;EACYC,UAAoB;EAE5B;AACJ;AACA;EACcC,QAAwB;EAElC;AACJ;AACA;EACYC,QAAsB;EAE9B;AACJ;AACA;EACYC,OAAoB;EAE5B;AACJ;AACA;EACYC,SAAoB;EAE5B;AACJ;AACA;EACYC,GAAY;EAEpB;AACJ;AACA;EACYC,MAAkB,EAElBC,MAAuB,EAEvBC,MAAkB,EAElBC,QAAsB,EAEtBC,kBAA0C,EAE1CC,MAAc,EAEdC,gBAAwB,EAChC;IAAA,KA3CQZ,UAAoB,GAApBA,UAAoB;IAAA,KAKlBC,QAAwB,GAAxBA,QAAwB;IAAA,KAK1BC,QAAsB,GAAtBA,QAAsB;IAAA,KAKtBC,OAAoB,GAApBA,OAAoB;IAAA,KAKpBC,SAAoB,GAApBA,SAAoB;IAAA,KAKpBC,GAAY,GAAZA,GAAY;IAAA,KAKZC,MAAkB,GAAlBA,MAAkB;IAAA,KAElBC,MAAuB,GAAvBA,MAAuB;IAAA,KAEvBC,MAAkB,GAAlBA,MAAkB;IAAA,KAElBC,QAAsB,GAAtBA,QAAsB;IAAA,KAEtBC,kBAA0C,GAA1CA,kBAA0C;IAAA,KAE1CC,MAAc,GAAdA,MAAc;IAAA,KAEdC,gBAAwB,GAAxBA,gBAAwB;IAAA1C,eAAA,eAqR3B,mDAAmD;EApRvD;EAEH2C,WAAWA,CAACC,cAAmC,EAAsB;IACnE,OAAOA,cAAc,GAAG,IAAAC,eAAK,EAAC,CAAC,CAAC,EAAErB,eAAe,EAAEoB,cAAc,CAAC,GAAGpB,eAAe;EACtF;EAEAsB,gBAAgBA,CAACF,cAAmC,EAAsB;IACxE,OAAOA,cAAc,GAAG,IAAAC,eAAK,EAAC,CAAC,CAAC,EAAEpB,aAAa,EAAEmB,cAAc,CAAC,GAAGnB,aAAa;EAClF;;EAEA;AACF;AACA;EACEsB,gBAAgBA,CAACC,cAAuB,EAAEC,cAAuB,EAAU;IACzE,OAAO,IAAI,CAACC,mBAAmB,CAACF,cAAc,EAAEC,cAAc,CAAC;EACjE;;EAEA;AACF;AACA;AACA;AACA;AACA;EACEC,mBAAmBA,CAACF,cAAuB,EAAEC,cAAuB,EAAU;IAC5E,MAAME,YAAY,GAAG,IAAAC,6BAAoB,EAACC,SAAS,CAAC,CAACC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;IACzE,MAAMC,aAAa,GAAG,IAAAC,YAAI,EAACL,YAAY,EAAE,2BAA2B,CAAC;IACrE,MAAMd,MAAM,GAAGW,cAAc,IAAIO,aAAa;IAC9C,OAAO,IAAI,CAACzB,UAAU,CAAC2B,YAAY,CAACpB,MAAM,EAAEY,cAAc,IAAIvE,OAAO,CAACgF,OAAO,CAAC,MAAM,CAAC,CAAC;EACxF;;EAEA;AACF;AACA;EACEC,gBAAgBA,CAACX,cAAuB,EAAEC,cAAuB,EAAU;IACzE,OAAO,IAAI,CAACW,mBAAmB,CAACZ,cAAc,EAAEC,cAAc,CAAC;EACjE;;EAEA;AACF;AACA;AACA;AACA;AACA;EACEW,mBAAmBA,CAACZ,cAAuB,EAAEC,cAAuB,EAAU;IAC5E,MAAME,YAAY,GAAG,IAAAC,6BAAoB,EAACC,SAAS,CAAC,CAACC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;IACzE,MAAMC,aAAa,GAAG,IAAAC,YAAI,EAACL,YAAY,EAAE,2BAA2B,CAAC;IACrE,MAAMd,MAAM,GAAGW,cAAc,IAAIO,aAAa;IAC9C,OAAO,IAAI,CAACzB,UAAU,CAAC2B,YAAY,CAACpB,MAAM,EAAEY,cAAc,IAAIvE,OAAO,CAACgF,OAAO,CAAC,MAAM,CAAC,CAAC;EACxF;;EAEA;AACF;AACA;EACEG,SAASA,CAACb,cAAsB,EAAEC,cAAuB,EAAU;IACjE;IACA,OAAO,IAAI,CAACC,mBAAmB,CAACF,cAAc,EAAEC,cAAc,CAAC;EACjE;EAEQa,uBAAuBA,CAACC,IAAkB,GAAG,KAAK,EAA6B;IACrF,MAAMC,QAAQ,GAAGD,IAAI,KAAK,KAAK,GAAG,IAAAE,mBAAS,EAACzC,eAAe,CAAC,GAAG,IAAAyC,mBAAS,EAACxC,aAAa,CAAC;IACvF,MAAM0B,YAAY,GAAG,IAAAC,6BAAoB,EAACC,SAAS,CAAC,CAACC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC/E,MAAMY,SAAS,GAAG,IAAI;IACtB,MAAMC,UAAU,GAAG,IAAI;IACvB,OAAO;MACLH,QAAQ;MACR;MACAI,KAAK,EAAE,CAAC,IAAAV,eAAO,EAACP,YAAY,EAAE,yBAAyB,CAAC,EAAE,IAAAO,eAAO,EAACP,YAAY,EAAE,yBAAyB,CAAC,CAAC;MAC3Ge,SAAS;MACTC;IACF,CAAC;EACH;;EAEA;AACF;AACA;EACEE,gBAAgBA,CAACN,IAAkB,GAAG,KAAK,EAAEO,YAAmC,GAAG,EAAE,EAAEC,QAAQ,GAAGC,qBAAE,EAAE;IACpG,OAAO,IAAI,CAACC,mBAAmB,CAACV,IAAI,EAAEO,YAAY,EAAEC,QAAQ,CAAC;EAC/D;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACEE,mBAAmBA,CAACV,IAAkB,GAAG,KAAK,EAAEO,YAAmC,GAAG,EAAE,EAAEC,QAAQ,GAAGC,qBAAE,EAAE;IACvG,MAAME,gBAAgB,GAAG,IAAI,CAACZ,uBAAuB,CAACC,IAAI,CAAC;IAC3D,OAAO,IAAI,CAAChC,QAAQ,CAAC4C,iBAAiB,CAACD,gBAAgB,EAAEJ,YAAY,EAAEC,QAAQ,CAAC;EAClF;;EAEA;AACF;AACA;EACEK,gBAAgBA,CAACb,IAAkB,GAAG,KAAK,EAAEO,YAAmC,GAAG,EAAE,EAAEC,QAAQ,GAAGC,qBAAE,EAAE;IACpG,IAAI,CAACK,mBAAmB,CAACd,IAAI,EAAEO,YAAY,EAAEC,QAAQ,CAAC;EACxD;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACEM,mBAAmBA,CAACd,IAAkB,GAAG,KAAK,EAAEO,YAAmC,GAAG,EAAE,EAAEC,QAAQ,GAAGC,qBAAE,EAAE;IACvG,MAAME,gBAAgB,GAAG,IAAI,CAACZ,uBAAuB,CAACC,IAAI,CAAC;IAC3D,OAAO,IAAI,CAAChC,QAAQ,CAAC+C,iBAAiB,CAACJ,gBAAgB,EAAEJ,YAAY,EAAEC,QAAQ,CAAC;EAClF;EAEAQ,WAAWA,CAACT,YAAmC,GAAG,EAAE,EAAEC,QAAQ,GAAGC,qBAAE,EAAE;IACnE;IACA,OAAO,IAAI,CAACC,mBAAmB,CAAC,KAAK,EAAEH,YAAY,EAAEC,QAAQ,CAAC;EAChE;;EAEA;AACF;AACA;EACES,SAASA,CAACC,OAAsB,EAAEX,YAAuC,GAAG,EAAE,EAAU;IACtF,MAAMY,QAAQ,GAAG,IAAI,CAACpB,uBAAuB,CAAC,KAAK,CAAC,CAACE,QAAQ;IAE7D,MAAMmB,kBAA2C,GAAIC,aAAa,IAAK;MACrEA,aAAa,CAACC,iBAAiB,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;MAChDD,aAAa,CAACE,WAAW,CAACJ,QAAQ,CAAC;MACnC,OAAOE,aAAa;IACtB,CAAC;IAED,MAAMG,eAAe,GAAG,CAACJ,kBAAkB,EAAE,GAAGb,YAAY,CAAC;IAE7D,OAAO,IAAI,CAAChC,MAAM,CAACkD,YAAY,CAC7BP,OAAO,EACP;MACE5C,MAAM,EAAEX,YAAY;MACpB;MACA+D,UAAU,EAAEpC;IACd,CAAC,EACDkC,eACF,CAAC;EACH;;EAEA;AACF;AACA;EACEG,YAAYA,CAACT,OAAyB,EAAEX,YAAyC,GAAG,EAAE,EAAa;IACjG,OAAO,IAAI,CAAC/B,QAAQ,CAACoD,eAAe,CAClC;MAAEC,KAAK,EAAEX,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEW;IAAM,CAAC,EACzB;MACEvD,MAAM,EAAEV;IACV,CAAC,EACD2C,YACF,CAAC;EACH;EAEQuB,UAAUA,CAACC,UAAuB,EAAEC,KAAK,GAAG,KAAK,EAAE;IACzD,OAAOD,UAAU,CAACE,MAAM,CAAmC,CAACC,KAAK,EAAEC,SAAoB,KAAK;MAC1FA,SAAS,CAACC,KAAK,CAACC,UAAU,CAACC,KAAK,CAACC,OAAO,CAAEC,IAAI,IAAK;QACjDN,KAAK,CAACM,IAAI,CAACC,IAAI,CAAC,GAAG;UACjBC,EAAE,EAAEP,SAAS,CAACO,EAAE,CAACC,QAAQ,CAAC,CAAC;UAC3BC,QAAQ,EAAEZ,KAAK,GAAI,IAAGG,SAAS,CAACO,EAAE,CAACG,QAAS,EAAC,GAAGC,gCAAY,CAACC,KAAK,CAACZ,SAAS,CAACO,EAAE;QACjF,CAAC;MACH,CAAC,CAAC;MAEF,OAAOR,KAAK;IACd,CAAC,EAAE,CAAC,CAAC,CAAC;EACR;EAEQc,YAAYA,CAACjB,UAAuB,EAAEC,KAAe,EAAE;IAC7D,MAAMiB,OAAO,GAAG,IAAI,CAACnB,UAAU,CAACC,UAAU,EAAEC,KAAK,CAAC;IAClD,MAAMS,IAAI,GAAG,IAAAhD,YAAI,EAAC,IAAAyD,YAAM,EAAC,CAAC,EAAG,GAAEC,IAAI,CAACC,MAAM,CAAC,CAAC,CAACT,QAAQ,CAAC,EAAE,CAAC,CAACU,KAAK,CAAC,CAAC,EAAE,EAAE,CAAE,OAAM,CAAC;IAC9E,IAAAC,yBAAc,EAACb,IAAI,EAAEc,IAAI,CAACC,SAAS,CAACP,OAAO,CAAC,CAAC;IAC7C,OAAOR,IAAI;EACb;;EAEA;AACF;AACA;EACEgB,WAAWA,CAACf,EAAW,EAAE;IACvB,IAAI,OAAOA,EAAE,KAAK,QAAQ,EAAE,OAAOgB,oBAAW,CAAChB,EAAE;IACjD,OAAOA,EAAE,IAAIgB,oBAAW,CAAChB,EAAE;EAC7B;;EAEA;AACF;AACA;EACEiB,kBAAkBA,CAAC1D,QAA4B,EAAE2D,YAAqB,EAAEC,WAAoB,EAAmB;IAC7G,OAAO,IAAI,CAAC7F,QAAQ,CAAC8F,qBAAqB,CAAC,IAAI,CAAClF,WAAW,CAACqB,QAAQ,CAAC,EAAE2D,YAAY,EAAEC,WAAW,CAAC;EACnG;;EAEA;AACF;AACA;AACA;EACEE,YAAYA,CACV7C,OAAyB,EACzBX,YAAwC,GAAG,EAAE,EAC7CyD,iBAA0B,EAC1BC,0BAAmC,EACxB;IACX,MAAMC,UAAU,GAAG,IAAAC,wBAAwB,EAAC,KAAK,CAAC;IAClD,MAAMC,YAAY,GAAG,IAAAC,2BAA0B,EAACnD,OAAO,CAACwB,EAAE,CAAC;IAC3D,MAAM4B,kBAAkB,GAAG,IAAAC,kCAAgC,EAAC,IAAI,CAACpG,SAAS,CAACsE,IAAI,EAAEvB,OAAO,CAACwB,EAAE,CAAC;IAE5F,MAAMtB,kBAA4C,GAAIC,aAAa,IAAK;MACtE,MAAMmD,MAAM,GAAGnD,aAAa,CAACvC,KAAK,CAAC,CAACoF,UAAU,EAAEE,YAAY,EAAEE,kBAAkB,CAAC,CAAC;MAClF,OAAOE,MAAM;IACf,CAAC;IAED,OAAO,IAAI,CAACtG,OAAO,CAACuG,eAAe,CACjCvD,OAAO,EACP,CAACE,kBAAkB,EAAE,GAAGb,YAAY,CAAC,EACrCyD,iBAAiB,EACjBC,0BACF,CAAC;EACH;EAEA,MAAMS,UAAUA,CACdxD,OAAuB,EACvBX,YAAwC,GAAG,EAAE,EAC7CyD,iBAA0B,EACR;IAClB,OAAO,IAAI,CAACW,8BAA8B,CAACzD,OAAO,EAAEX,YAAY,EAAEyD,iBAAiB,CAAC;EACtF;EAEA,MAAMW,8BAA8BA,CAClCzD,OAAuB,EACvBX,YAAwC,GAAG,EAAE,EAC7CyD,iBAA0B,EACR;IAClB,MAAME,UAAU,GAAG,IAAAC,wBAAwB,EAAC,CAACjD,OAAO,CAAC0D,WAAW,CAAC;IACjE,MAAMC,cAAc,GAAG,IAAAC,4BAA4B,EAAC5D,OAAO,CAAC0D,WAAW,CAAC;IACxE,MAAMG,mBAAmB,GAAG,IAAAC,iCAAiC,EAAC,CAAC;IAE/D,MAAM5D,kBAA4C,GAAIC,aAAa,IAAK;MACtE,MAAMmD,MAAM,GAAGnD,aAAa,CAACvC,KAAK,CAAC,CAACoF,UAAU,EAAEW,cAAc,EAAEE,mBAAmB,CAAC,CAAC;MACrF,OAAOP,MAAM;IACf,CAAC;IACD,MAAMS,kBAAkB,GAAG,CAAC7D,kBAAkB,EAAE,GAAGb,YAAY,CAAC;IAChE,OAAO,IAAI,CAAC2E,oBAAoB,CAAChE,OAAO,EAAE+D,kBAAkB,EAAEjB,iBAAiB,CAAC;EAClF;EAEA,MAAMmB,4BAA4BA,CAChCjE,OAAuB,EACvBX,YAAwC,GAAG,EAAE,EAC7CyD,iBAA0B,EACR;IAClB,MAAME,UAAU,GAAG,IAAAC,wBAAwB,EAAC,CAACjD,OAAO,CAAC0D,WAAW,CAAC;IACjE,MAAMC,cAAc,GAAG,IAAAC,4BAA4B,EAAC5D,OAAO,CAAC0D,WAAW,CAAC;IACxE,MAAMQ,cAAc,GAAG,IAAAC,iDAA4B,EAAC,CAAC;IAErD,MAAMjE,kBAA4C,GAAIC,aAAa,IAAK;MACtE,MAAMmD,MAAM,GAAGnD,aAAa,CAACvC,KAAK,CAAC,CAACoF,UAAU,EAAEW,cAAc,EAAEO,cAAc,CAAC,CAAC;MAChF,OAAOZ,MAAM;IACf,CAAC;IACD,MAAMS,kBAAkB,GAAG,CAAC7D,kBAAkB,EAAE,GAAGb,YAAY,CAAC;IAChE,OAAO,IAAI,CAAC2E,oBAAoB,CAAChE,OAAO,EAAE+D,kBAAkB,EAAEjB,iBAAiB,CAAC;EAClF;EAEA,MAAckB,oBAAoBA,CAChChE,OAAuB,EACvBX,YAAwC,GAAG,EAAE,EAC7CyD,iBAA0B,EACR;IAClB,OAAO,IAAI,CAAC9F,OAAO,CAACoH,aAAa,CAACpE,OAAO,EAAEX,YAAY,EAAErD,SAAS,EAAE8G,iBAAiB,CAAC;EACxF;EAEAuB,6BAA6BA,CAAA,EAAa;IACxC,OAAO,CAAC,mCAAmC,EAAE,eAAe,EAAE,OAAO,EAAE,WAAW,CAAC;EACrF;;EAEA;AACF;AACA;EACEC,eAAeA,CAAA,EAAG;IAChB,OAAO7K,OAAO,CAACgF,OAAO,CAAC,4BAA4B,CAAC;EACtD;EAIA;AACF;AACA;EACE8F,UAAUA,CAAA,EAAG;IACX,OAAO9K,OAAO,CAACgF,OAAO,CAAC,oCAAoC,CAAC;EAC9D;EAEA+F,gBAAgBA,CAAA,EAAG;IACjB,OAAO;MACLC,YAAY,EAAEC,0CAAsD;MACpEC,oBAAoB,EAAE,IAAI;MAC1BC,SAAS,EAAE;IACb,CAAC;EACH;;EAEA;AACF;AACA;EACEC,mBAAmBA,CAAA,EAAqB;IACtC;IACA;IACA,OAAO,IAAI,CAACC,sBAAsB,CAAC,CAAC;EACtC;;EAEA;AACF;AACA;EACEA,sBAAsBA,CAAA,EAAqB;IACzC,OAAO,IAAI,CAACC,yBAAyB,CAAC,CAAC;EACzC;;EAEA;AACF;AACA;AACA;EACEA,yBAAyBA,CAAA,EAAqB;IAC5C,OAAO,IAAI,CAACjI,QAAQ,CAACgI,sBAAsB,CAAC,CAAC;EAC/C;;EAEA;AACF;AACA;EACEE,sBAAsBA,CAAA,EAAqB;IACzC,OAAO,IAAI,CAACC,yBAAyB,CAAC,CAAC;EACzC;;EAEA;AACF;AACA;AACA;EACEA,yBAAyBA,CAAA,EAAqB;IAC5C,OAAO,IAAI,CAACnI,QAAQ,CAACkI,sBAAsB,CAAC,CAAC;EAC/C;EAEAE,YAAYA,CAAA,EAAG;IACb;IACA;IACA;IACA,OAAO,CAAE,GAAEC,gCAAsB,GAAE,CAAC;EACtC;;EAEA;AACF;AACA;EACEC,eAAeA,CAAA,EAAG;IAChB,OAAO;MACLC,YAAY,EAAE;QACZC,KAAK,EAAE,GAAG;QACV,WAAW,EAAE;QACb;MACF,CAAC;;MACD;MACAC,eAAe,EAAE;QACfD,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,GAAG;QAChB,cAAc,EAAE,GAAG;QACnB,aAAa,EAAE,SAAS;QACxB,cAAc,EAAE,SAAS;QACzB,kBAAkB,EAAE,SAAS;QAC7B,aAAa,EAAE,SAAS;QACxB;QACA;QACA,kCAAkC,EAAE;MACtC,CAAC;MACDE,gBAAgB,EAAE;QAChBF,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EAAE;MACf;IACF,CAAC;EACH;;EAEA;AACF;AACA;EACEG,YAAYA,CAACC,SAAgC,GAAG,CAAC,CAAC,EAAe;IAAA,IAAAC,qBAAA,EAAAC,sBAAA;IAC/D,MAAMvG,YAAwB,GAAG,CAAAqG,SAAS,aAATA,SAAS,gBAAAC,qBAAA,GAATD,SAAS,CAAEG,UAAU,cAAAF,qBAAA,uBAArBA,qBAAA,CAAuBtG,YAAY,KAAI,EAAE;IAC1E,OAAO,CAAC,IAAI,CAACyG,qBAAqB,CAACzG,YAAY,EAAE,CAAAqG,SAAS,aAATA,SAAS,gBAAAE,sBAAA,GAATF,SAAS,CAAEG,UAAU,cAAAD,sBAAA,uBAArBA,sBAAA,CAAuBG,MAAM,KAAIxG,qBAAE,CAAC,EAAE,IAAI,CAACpC,MAAM,CAAC6I,IAAI,CAAC;EAC1G;;EAEA;AACF;AACA;EACEC,2BAA2BA,CAAA,EAAgB;IACzC,OAAO,IAAI,CAACC,8BAA8B,CAAC,CAAC;EAC9C;;EAEA;AACF;AACA;AACA;AACA;EACEA,8BAA8BA,CAAA,EAAgB;IAC5C,MAAMC,mBAAmB,GAAG,IAAI,CAACV,YAAY,CAAC,CAAC,CAACW,MAAM,CAAEJ,IAAI,IAAKA,IAAI,CAACK,QAAQ,KAAK,IAAI,CAAC5I,gBAAgB,CAAC;IACzG,OAAO0I,mBAAmB;EAC5B;;EAEA;AACF;AACA;EACEG,kBAAkBA,CAACjH,YAAmC,GAAG,EAAE,EAAEC,QAAQ,GAAGC,qBAAE,EAAE;IAC1E,OAAO,IAAI,CAACgH,qBAAqB,CAAClH,YAAY,EAAgBC,QAAQ,CAAC;EACzE;;EAEA;AACF;AACA;AACA;AACA;AACA;EACEiH,qBAAqBA,CAAClH,YAAwB,GAAG,EAAE,EAAEC,QAAQ,GAAGC,qBAAE,EAAE;IAClE,MAAMiH,UAAU,GAAG,IAAI,CAAC5G,mBAAmB,CAAC,OAAO,EAAEP,YAAY,EAA2BC,QAAQ,CAAC;IACrG,OAAO,IAAI,CAACvC,QAAQ,CAAC0J,UAAU,CAAC,YAAY,EAAED,UAAU,CAAC;EAC3D;;EAEA;AACF;AACA;EACEE,kBAAkBA,CAACrH,YAAmC,GAAG,EAAE,EAAEC,QAAQ,GAAGC,qBAAE,EAAE;IAC1E,OAAO,IAAI,CAACuG,qBAAqB,CAACzG,YAAY,EAAgBC,QAAQ,CAAC;EACzE;;EAEA;AACF;AACA;AACA;AACA;AACA;EACEwG,qBAAqBA,CAACzG,YAAwB,GAAG,EAAE,EAAEC,QAAQ,GAAGC,qBAAE,EAAE;IAClE,MAAMiH,UAAU,GAAG,IAAI,CAAChH,mBAAmB,CAAC,OAAO,EAAEH,YAAY,EAA2BC,QAAQ,CAAC;IACrG,OAAO,IAAI,CAACvC,QAAQ,CAAC0J,UAAU,CAAC,YAAY,EAAED,UAAU,CAAC;EAC3D;EAEAG,eAAeA,CAAA,EAAwB;IACrC,OAAO,CACLC,qCAAsB,CAACC,MAAM,CAC3B;MACE9H,QAAQ,EAAEtF,OAAO,CAACgF,OAAO,CAAC,gCAAgC;MAC1D;IACF,CAAC,EACD,IAAI,CAACjB,MACP,CAAC,EACDsJ,+BAAkB,CAACD,MAAM,CACvB;MACEE,UAAU,EAAEtN,OAAO,CAACgF,OAAO,CAAC,sBAAsB,CAAC;MACnDM,QAAQ,EAAEtF,OAAO,CAACgF,OAAO,CAAC,gCAAgC;IAC5D,CAAC,EACD,IAAI,CAACjB,MACP,CAAC,EACDwJ,gCAAoB,CAACH,MAAM,CACzB;MACEE,UAAU,EAAEtN,OAAO,CAACgF,OAAO,CAAC,+BAA+B;IAC7D,CAAC,EACD,IAAI,CAACjB,MACP,CAAC,CACF;EACH;EAEA,MAAMyJ,eAAeA,CAAA,EAAG;IACtB,OAAO;MACLC,IAAI,EAAE7K;IACR,CAAC;EACH;AACF;AAACC,OAAA,CAAAK,QAAA,GAAAA,QAAA"}
@@ -6,6 +6,7 @@ import { EnvsMain, EnvTransformer, Environment } from '@teambit/envs';
6
6
  import type { GraphqlMain } from '@teambit/graphql';
7
7
  import type { JestMain } from '@teambit/jest';
8
8
  import type { PkgMain, PackageJsonProps } from '@teambit/pkg';
9
+ import { SchemaMain } from '@teambit/schema';
9
10
  import type { TesterMain } from '@teambit/tester';
10
11
  import type { TypescriptMain, TsCompilerOptionsWithoutTsConfig, TsConfigTransformer } from '@teambit/typescript';
11
12
  import type { WebpackMain, Configuration, WebpackConfigTransformer } from '@teambit/webpack';
@@ -34,7 +35,8 @@ declare type ReactDeps = [
34
35
  ApplicationMain,
35
36
  GeneratorMain,
36
37
  DependencyResolverMain,
37
- LoggerMain
38
+ LoggerMain,
39
+ SchemaMain
38
40
  ];
39
41
  export declare type ReactMainConfig = {
40
42
  /**
@@ -181,6 +183,6 @@ export declare class ReactMain {
181
183
  } | null;
182
184
  static runtime: import("@teambit/harmony").RuntimeDefinition;
183
185
  static dependencies: import("@teambit/harmony").Aspect[];
184
- static provider([envs, jestAspect, tsAspect, compiler, webpack, workspace, graphql, pkg, tester, eslint, prettier, application, generator, dependencyResolver, loggerMain,]: ReactDeps, config: ReactMainConfig): Promise<ReactMain>;
186
+ static provider([envs, jestAspect, tsAspect, compiler, webpack, workspace, graphql, pkg, tester, eslint, prettier, application, generator, dependencyResolver, loggerMain, schemaMain,]: ReactDeps, config: ReactMainConfig): Promise<ReactMain>;
185
187
  }
186
188
  export {};
@@ -53,6 +53,13 @@ function _jest() {
53
53
  };
54
54
  return data;
55
55
  }
56
+ function _schema() {
57
+ const data = require("@teambit/schema");
58
+ _schema = function () {
59
+ return data;
60
+ };
61
+ return data;
62
+ }
56
63
  function _pkg() {
57
64
  const data = require("@teambit/pkg");
58
65
  _pkg = function () {
@@ -172,12 +179,21 @@ function _react4() {
172
179
  };
173
180
  return data;
174
181
  }
182
+ function _() {
183
+ const data = require(".");
184
+ _ = function () {
185
+ return data;
186
+ };
187
+ return data;
188
+ }
175
189
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
176
190
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
177
191
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
178
192
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
179
193
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
180
194
  function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
195
+ // import { ReactAPITransformer } from './react.api.transformer';
196
+
181
197
  class ReactMain {
182
198
  constructor(
183
199
  /**
@@ -452,7 +468,7 @@ class ReactMain {
452
468
  properties: docs.properties
453
469
  };
454
470
  }
455
- static async provider([envs, jestAspect, tsAspect, compiler, webpack, workspace, graphql, pkg, tester, eslint, prettier, application, generator, dependencyResolver, loggerMain], config) {
471
+ static async provider([envs, jestAspect, tsAspect, compiler, webpack, workspace, graphql, pkg, tester, eslint, prettier, application, generator, dependencyResolver, loggerMain, schemaMain], config) {
456
472
  const logger = loggerMain.createLogger(_react().ReactAspect.id);
457
473
  const reactEnv = new (_react2().ReactEnv)(jestAspect, tsAspect, compiler, webpack, workspace, pkg, tester, config, eslint, prettier, dependencyResolver, logger, _compiler().CompilerAspect.id);
458
474
  const appType = new (_web().ReactAppType)('react-app', reactEnv, logger, dependencyResolver);
@@ -463,12 +479,14 @@ class ReactMain {
463
479
  generator.registerComponentTemplate(_react4().componentTemplates);
464
480
  }
465
481
  if (application) application.registerAppType(appType);
482
+ schemaMain.registerSchemaClass(_().ReactSchema);
483
+ tsAspect.registerApiTransformer([new (_().ReactAPITransformer)()]);
466
484
  return react;
467
485
  }
468
486
  }
469
487
  exports.ReactMain = ReactMain;
470
488
  _defineProperty(ReactMain, "runtime", _cli().MainRuntime);
471
- _defineProperty(ReactMain, "dependencies", [_envs().EnvsAspect, _jest().JestAspect, _typescript().TypescriptAspect, _compiler().CompilerAspect, _webpack().WebpackAspect, _workspace().WorkspaceAspect, _graphql().GraphqlAspect, _pkg().PkgAspect, _tester().TesterAspect, _eslint().ESLintAspect, _prettier().PrettierAspect, _application().ApplicationAspect, _generator().GeneratorAspect, _dependencyResolver().DependencyResolverAspect, _logger().LoggerAspect]);
489
+ _defineProperty(ReactMain, "dependencies", [_envs().EnvsAspect, _jest().JestAspect, _typescript().TypescriptAspect, _compiler().CompilerAspect, _webpack().WebpackAspect, _workspace().WorkspaceAspect, _graphql().GraphqlAspect, _pkg().PkgAspect, _tester().TesterAspect, _eslint().ESLintAspect, _prettier().PrettierAspect, _application().ApplicationAspect, _generator().GeneratorAspect, _dependencyResolver().DependencyResolverAspect, _logger().LoggerAspect, _schema().SchemaAspect]);
472
490
  _react().ReactAspect.addRuntime(ReactMain);
473
491
 
474
492
  //# sourceMappingURL=react.main.runtime.js.map