@teambit/aspect 0.0.662 → 0.0.665

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 (29) hide show
  1. package/{__compositions-1646104918375.js → __compositions-1646295435675.js} +0 -0
  2. package/{__overview-1646104918375.js → __overview-1646295435675.js} +0 -0
  3. package/{__preview-1646104918375.js → __preview-1646295435675.js} +2 -2
  4. package/artifacts/env-template/public/141.js +1 -1
  5. package/artifacts/env-template/public/181.js +1 -1
  6. package/artifacts/env-template/public/719.js +17 -10
  7. package/artifacts/env-template/public/74.js +1 -0
  8. package/artifacts/env-template/public/848.js +1 -1
  9. package/artifacts/env-template/public/assets-manifest.json +10 -10
  10. package/artifacts/env-template/public/compositions.5f4b659c90b01f1c4453.js +1 -0
  11. package/artifacts/env-template/public/compositions.html +1 -1
  12. package/artifacts/env-template/public/{overview.f5cbfc9062a75e5ff49d.js → overview.9105844030192cbfcf9f.js} +1 -1
  13. package/artifacts/env-template/public/overview.html +1 -1
  14. package/artifacts/env-template/public/preview-root.078fe28d93fd986dce80.js +1 -0
  15. package/artifacts/env-template/public/service-worker.js +1 -1
  16. package/artifacts/env-template/public/static/css/719.4322e864.css +1 -0
  17. package/artifacts/preview/teambit_harmony_aspect-preview.js +1 -1
  18. package/dist/aspect.cmd.js +2 -2
  19. package/dist/aspect.cmd.js.map +1 -1
  20. package/dist/aspect.main.runtime.d.ts +20 -0
  21. package/dist/aspect.main.runtime.js +27 -0
  22. package/dist/aspect.main.runtime.js.map +1 -1
  23. package/package-tar/teambit-aspect-0.0.665.tgz +0 -0
  24. package/package.json +18 -16
  25. package/artifacts/env-template/public/987.js +0 -1
  26. package/artifacts/env-template/public/compositions.425edbec3d2689dab24c.js +0 -1
  27. package/artifacts/env-template/public/preview-root.bb467305f0de987ac64f.js +0 -1
  28. package/artifacts/env-template/public/static/css/719.8dcf0b5d.css +0 -1
  29. package/package-tar/teambit-aspect-0.0.662.tgz +0 -0
@@ -1,5 +1,6 @@
1
1
  import { AspectLoaderMain } from '@teambit/aspect-loader';
2
2
  import { BuilderMain } from '@teambit/builder';
3
+ import { EnvPolicyConfigObject } from '@teambit/dependency-resolver';
3
4
  import { CLIMain } from '@teambit/cli';
4
5
  import { Environment, EnvsMain, EnvTransformer } from '@teambit/envs';
5
6
  import { ReactMain } from '@teambit/react';
@@ -26,6 +27,21 @@ export declare class AspectMain {
26
27
  listAspectsOfComponent(pattern?: string): Promise<{
27
28
  [component: string]: AspectSource[];
28
29
  }>;
30
+ get babelConfig(): {
31
+ presets: (string | (string | {
32
+ targets: {
33
+ node: number;
34
+ };
35
+ useBuiltIns: string;
36
+ corejs: number;
37
+ })[])[];
38
+ plugins: (string | (string | {
39
+ lazy: () => boolean;
40
+ })[] | (string | {
41
+ legacy: boolean;
42
+ })[])[];
43
+ sourceMaps: boolean;
44
+ };
29
45
  private getAspectNamesForComponent;
30
46
  private getLevelBySourceOrigin;
31
47
  setAspectsToComponents(pattern: string, aspectId: string, config?: Record<string, any>): Promise<ComponentID[]>;
@@ -39,6 +55,10 @@ export declare class AspectMain {
39
55
  }[];
40
56
  }>;
41
57
  updateAspectsToComponents(aspectId: string, pattern?: string): Promise<ComponentID[]>;
58
+ /**
59
+ * override the dependency configuration of the component environment.
60
+ */
61
+ overrideDependencies(dependencyPolicy: EnvPolicyConfigObject): EnvTransformer;
42
62
  static runtime: import("@teambit/harmony").RuntimeDefinition;
43
63
  static dependencies: import("@teambit/harmony").Aspect[];
44
64
  static provider([react, envs, builder, aspectLoader, compiler, babel, generator, workspace, cli]: [
@@ -31,6 +31,16 @@ function _aspectLoader() {
31
31
  return data;
32
32
  }
33
33
 
34
+ function _mergeDeepLeft() {
35
+ const data = _interopRequireDefault(require("ramda/src/mergeDeepLeft"));
36
+
37
+ _mergeDeepLeft = function () {
38
+ return data;
39
+ };
40
+
41
+ return data;
42
+ }
43
+
34
44
  function _builder() {
35
45
  const data = require("@teambit/builder");
36
46
 
@@ -223,6 +233,10 @@ class AspectMain {
223
233
  return results;
224
234
  }
225
235
 
236
+ get babelConfig() {
237
+ return _babelConfig().babelConfig;
238
+ }
239
+
226
240
  async getAspectNamesForComponent(id) {
227
241
  const componentFromScope = await this.workspace.scope.get(id);
228
242
  const {
@@ -311,6 +325,19 @@ class AspectMain {
311
325
  await this.workspace.bitMap.write();
312
326
  return (0, _lodash().compact)(updatedComponentIds);
313
327
  }
328
+ /**
329
+ * override the dependency configuration of the component environment.
330
+ */
331
+
332
+
333
+ overrideDependencies(dependencyPolicy) {
334
+ return this.envs.override({
335
+ getDependencies: async () => {
336
+ const reactDeps = await this.aspectEnv.getDependencies();
337
+ return (0, _mergeDeepLeft().default)(dependencyPolicy, reactDeps);
338
+ }
339
+ });
340
+ }
314
341
 
315
342
  static async provider([react, envs, builder, aspectLoader, compiler, babel, generator, workspace, cli]) {
316
343
  const babelCompiler = babel.createCompiler({
@@ -1 +1 @@
1
- {"version":3,"sources":["aspect.main.runtime.ts"],"names":["tsconfig","require","AspectMain","constructor","aspectEnv","envs","workspace","compose","transformers","targetEnv","merge","listAspectsOfComponent","pattern","getIds","listIds","idsByPattern","componentIds","results","Promise","all","map","id","aspectSources","getAspectNamesForComponent","toString","componentFromScope","scope","get","beforeMerge","componentExtensions","forEach","source","extensions","ext","aspectName","name","extensionId","alreadySaved","find","_","push","origin","level","getLevelBySourceOrigin","setAspectsToComponents","aspectId","config","componentId","addSpecificComponentConfig","bitMap","write","unsetAspectsFromComponents","removeSpecificComponentConfig","getAspectsOfComponent","resolveComponentId","updateAspectsToComponents","aspectCompId","hasVersion","fromRemote","getRemoteComponent","changeVersion","version","err","BitError","allCompIds","allComps","getMany","updatedComponentIds","comp","aspect","state","aspects","toStringWithoutVersion","undefined","provider","react","builder","aspectLoader","compiler","babel","generator","cli","babelCompiler","createCompiler","babelTransformOptions","babelConfig","distDir","distGlobPatterns","compilerOverride","override","getCompiler","transformer","mergeTsConfig","setArtifactName","setDistGlobPatterns","setShouldCopyNonSupportedFiles","tsCompiler","env","compilerTasksOverride","overrideCompilerTasks","createTask","AspectEnv","reactEnv","coreExporterTask","CoreExporterTask","__dirname","includes","registerBuildTasks","registerEnv","registerComponentTemplate","aspectTemplate","aspectMain","aspectCmd","AspectCmd","commands","ListAspectCmd","GetAspectCmd","SetAspectCmd","UnsetAspectCmd","UpdateAspectCmd","register","MainRuntime","ReactAspect","EnvsAspect","BuilderAspect","AspectLoaderAspect","CompilerAspect","BabelAspect","GeneratorAspect","WorkspaceAspect","CLIAspect","AspectAspect","addRuntime"],"mappings":"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","sourcesContent":["import { AspectLoaderAspect, AspectLoaderMain } from '@teambit/aspect-loader';\nimport { BuilderAspect, BuilderMain } from '@teambit/builder';\nimport { compact } from 'lodash';\nimport { BitError } from '@teambit/bit-error';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { Environment, EnvsAspect, EnvsMain, EnvTransformer } from '@teambit/envs';\nimport { ReactAspect, ReactMain } from '@teambit/react';\nimport { GeneratorAspect, GeneratorMain } from '@teambit/generator';\nimport { BabelAspect, BabelMain } from '@teambit/babel';\nimport { ComponentID } from '@teambit/component-id';\nimport WorkspaceAspect, { ExtensionsOrigin, Workspace } from '@teambit/workspace';\nimport { CompilerAspect, CompilerMain } from '@teambit/compiler';\nimport { AspectAspect } from './aspect.aspect';\nimport { AspectEnv } from './aspect.env';\nimport { CoreExporterTask } from './core-exporter.task';\nimport { aspectTemplate } from './templates/aspect';\nimport { babelConfig } from './babel/babel-config';\nimport { AspectCmd, GetAspectCmd, ListAspectCmd, SetAspectCmd, UnsetAspectCmd, UpdateAspectCmd } from './aspect.cmd';\n\nexport type AspectSource = { aspectName: string; source: string; level: string };\n\nconst tsconfig = require('./typescript/tsconfig.json');\n\nexport class AspectMain {\n constructor(readonly aspectEnv: AspectEnv, private envs: EnvsMain, private workspace: Workspace) {}\n\n /**\n * compose your own aspect environment.\n */\n compose(transformers: EnvTransformer[] = [], targetEnv: Environment = {}) {\n return this.envs.compose(this.envs.merge(targetEnv, this.aspectEnv), transformers);\n }\n\n async listAspectsOfComponent(pattern?: string): Promise<{ [component: string]: AspectSource[] }> {\n const getIds = async () => {\n if (!pattern) return this.workspace.listIds();\n return this.workspace.idsByPattern(pattern);\n };\n const componentIds = await getIds();\n const results = {};\n await Promise.all(\n componentIds.map(async (id) => {\n const aspectSources = await this.getAspectNamesForComponent(id);\n results[id.toString()] = aspectSources;\n })\n );\n return results;\n }\n\n private async getAspectNamesForComponent(id: ComponentID): Promise<AspectSource[]> {\n const componentFromScope = await this.workspace.scope.get(id);\n const { beforeMerge } = await this.workspace.componentExtensions(id, componentFromScope);\n const aspectSources: AspectSource[] = [];\n beforeMerge.forEach((source) => {\n source.extensions.forEach((ext) => {\n const aspectName = ext.name || ext.extensionId?.toString() || '<no-name>';\n const alreadySaved = aspectSources.find((_) => _.aspectName === aspectName);\n if (alreadySaved) return;\n aspectSources.push({ aspectName, source: source.origin, level: this.getLevelBySourceOrigin(source.origin) });\n });\n });\n return aspectSources;\n }\n\n private getLevelBySourceOrigin(origin: ExtensionsOrigin) {\n switch (origin) {\n case 'BitmapFile':\n case 'ComponentJsonFile':\n case 'ModelSpecific':\n return 'component';\n default:\n return 'workspace';\n }\n }\n\n async setAspectsToComponents(\n pattern: string,\n aspectId: string,\n config: Record<string, any> = {}\n ): Promise<ComponentID[]> {\n const componentIds = await this.workspace.idsByPattern(pattern);\n await Promise.all(\n componentIds.map(async (componentId) => {\n await this.workspace.addSpecificComponentConfig(componentId, aspectId, config);\n })\n );\n await this.workspace.bitMap.write();\n\n return componentIds;\n }\n\n async unsetAspectsFromComponents(pattern: string, aspectId: string): Promise<ComponentID[]> {\n const componentIds = await this.workspace.idsByPattern(pattern);\n await Promise.all(\n componentIds.map(async (componentId) => {\n await this.workspace.removeSpecificComponentConfig(componentId, aspectId, true);\n })\n );\n await this.workspace.bitMap.write();\n\n return componentIds;\n }\n\n async getAspectsOfComponent(id: string | ComponentID) {\n if (typeof id === 'string') {\n id = await this.workspace.resolveComponentId(id);\n }\n const componentFromScope = await this.workspace.scope.get(id);\n return this.workspace.componentExtensions(id, componentFromScope);\n }\n\n async updateAspectsToComponents(aspectId: string, pattern?: string): Promise<ComponentID[]> {\n let aspectCompId = await this.workspace.resolveComponentId(aspectId);\n if (!aspectCompId.hasVersion()) {\n try {\n const fromRemote = await this.workspace.scope.getRemoteComponent(aspectCompId);\n aspectCompId = aspectCompId.changeVersion(fromRemote.id.version);\n } catch (err) {\n throw new BitError(\n `unable to find ${aspectId} in the remote. if this is a local aspect, please provide a version with your aspect (${aspectId}) to update to`\n );\n }\n }\n const allCompIds = pattern ? await this.workspace.idsByPattern(pattern) : await this.workspace.listIds();\n const allComps = await this.workspace.getMany(allCompIds);\n const updatedComponentIds = await Promise.all(\n allComps.map(async (comp) => {\n const aspect = comp.state.aspects.get(aspectCompId.toStringWithoutVersion());\n if (!aspect) return undefined;\n if (aspect.id.version === aspectCompId.version) return undefined; // nothing to update\n await this.workspace.removeSpecificComponentConfig(comp.id, aspect.id.toString(), true);\n await this.workspace.addSpecificComponentConfig(comp.id, aspectCompId.toString(), aspect.config);\n return comp.id;\n })\n );\n await this.workspace.bitMap.write();\n return compact(updatedComponentIds);\n }\n\n static runtime = MainRuntime;\n static dependencies = [\n ReactAspect,\n EnvsAspect,\n BuilderAspect,\n AspectLoaderAspect,\n CompilerAspect,\n BabelAspect,\n GeneratorAspect,\n WorkspaceAspect,\n CLIAspect,\n ];\n\n static async provider([react, envs, builder, aspectLoader, compiler, babel, generator, workspace, cli]: [\n ReactMain,\n EnvsMain,\n BuilderMain,\n AspectLoaderMain,\n CompilerMain,\n BabelMain,\n GeneratorMain,\n Workspace,\n CLIMain\n ]) {\n const babelCompiler = babel.createCompiler({\n babelTransformOptions: babelConfig,\n distDir: 'dist',\n distGlobPatterns: [`dist/**`, `!dist/**/*.d.ts`, `!dist/tsconfig.tsbuildinfo`],\n });\n const compilerOverride = envs.override({\n getCompiler: () => {\n return babelCompiler;\n },\n });\n\n const transformer = (config) => {\n config\n .mergeTsConfig(tsconfig)\n .setArtifactName('declaration')\n .setDistGlobPatterns([`dist/**/*.d.ts`])\n .setShouldCopyNonSupportedFiles(false);\n return config;\n };\n const tsCompiler = react.env.getCompiler([transformer]);\n\n const compilerTasksOverride = react.overrideCompilerTasks([\n compiler.createTask('BabelCompiler', babelCompiler),\n compiler.createTask('TypescriptCompiler', tsCompiler),\n ]);\n\n const aspectEnv = react.compose(\n [compilerOverride, compilerTasksOverride],\n new AspectEnv(react.reactEnv, aspectLoader)\n );\n\n const coreExporterTask = new CoreExporterTask(aspectEnv, aspectLoader);\n if (!__dirname.includes('@teambit/bit')) {\n builder.registerBuildTasks([coreExporterTask]);\n }\n\n envs.registerEnv(aspectEnv);\n generator.registerComponentTemplate([aspectTemplate]);\n const aspectMain = new AspectMain(aspectEnv as AspectEnv, envs, workspace);\n const aspectCmd = new AspectCmd();\n aspectCmd.commands = [\n new ListAspectCmd(aspectMain),\n new GetAspectCmd(aspectMain),\n new SetAspectCmd(aspectMain),\n new UnsetAspectCmd(aspectMain),\n new UpdateAspectCmd(aspectMain),\n ];\n cli.register(aspectCmd);\n\n return aspectMain;\n }\n}\n\nAspectAspect.addRuntime(AspectMain);\n"]}
1
+ {"version":3,"sources":["aspect.main.runtime.ts"],"names":["tsconfig","require","AspectMain","constructor","aspectEnv","envs","workspace","compose","transformers","targetEnv","merge","listAspectsOfComponent","pattern","getIds","listIds","idsByPattern","componentIds","results","Promise","all","map","id","aspectSources","getAspectNamesForComponent","toString","babelConfig","componentFromScope","scope","get","beforeMerge","componentExtensions","forEach","source","extensions","ext","aspectName","name","extensionId","alreadySaved","find","_","push","origin","level","getLevelBySourceOrigin","setAspectsToComponents","aspectId","config","componentId","addSpecificComponentConfig","bitMap","write","unsetAspectsFromComponents","removeSpecificComponentConfig","getAspectsOfComponent","resolveComponentId","updateAspectsToComponents","aspectCompId","hasVersion","fromRemote","getRemoteComponent","changeVersion","version","err","BitError","allCompIds","allComps","getMany","updatedComponentIds","comp","aspect","state","aspects","toStringWithoutVersion","undefined","overrideDependencies","dependencyPolicy","override","getDependencies","reactDeps","provider","react","builder","aspectLoader","compiler","babel","generator","cli","babelCompiler","createCompiler","babelTransformOptions","distDir","distGlobPatterns","compilerOverride","getCompiler","transformer","mergeTsConfig","setArtifactName","setDistGlobPatterns","setShouldCopyNonSupportedFiles","tsCompiler","env","compilerTasksOverride","overrideCompilerTasks","createTask","AspectEnv","reactEnv","coreExporterTask","CoreExporterTask","__dirname","includes","registerBuildTasks","registerEnv","registerComponentTemplate","aspectTemplate","aspectMain","aspectCmd","AspectCmd","commands","ListAspectCmd","GetAspectCmd","SetAspectCmd","UnsetAspectCmd","UpdateAspectCmd","register","MainRuntime","ReactAspect","EnvsAspect","BuilderAspect","AspectLoaderAspect","CompilerAspect","BabelAspect","GeneratorAspect","WorkspaceAspect","CLIAspect","AspectAspect","addRuntime"],"mappings":"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","sourcesContent":["import { AspectLoaderAspect, AspectLoaderMain } from '@teambit/aspect-loader';\nimport mergeDeepLeft from 'ramda/src/mergeDeepLeft';\nimport { BuilderAspect, BuilderMain } from '@teambit/builder';\nimport { compact } from 'lodash';\nimport { EnvPolicyConfigObject } from '@teambit/dependency-resolver';\nimport { BitError } from '@teambit/bit-error';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { Environment, EnvsAspect, EnvsMain, EnvTransformer } from '@teambit/envs';\nimport { ReactAspect, ReactMain } from '@teambit/react';\nimport { GeneratorAspect, GeneratorMain } from '@teambit/generator';\nimport { BabelAspect, BabelMain } from '@teambit/babel';\nimport { ComponentID } from '@teambit/component-id';\nimport WorkspaceAspect, { ExtensionsOrigin, Workspace } from '@teambit/workspace';\nimport { CompilerAspect, CompilerMain } from '@teambit/compiler';\nimport { AspectAspect } from './aspect.aspect';\nimport { AspectEnv } from './aspect.env';\nimport { CoreExporterTask } from './core-exporter.task';\nimport { aspectTemplate } from './templates/aspect';\nimport { babelConfig } from './babel/babel-config';\nimport { AspectCmd, GetAspectCmd, ListAspectCmd, SetAspectCmd, UnsetAspectCmd, UpdateAspectCmd } from './aspect.cmd';\n\nexport type AspectSource = { aspectName: string; source: string; level: string };\n\nconst tsconfig = require('./typescript/tsconfig.json');\n\nexport class AspectMain {\n constructor(readonly aspectEnv: AspectEnv, private envs: EnvsMain, private workspace: Workspace) {}\n\n /**\n * compose your own aspect environment.\n */\n compose(transformers: EnvTransformer[] = [], targetEnv: Environment = {}) {\n return this.envs.compose(this.envs.merge(targetEnv, this.aspectEnv), transformers);\n }\n\n async listAspectsOfComponent(pattern?: string): Promise<{ [component: string]: AspectSource[] }> {\n const getIds = async () => {\n if (!pattern) return this.workspace.listIds();\n return this.workspace.idsByPattern(pattern);\n };\n const componentIds = await getIds();\n const results = {};\n await Promise.all(\n componentIds.map(async (id) => {\n const aspectSources = await this.getAspectNamesForComponent(id);\n results[id.toString()] = aspectSources;\n })\n );\n return results;\n }\n\n get babelConfig() {\n return babelConfig;\n }\n\n private async getAspectNamesForComponent(id: ComponentID): Promise<AspectSource[]> {\n const componentFromScope = await this.workspace.scope.get(id);\n const { beforeMerge } = await this.workspace.componentExtensions(id, componentFromScope);\n const aspectSources: AspectSource[] = [];\n beforeMerge.forEach((source) => {\n source.extensions.forEach((ext) => {\n const aspectName = ext.name || ext.extensionId?.toString() || '<no-name>';\n const alreadySaved = aspectSources.find((_) => _.aspectName === aspectName);\n if (alreadySaved) return;\n aspectSources.push({ aspectName, source: source.origin, level: this.getLevelBySourceOrigin(source.origin) });\n });\n });\n return aspectSources;\n }\n\n private getLevelBySourceOrigin(origin: ExtensionsOrigin) {\n switch (origin) {\n case 'BitmapFile':\n case 'ComponentJsonFile':\n case 'ModelSpecific':\n return 'component';\n default:\n return 'workspace';\n }\n }\n\n async setAspectsToComponents(\n pattern: string,\n aspectId: string,\n config: Record<string, any> = {}\n ): Promise<ComponentID[]> {\n const componentIds = await this.workspace.idsByPattern(pattern);\n await Promise.all(\n componentIds.map(async (componentId) => {\n await this.workspace.addSpecificComponentConfig(componentId, aspectId, config);\n })\n );\n await this.workspace.bitMap.write();\n\n return componentIds;\n }\n\n async unsetAspectsFromComponents(pattern: string, aspectId: string): Promise<ComponentID[]> {\n const componentIds = await this.workspace.idsByPattern(pattern);\n await Promise.all(\n componentIds.map(async (componentId) => {\n await this.workspace.removeSpecificComponentConfig(componentId, aspectId, true);\n })\n );\n await this.workspace.bitMap.write();\n\n return componentIds;\n }\n\n async getAspectsOfComponent(id: string | ComponentID) {\n if (typeof id === 'string') {\n id = await this.workspace.resolveComponentId(id);\n }\n const componentFromScope = await this.workspace.scope.get(id);\n return this.workspace.componentExtensions(id, componentFromScope);\n }\n\n async updateAspectsToComponents(aspectId: string, pattern?: string): Promise<ComponentID[]> {\n let aspectCompId = await this.workspace.resolveComponentId(aspectId);\n if (!aspectCompId.hasVersion()) {\n try {\n const fromRemote = await this.workspace.scope.getRemoteComponent(aspectCompId);\n aspectCompId = aspectCompId.changeVersion(fromRemote.id.version);\n } catch (err) {\n throw new BitError(\n `unable to find ${aspectId} in the remote. if this is a local aspect, please provide a version with your aspect (${aspectId}) to update to`\n );\n }\n }\n const allCompIds = pattern ? await this.workspace.idsByPattern(pattern) : await this.workspace.listIds();\n const allComps = await this.workspace.getMany(allCompIds);\n const updatedComponentIds = await Promise.all(\n allComps.map(async (comp) => {\n const aspect = comp.state.aspects.get(aspectCompId.toStringWithoutVersion());\n if (!aspect) return undefined;\n if (aspect.id.version === aspectCompId.version) return undefined; // nothing to update\n await this.workspace.removeSpecificComponentConfig(comp.id, aspect.id.toString(), true);\n await this.workspace.addSpecificComponentConfig(comp.id, aspectCompId.toString(), aspect.config);\n return comp.id;\n })\n );\n await this.workspace.bitMap.write();\n return compact(updatedComponentIds);\n }\n\n /**\n * override the dependency configuration of the component environment.\n */\n overrideDependencies(dependencyPolicy: EnvPolicyConfigObject) {\n return this.envs.override({\n getDependencies: async () => {\n const reactDeps = await this.aspectEnv.getDependencies();\n return mergeDeepLeft(dependencyPolicy, reactDeps);\n },\n });\n }\n\n static runtime = MainRuntime;\n static dependencies = [\n ReactAspect,\n EnvsAspect,\n BuilderAspect,\n AspectLoaderAspect,\n CompilerAspect,\n BabelAspect,\n GeneratorAspect,\n WorkspaceAspect,\n CLIAspect,\n ];\n\n static async provider([react, envs, builder, aspectLoader, compiler, babel, generator, workspace, cli]: [\n ReactMain,\n EnvsMain,\n BuilderMain,\n AspectLoaderMain,\n CompilerMain,\n BabelMain,\n GeneratorMain,\n Workspace,\n CLIMain\n ]) {\n const babelCompiler = babel.createCompiler({\n babelTransformOptions: babelConfig,\n distDir: 'dist',\n distGlobPatterns: [`dist/**`, `!dist/**/*.d.ts`, `!dist/tsconfig.tsbuildinfo`],\n });\n const compilerOverride = envs.override({\n getCompiler: () => {\n return babelCompiler;\n },\n });\n\n const transformer = (config) => {\n config\n .mergeTsConfig(tsconfig)\n .setArtifactName('declaration')\n .setDistGlobPatterns([`dist/**/*.d.ts`])\n .setShouldCopyNonSupportedFiles(false);\n return config;\n };\n const tsCompiler = react.env.getCompiler([transformer]);\n\n const compilerTasksOverride = react.overrideCompilerTasks([\n compiler.createTask('BabelCompiler', babelCompiler),\n compiler.createTask('TypescriptCompiler', tsCompiler),\n ]);\n\n const aspectEnv = react.compose(\n [compilerOverride, compilerTasksOverride],\n new AspectEnv(react.reactEnv, aspectLoader)\n );\n\n const coreExporterTask = new CoreExporterTask(aspectEnv, aspectLoader);\n if (!__dirname.includes('@teambit/bit')) {\n builder.registerBuildTasks([coreExporterTask]);\n }\n\n envs.registerEnv(aspectEnv);\n generator.registerComponentTemplate([aspectTemplate]);\n const aspectMain = new AspectMain(aspectEnv as AspectEnv, envs, workspace);\n const aspectCmd = new AspectCmd();\n aspectCmd.commands = [\n new ListAspectCmd(aspectMain),\n new GetAspectCmd(aspectMain),\n new SetAspectCmd(aspectMain),\n new UnsetAspectCmd(aspectMain),\n new UpdateAspectCmd(aspectMain),\n ];\n cli.register(aspectCmd);\n\n return aspectMain;\n }\n}\n\nAspectAspect.addRuntime(AspectMain);\n"]}
package/package.json CHANGED
@@ -1,18 +1,19 @@
1
1
  {
2
2
  "name": "@teambit/aspect",
3
- "version": "0.0.662",
3
+ "version": "0.0.665",
4
4
  "homepage": "https://bit.dev/teambit/harmony/aspect",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.harmony",
8
8
  "name": "aspect",
9
- "version": "0.0.662"
9
+ "version": "0.0.665"
10
10
  },
11
11
  "dependencies": {
12
12
  "@teambit/harmony": "0.2.11",
13
13
  "chalk": "2.4.2",
14
14
  "lodash": "4.17.21",
15
15
  "typescript": "4.4.2",
16
+ "ramda": "0.27.1",
16
17
  "fs-extra": "10.0.0",
17
18
  "@babel/preset-typescript": "7.12.7",
18
19
  "@babel/preset-react": "7.13.13",
@@ -26,22 +27,23 @@
26
27
  "@babel/runtime": "7.12.18",
27
28
  "core-js": "^3.0.0",
28
29
  "@teambit/cli-table": "0.0.33",
29
- "@teambit/cli": "0.0.449",
30
- "@teambit/aspect-loader": "0.0.662",
31
- "@teambit/builder": "0.0.662",
32
- "@teambit/compiler": "0.0.662",
33
- "@teambit/envs": "0.0.662",
34
- "@teambit/react": "0.0.662",
35
- "@teambit/babel": "0.0.662",
30
+ "@teambit/cli": "0.0.450",
31
+ "@teambit/aspect-loader": "0.0.665",
32
+ "@teambit/builder": "0.0.665",
33
+ "@teambit/compiler": "0.0.665",
34
+ "@teambit/envs": "0.0.665",
35
+ "@teambit/react": "0.0.665",
36
+ "@teambit/babel": "0.0.665",
36
37
  "@teambit/bit-error": "0.0.394",
37
38
  "@teambit/component-id": "0.0.401",
38
- "@teambit/generator": "0.0.662",
39
- "@teambit/workspace": "0.0.662",
40
- "@teambit/compositions": "0.0.662",
39
+ "@teambit/dependency-resolver": "0.0.665",
40
+ "@teambit/generator": "0.0.665",
41
+ "@teambit/workspace": "0.0.665",
42
+ "@teambit/compositions": "0.0.665",
41
43
  "@teambit/design.ui.empty-box": "0.0.353",
42
- "@teambit/tester": "0.0.662",
43
- "@teambit/ui": "0.0.662",
44
- "@teambit/isolator": "0.0.662"
44
+ "@teambit/tester": "0.0.665",
45
+ "@teambit/ui": "0.0.665",
46
+ "@teambit/isolator": "0.0.665"
45
47
  },
46
48
  "devDependencies": {
47
49
  "@types/react": "^17.0.8",
@@ -53,7 +55,7 @@
53
55
  "@types/node": "12.20.4"
54
56
  },
55
57
  "peerDependencies": {
56
- "@teambit/legacy": "1.0.228",
58
+ "@teambit/legacy": "1.0.229",
57
59
  "react-dom": "^16.8.0 || ^17.0.0",
58
60
  "react": "^16.8.0 || ^17.0.0"
59
61
  },