@teambit/aspect 0.0.646 → 0.0.650

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-1644463306198.js → __compositions-1645068215823.js} +0 -0
  2. package/{__overview-1644463306198.js → __overview-1645068215823.js} +0 -0
  3. package/{__preview-1644463306198.js → __preview-1645068215823.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/664.js +4 -4
  7. package/artifacts/env-template/public/848.js +1 -1
  8. package/artifacts/env-template/public/882.js +1 -0
  9. package/artifacts/env-template/public/assets-manifest.json +10 -10
  10. package/artifacts/env-template/public/compositions.32911ddc504e273af166.js +1 -0
  11. package/artifacts/env-template/public/compositions.html +1 -1
  12. package/artifacts/env-template/public/{overview.3556b56d140b92df3d36.js → overview.016f48da43cf74fbd429.js} +1 -1
  13. package/artifacts/env-template/public/overview.html +1 -1
  14. package/artifacts/env-template/public/preview-root.e7fa46d8016c05392ae4.js +1 -0
  15. package/artifacts/env-template/public/service-worker.js +1 -1
  16. package/artifacts/env-template/public/static/css/{664.fd0bd83a.css → 664.3b6bb93f.css} +1 -1
  17. package/artifacts/preview/teambit_harmony_aspect-preview.js +1 -1
  18. package/dist/aspect.cmd.d.ts +10 -0
  19. package/dist/aspect.cmd.js +25 -1
  20. package/dist/aspect.cmd.js.map +1 -1
  21. package/dist/aspect.main.runtime.d.ts +1 -0
  22. package/dist/aspect.main.runtime.js +51 -4
  23. package/dist/aspect.main.runtime.js.map +1 -1
  24. package/package-tar/teambit-aspect-0.0.650.tgz +0 -0
  25. package/package.json +17 -16
  26. package/artifacts/env-template/public/189.js +0 -1
  27. package/artifacts/env-template/public/compositions.855010c4f7dca3e9e6f9.js +0 -1
  28. package/artifacts/env-template/public/preview-root.971afd09cc2f6731b9e7.js +0 -1
  29. package/package-tar/teambit-aspect-0.0.646.tgz +0 -0
@@ -41,6 +41,26 @@ function _builder() {
41
41
  return data;
42
42
  }
43
43
 
44
+ function _lodash() {
45
+ const data = require("lodash");
46
+
47
+ _lodash = function () {
48
+ return data;
49
+ };
50
+
51
+ return data;
52
+ }
53
+
54
+ function _bitError() {
55
+ const data = require("@teambit/bit-error");
56
+
57
+ _bitError = function () {
58
+ return data;
59
+ };
60
+
61
+ return data;
62
+ }
63
+
44
64
  function _cli() {
45
65
  const data = require("@teambit/cli");
46
66
 
@@ -249,9 +269,9 @@ class AspectMain {
249
269
 
250
270
  async unsetAspectsFromComponents(pattern, aspectId) {
251
271
  const componentIds = await this.workspace.idsByPattern(pattern);
252
- componentIds.forEach(componentId => {
253
- this.workspace.bitMap.removeComponentConfig(componentId, aspectId, true);
254
- });
272
+ await Promise.all(componentIds.map(async componentId => {
273
+ await this.workspace.removeSpecificComponentConfig(componentId, aspectId, true);
274
+ }));
255
275
  await this.workspace.bitMap.write();
256
276
  return componentIds;
257
277
  }
@@ -265,6 +285,33 @@ class AspectMain {
265
285
  return this.workspace.componentExtensions(id, componentFromScope);
266
286
  }
267
287
 
288
+ async updateAspectsToComponents(aspectId, pattern) {
289
+ let aspectCompId = await this.workspace.resolveComponentId(aspectId);
290
+
291
+ if (!aspectCompId.hasVersion()) {
292
+ try {
293
+ const fromRemote = await this.workspace.scope.getRemoteComponent(aspectCompId);
294
+ aspectCompId = aspectCompId.changeVersion(fromRemote.id.version);
295
+ } catch (err) {
296
+ throw new (_bitError().BitError)(`unable to find ${aspectId} in the remote. if this is a local aspect, please provide a version with your aspect (${aspectId}) to update to`);
297
+ }
298
+ }
299
+
300
+ const allCompIds = pattern ? await this.workspace.idsByPattern(pattern) : await this.workspace.listIds();
301
+ const allComps = await this.workspace.getMany(allCompIds);
302
+ const updatedComponentIds = await Promise.all(allComps.map(async comp => {
303
+ const aspect = comp.state.aspects.get(aspectCompId.toStringWithoutVersion());
304
+ if (!aspect) return undefined;
305
+ if (aspect.id.version === aspectCompId.version) return undefined; // nothing to update
306
+
307
+ await this.workspace.removeSpecificComponentConfig(comp.id, aspect.id.toString(), true);
308
+ await this.workspace.addSpecificComponentConfig(comp.id, aspectCompId.toString(), aspect.config);
309
+ return comp.id;
310
+ }));
311
+ await this.workspace.bitMap.write();
312
+ return (0, _lodash().compact)(updatedComponentIds);
313
+ }
314
+
268
315
  static async provider([react, envs, builder, aspectLoader, compiler, babel, generator, workspace, cli]) {
269
316
  const babelCompiler = babel.createCompiler({
270
317
  babelTransformOptions: _babelConfig().babelConfig,
@@ -295,7 +342,7 @@ class AspectMain {
295
342
  generator.registerComponentTemplate([_aspect3().aspectTemplate]);
296
343
  const aspectMain = new AspectMain(aspectEnv, envs, workspace);
297
344
  const aspectCmd = new (_aspect4().AspectCmd)();
298
- aspectCmd.commands = [new (_aspect4().ListAspectCmd)(aspectMain), new (_aspect4().GetAspectCmd)(aspectMain), new (_aspect4().SetAspectCmd)(aspectMain), new (_aspect4().UnsetAspectCmd)(aspectMain)];
345
+ aspectCmd.commands = [new (_aspect4().ListAspectCmd)(aspectMain), new (_aspect4().GetAspectCmd)(aspectMain), new (_aspect4().SetAspectCmd)(aspectMain), new (_aspect4().UnsetAspectCmd)(aspectMain), new (_aspect4().UpdateAspectCmd)(aspectMain)];
299
346
  cli.register(aspectCmd);
300
347
  return aspectMain;
301
348
  }
@@ -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","bitMap","addComponentConfig","write","unsetAspectsFromComponents","removeComponentConfig","getAspectsOfComponent","resolveComponentId","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","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 { 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 } 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 componentIds.forEach((componentId) => {\n this.workspace.bitMap.addComponentConfig(componentId, aspectId, config);\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 componentIds.forEach((componentId) => {\n this.workspace.bitMap.removeComponentConfig(componentId, aspectId, true);\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 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 ];\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","componentFromScope","scope","get","beforeMerge","componentExtensions","forEach","source","extensions","ext","aspectName","name","extensionId","alreadySaved","find","_","push","origin","level","getLevelBySourceOrigin","setAspectsToComponents","aspectId","config","componentId","bitMap","addComponentConfig","write","unsetAspectsFromComponents","removeSpecificComponentConfig","getAspectsOfComponent","resolveComponentId","updateAspectsToComponents","aspectCompId","hasVersion","fromRemote","getRemoteComponent","changeVersion","version","err","BitError","allCompIds","allComps","getMany","updatedComponentIds","comp","aspect","state","aspects","toStringWithoutVersion","undefined","addSpecificComponentConfig","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 componentIds.forEach((componentId) => {\n this.workspace.bitMap.addComponentConfig(componentId, aspectId, config);\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"]}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/aspect",
3
- "version": "0.0.646",
3
+ "version": "0.0.650",
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.646"
9
+ "version": "0.0.650"
10
10
  },
11
11
  "dependencies": {
12
12
  "@teambit/harmony": "0.2.11",
@@ -26,21 +26,22 @@
26
26
  "@babel/runtime": "7.12.18",
27
27
  "core-js": "^3.0.0",
28
28
  "@teambit/cli-table": "0.0.33",
29
- "@teambit/cli": "0.0.440",
30
- "@teambit/aspect-loader": "0.0.646",
31
- "@teambit/builder": "0.0.646",
32
- "@teambit/compiler": "0.0.646",
33
- "@teambit/envs": "0.0.646",
34
- "@teambit/react": "0.0.646",
35
- "@teambit/babel": "0.0.646",
29
+ "@teambit/cli": "0.0.444",
30
+ "@teambit/aspect-loader": "0.0.650",
31
+ "@teambit/builder": "0.0.650",
32
+ "@teambit/compiler": "0.0.650",
33
+ "@teambit/envs": "0.0.650",
34
+ "@teambit/react": "0.0.650",
35
+ "@teambit/babel": "0.0.650",
36
+ "@teambit/bit-error": "0.0.394",
36
37
  "@teambit/component-id": "0.0.401",
37
- "@teambit/generator": "0.0.646",
38
- "@teambit/workspace": "0.0.646",
39
- "@teambit/compositions": "0.0.646",
38
+ "@teambit/generator": "0.0.650",
39
+ "@teambit/workspace": "0.0.650",
40
+ "@teambit/compositions": "0.0.650",
40
41
  "@teambit/design.ui.empty-box": "0.0.353",
41
- "@teambit/tester": "0.0.646",
42
- "@teambit/ui": "0.0.646",
43
- "@teambit/isolator": "0.0.646"
42
+ "@teambit/tester": "0.0.650",
43
+ "@teambit/ui": "0.0.650",
44
+ "@teambit/isolator": "0.0.650"
44
45
  },
45
46
  "devDependencies": {
46
47
  "@types/react": "^17.0.8",
@@ -52,7 +53,7 @@
52
53
  "@types/node": "12.20.4"
53
54
  },
54
55
  "peerDependencies": {
55
- "@teambit/legacy": "1.0.218",
56
+ "@teambit/legacy": "1.0.222",
56
57
  "react-dom": "^16.8.0 || ^17.0.0",
57
58
  "react": "^16.8.0 || ^17.0.0"
58
59
  },