@teambit/aspect-loader 0.0.881 → 0.0.882
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.
- package/dist/aspect-definition.js +0 -5
- package/dist/aspect-definition.js.map +1 -1
- package/dist/aspect-loader.aspect.js +0 -5
- package/dist/aspect-loader.aspect.js.map +1 -1
- package/dist/aspect-loader.composition.js +0 -6
- package/dist/aspect-loader.composition.js.map +1 -1
- package/dist/aspect-loader.main.runtime.js +27 -158
- package/dist/aspect-loader.main.runtime.js.map +1 -1
- package/dist/constants.js +0 -4
- package/dist/constants.js.map +1 -1
- package/dist/core-aspects.js +0 -38
- package/dist/core-aspects.js.map +1 -1
- package/dist/core-aspects.spec.js +0 -3
- package/dist/core-aspects.spec.js.map +1 -1
- package/dist/exceptions/cannot-load-extension.js +0 -8
- package/dist/exceptions/cannot-load-extension.js.map +1 -1
- package/dist/exceptions/index.js +0 -3
- package/dist/exceptions/index.js.map +1 -1
- package/dist/index.js +0 -14
- package/dist/index.js.map +1 -1
- package/dist/plugin.js +2 -11
- package/dist/plugin.js.map +1 -1
- package/dist/plugins.js +3 -19
- package/dist/plugins.js.map +1 -1
- package/package-tar/teambit-aspect-loader-0.0.882.tgz +0 -0
- package/package.json +6 -6
- package/{preview-1666409808293.js → preview-1666496165706.js} +2 -2
- package/package-tar/teambit-aspect-loader-0.0.881.tgz +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AspectLoaderMain","constructor","logger","envs","harmony","onAspectLoadErrorSlot","onLoadRequireableExtensionSlot","pluginSlot","getCompiler","component","env","getEnv","registerOnAspectLoadErrorSlot","onAspectLoadError","register","registerOnLoadRequireableExtensionSlot","onLoadRequireableExtension","triggerOnAspectLoadError","err","entries","toArray","isFixed","mapSeries","onAspectFailFunc","result","id","getRuntimePath","modulePath","runtime","runtimeFile","filesystem","files","find","file","relative","includes","compiler","join","dist","getDistPathBySrcPath","e","info","distPath","DEFAULT_DIST_DIRNAME","replaceFileExtToJs","isAspectLoaded","failedAspects","get","getDescriptor","instance","iconFn","icon","apply","undefined","getNotLoadedConfiguredExtensions","configuredAspects","Array","from","config","raw","keys","loadedExtensions","extensionsIds","extensionsToLoad","difference","loadDefinition","props","AspectDefinition","coreAspects","_coreAspects","isCoreAspect","ids","getCoreAspectIds","setCoreAspects","aspects","map","aspect","concat","_reserved","getCoreEnvsIds","envsIds","allIds","intersection","isCoreEnv","getUserAspects","coreAspectIds","getCoreAspectDefs","runtimeName","defs","Promise","all","rawDef","getAspectDef","filter","def","runtimePath","resolveAspects","components","resolver","promises","resolvedAspect","aspectPath","aspectDefs","mainAspect","_mainAspect","setMainAspect","failedLoadAspect","resetFailedLoadAspects","addFailure","push","cloneManifest","manifest","cloned","Object","assign","create","getPrototypeOf","provider","addRuntime","getRuntime","doRequire","requireableExtension","idStr","toString","require","default","newManifest","runOnLoadRequireableExtensionSubscribers","loadRequireableExtensions","requireableExtensions","throwOnError","manifests","getManifestsFromRequireableExtensions","loadExtensionsByManifests","manifestsP","firstErr","warn","errAfterReLoad","error","handleExtensionLoadingError","compact","errorMsg","message","split","msg","UNABLE_TO_LOAD_EXTENSION","console","CannotLoadExtension","isLoaderStarted","consoleFailure","updatedManifest","onLoadRequireableExtensionFunc","getPluginDefs","flatten","values","getPlugins","componentPath","Plugins","relativePath","isAspect","isValidAspect","isAspectComponent","isUsingAspectEnv","loadAspectsFromGlobalScope","aspectIds","globalScope","LegacyScope","ensure","GLOBAL_SCOPE","ensureDir","globalScopeHarmony","loadBit","path","scope","ScopeAspect","aspectLoader","AspectLoaderAspect","ComponentID","fromLegacy","BitId","parse","hasVersions","every","hasVersion","useCache","import","throwIfNotExist","resolvedAspects","getResolvedAspects","code","resolvedAspectsAgain","skipIfExists","prepareManifests","MainRuntime","Error","Aspect","registerPlugins","pluginDefs","extensionsManifests","isValid","preparedManifests","load","warning","UNABLE_TO_LOAD_EXTENSION_FROM_LIST","loggerExt","createLogger","LoggerAspect","EnvsAspect","Slot","withType"],"sources":["aspect-loader.main.runtime.ts"],"sourcesContent":["import { join } from 'path';\nimport { BitId } from '@teambit/legacy-bit-id';\nimport LegacyScope from '@teambit/legacy/dist/scope/scope';\nimport { GLOBAL_SCOPE, DEFAULT_DIST_DIRNAME } from '@teambit/legacy/dist/constants';\nimport { MainRuntime } from '@teambit/cli';\nimport { ExtensionManifest, Harmony, Aspect, SlotRegistry, Slot } from '@teambit/harmony';\nimport type { LoggerMain } from '@teambit/logger';\nimport { ComponentID, Component } from '@teambit/component';\nimport { Logger, LoggerAspect } from '@teambit/logger';\nimport { RequireableComponent } from '@teambit/harmony.modules.requireable-component';\nimport { replaceFileExtToJs } from '@teambit/compilation.modules.babel-compiler';\nimport { EnvsAspect, EnvsMain } from '@teambit/envs';\nimport { loadBit } from '@teambit/bit';\nimport { ScopeAspect, ScopeMain } from '@teambit/scope';\nimport mapSeries from 'p-map-series';\nimport { difference, compact, flatten, intersection } from 'lodash';\nimport { AspectDefinition, AspectDefinitionProps } from './aspect-definition';\nimport { PluginDefinition } from './plugin-definition';\nimport { AspectLoaderAspect } from './aspect-loader.aspect';\nimport { UNABLE_TO_LOAD_EXTENSION, UNABLE_TO_LOAD_EXTENSION_FROM_LIST } from './constants';\nimport { CannotLoadExtension } from './exceptions';\nimport { getAspectDef } from './core-aspects';\nimport { Plugins } from './plugins';\n\nexport type PluginDefinitionSlot = SlotRegistry<PluginDefinition[]>;\n\nexport type AspectDescriptor = {\n /**\n * name of the extension.\n */\n id: string;\n\n /**\n * icon of the extension.\n */\n icon?: string;\n};\n\nexport type AspectResolver = (component: Component) => Promise<ResolvedAspect>;\n\nexport type ResolvedAspect = {\n aspectPath: string;\n runtimePath: string | null;\n};\n\ntype OnAspectLoadError = (err: Error, id: ComponentID) => Promise<boolean>;\nexport type OnAspectLoadErrorSlot = SlotRegistry<OnAspectLoadError>;\n\nexport type OnLoadRequireableExtension = (\n requireableExtension: RequireableComponent,\n manifest: ExtensionManifest | Aspect\n) => Promise<ExtensionManifest | Aspect>;\n/**\n * A slot which run during loading the requirable extension (after first manifest calculation)\n */\nexport type OnLoadRequireableExtensionSlot = SlotRegistry<OnLoadRequireableExtension>;\n\nexport type MainAspect = {\n /**\n * path to the main aspect.\n */\n path: string;\n\n /**\n * version of the aspect.\n */\n version: string | undefined;\n\n /**\n * package name of the aspect\n */\n packageName: string | undefined;\n\n /**\n * reference to aspect manifest.\n */\n aspect: Aspect;\n\n /**\n * The name of the aspect (without the scope prefix)\n */\n name: string;\n\n /**\n * The name of the aspect\n */\n id: string;\n};\n\nexport class AspectLoaderMain {\n constructor(\n private logger: Logger,\n private envs: EnvsMain,\n private harmony: Harmony,\n private onAspectLoadErrorSlot: OnAspectLoadErrorSlot,\n private onLoadRequireableExtensionSlot: OnLoadRequireableExtensionSlot,\n private pluginSlot: PluginDefinitionSlot\n ) {}\n\n private getCompiler(component: Component) {\n const env = this.envs.getEnv(component)?.env;\n return env?.getCompiler();\n }\n\n registerOnAspectLoadErrorSlot(onAspectLoadError: OnAspectLoadError) {\n this.onAspectLoadErrorSlot.register(onAspectLoadError);\n }\n\n registerOnLoadRequireableExtensionSlot(onLoadRequireableExtension: OnLoadRequireableExtension) {\n this.onLoadRequireableExtensionSlot.register(onLoadRequireableExtension);\n }\n\n /**\n * returns whether the aspect-load issue has been fixed.\n */\n async triggerOnAspectLoadError(err: Error, component: Component): Promise<boolean> {\n const entries = this.onAspectLoadErrorSlot.toArray(); // e.g. [ [ 'teambit.bit/compiler', [Function: bound onAspectLoadError] ] ]\n let isFixed = false;\n await mapSeries(entries, async ([, onAspectFailFunc]) => {\n const result = await onAspectFailFunc(err, component.id);\n if (result) isFixed = true;\n });\n\n return isFixed;\n }\n\n async getRuntimePath(component: Component, modulePath: string, runtime: string): Promise<string | null> {\n const runtimeFile = component.filesystem.files.find((file: any) => {\n return file.relative.includes(`.${runtime}.runtime`);\n });\n\n // @david we should add a compiler api for this.\n if (!runtimeFile) return null;\n try {\n const compiler = this.getCompiler(component);\n\n if (!compiler) {\n return join(modulePath, runtimeFile.relative);\n }\n\n const dist = compiler.getDistPathBySrcPath(runtimeFile.relative);\n return join(modulePath, dist);\n } catch (e) {\n this.logger.info(`got an error during get runtime path, probably the env is not loaded yet ${e}`);\n // TODO: we are manually adding the dist here and replace the file name to handle case when\n // we load aspects from scope, and their env in the same iteration, but we get into the aspect before its\n // env, so it's env doesn't exist yet\n // we should make sure to first load the env correctly before loading the aspect\n const distPath = join(modulePath, DEFAULT_DIST_DIRNAME, replaceFileExtToJs(runtimeFile.relative));\n return distPath;\n }\n }\n\n isAspectLoaded(id: string) {\n if (this.failedAspects.includes(id)) return true;\n try {\n return this.harmony.get(id);\n } catch (err: any) {\n return false;\n }\n }\n\n getDescriptor(id: string): AspectDescriptor {\n const instance = this.harmony.get<any>(id);\n const iconFn = instance.icon;\n\n const icon = iconFn ? iconFn.apply(instance) : undefined;\n\n return {\n id,\n icon,\n };\n }\n\n getNotLoadedConfiguredExtensions() {\n const configuredAspects = Array.from(this.harmony.config.raw.keys());\n const loadedExtensions = this.harmony.extensionsIds;\n const extensionsToLoad = difference(configuredAspects, loadedExtensions);\n return extensionsToLoad;\n }\n\n loadDefinition(props: AspectDefinitionProps): AspectDefinition {\n return AspectDefinition.from(props);\n }\n\n private _coreAspects: Aspect[] = [];\n\n get coreAspects() {\n return this._coreAspects;\n }\n\n isCoreAspect(id: string) {\n const ids = this.getCoreAspectIds();\n return ids.includes(id);\n }\n\n setCoreAspects(aspects: Aspect[]) {\n this._coreAspects = aspects;\n return this;\n }\n\n getCoreAspectIds() {\n const ids = this.coreAspects.map((aspect) => aspect.id);\n return ids.concat(this._reserved);\n }\n\n /**\n * Get all the core envs ids which is still register in the bit manifest as core aspect\n */\n getCoreEnvsIds(): string[] {\n const envsIds = this.envs.getCoreEnvsIds();\n const allIds = this.getCoreAspectIds();\n return intersection(allIds, envsIds);\n }\n\n isCoreEnv(id: string): boolean {\n const ids = this.getCoreEnvsIds();\n return ids.includes(id);\n }\n\n private _reserved = ['teambit.harmony/bit', 'teambit.harmony/config'];\n\n getUserAspects(): string[] {\n const coreAspectIds = this.getCoreAspectIds();\n return difference(this.harmony.extensionsIds, coreAspectIds);\n }\n\n async getCoreAspectDefs(runtimeName?: string) {\n const defs = await Promise.all(\n this.coreAspects.map(async (aspect) => {\n const id = aspect.id;\n const rawDef = await getAspectDef(id, runtimeName);\n return this.loadDefinition(rawDef);\n })\n );\n\n return defs.filter((def) => def.runtimePath);\n }\n\n async resolveAspects(components: Component[], resolver: AspectResolver): Promise<AspectDefinition[]> {\n const promises = components.map(async (component) => {\n const resolvedAspect = await resolver(component);\n return new AspectDefinition(resolvedAspect.aspectPath, resolvedAspect.runtimePath, component);\n });\n\n const aspectDefs = await Promise.all(promises);\n // return aspectDefs.filter((def) => def.runtimePath);\n return aspectDefs;\n }\n\n private _mainAspect: MainAspect;\n\n get mainAspect() {\n return this._mainAspect;\n }\n\n setMainAspect(mainAspect: MainAspect) {\n this._mainAspect = mainAspect;\n return this;\n }\n\n private failedLoadAspect: string[] = [];\n\n get failedAspects() {\n return this.failedLoadAspect;\n }\n\n public resetFailedLoadAspects() {\n this.failedLoadAspect = [];\n }\n\n private addFailure(id: string): void {\n if (this.failedAspects.includes(id)) return;\n this.failedLoadAspect.push(id);\n }\n\n cloneManifest(manifest: any) {\n const cloned = Object.assign(Object.create(Object.getPrototypeOf(manifest)), manifest);\n cloned.provider = manifest.provider;\n cloned.addRuntime = manifest.addRuntime;\n cloned.getRuntime = manifest.getRuntime;\n return cloned;\n }\n\n /**\n * run \"require\" of the component code to get the manifest\n */\n async doRequire(requireableExtension: RequireableComponent): Promise<ExtensionManifest | Aspect> {\n const idStr = requireableExtension.component.id.toString();\n const aspect = await requireableExtension.require();\n const manifest = aspect.default || aspect;\n manifest.id = idStr;\n // It's important to clone deep the manifest here to prevent mutate dependencies of other manifests as they point to the same location in memory\n const cloned = this.cloneManifest(manifest);\n const newManifest = await this.runOnLoadRequireableExtensionSubscribers(requireableExtension, cloned);\n return newManifest;\n }\n\n /**\n * in case the extension failed to load, prefer to throw an error, unless `throwOnError` param\n * passed as `false`.\n * there are cases when throwing an error blocks the user from doing anything else. for example,\n * when a user develops an extension and deletes the node-modules, the extension on the workspace\n * cannot be loaded anymore until \"bit compile\" is running. however, if this function throws an\n * error, it'll throw for \"bit compile\" as well, which blocks the user.\n * for the CI, it is important to throw an error because errors on console can be ignored.\n * for now, when loading the extension from the workspace the throwOnError is passed as false.\n * when loading from the scope (CI) it should be true.\n *\n * the console printing here is done directly by \"console.error\" and not by the logger. the reason\n * is that the logger.console only prints when the loader started (which, btw, happens after\n * entering this function, so it can't work) and here we want it to be printed regardless of the\n * rules of starting the loader. e.g. if by mistake the CI got it as throwOnError=false, it's ok\n * to break the output by the console.error.\n *\n * @todo: this is not the final word however about throwing/non throwing errors here.\n * in some cases, such as \"bit tag\", it's better not to tag if an extension changes the model.\n */\n async loadRequireableExtensions(requireableExtensions: RequireableComponent[], throwOnError = false): Promise<void> {\n const manifests = await this.getManifestsFromRequireableExtensions(requireableExtensions, throwOnError);\n return this.loadExtensionsByManifests(manifests, throwOnError);\n }\n\n async getManifestsFromRequireableExtensions(\n requireableExtensions: RequireableComponent[],\n throwOnError = false\n ): Promise<Array<ExtensionManifest | Aspect>> {\n const manifestsP = mapSeries(requireableExtensions, async (requireableExtension) => {\n if (!requireableExtensions) return undefined;\n const idStr = requireableExtension.component.id.toString();\n try {\n return await this.doRequire(requireableExtension);\n } catch (firstErr: any) {\n this.addFailure(idStr);\n this.logger.warn(`failed loading an aspect \"${idStr}\", will try to fix and reload`, firstErr);\n const isFixed = await this.triggerOnAspectLoadError(firstErr, requireableExtension.component);\n let errAfterReLoad;\n if (isFixed) {\n this.logger.info(`the loading issue might be fixed now, re-loading ${idStr}`);\n try {\n return await this.doRequire(requireableExtension);\n } catch (err: any) {\n this.logger.warn(`re-load of the aspect \"${idStr}\" failed as well`, err);\n errAfterReLoad = err;\n }\n }\n const error = errAfterReLoad || firstErr;\n this.handleExtensionLoadingError(error, idStr, throwOnError);\n }\n return undefined;\n });\n const manifests = await manifestsP;\n\n // Remove empty manifests as a result of loading issue\n return compact(manifests);\n }\n\n handleExtensionLoadingError(error: Error, idStr: string, throwOnError: boolean) {\n const errorMsg = error.message.split('\\n')[0]; // show only the first line if the error is long (e.g. happens with MODULE_NOT_FOUND errors)\n const msg = UNABLE_TO_LOAD_EXTENSION(idStr, errorMsg);\n if (throwOnError) {\n // @ts-ignore\n this.logger.console(error);\n throw new CannotLoadExtension(idStr, error);\n }\n this.logger.error(msg, error);\n if (this.logger.isLoaderStarted) {\n this.logger.consoleFailure(msg);\n } else {\n this.logger.console(msg);\n }\n }\n\n async runOnLoadRequireableExtensionSubscribers(\n requireableExtension: RequireableComponent,\n manifest: ExtensionManifest | Aspect\n ): Promise<ExtensionManifest | Aspect> {\n let updatedManifest = manifest;\n const entries = this.onLoadRequireableExtensionSlot.toArray();\n await mapSeries(entries, async ([, onLoadRequireableExtensionFunc]) => {\n updatedManifest = await onLoadRequireableExtensionFunc(requireableExtension, updatedManifest);\n });\n return updatedManifest;\n }\n\n getPluginDefs() {\n return flatten(this.pluginSlot.values());\n }\n\n getPlugins(component: Component, componentPath: string): Plugins {\n const defs = this.getPluginDefs();\n return Plugins.from(component, defs, (relativePath) => {\n const compiler = this.getCompiler(component);\n if (!compiler) {\n return join(componentPath, relativePath);\n }\n\n const dist = compiler.getDistPathBySrcPath(relativePath);\n return join(componentPath, dist);\n });\n }\n\n isAspect(manifest: any) {\n return !!(manifest.addRuntime && manifest.getRuntime);\n }\n\n isValidAspect(manifest: any): boolean {\n return this.isAspect(manifest) || manifest.provider;\n }\n\n isAspectComponent(component: Component): boolean {\n return this.envs.isUsingAspectEnv(component);\n }\n\n /**\n * get or create a global scope, import the non-core aspects, load bit from that scope, create\n * capsules for the aspects and load them from the capsules.\n */\n async loadAspectsFromGlobalScope(\n aspectIds: string[]\n ): Promise<{ components: Component[]; globalScopeHarmony: Harmony }> {\n const globalScope = await LegacyScope.ensure(GLOBAL_SCOPE, 'global-scope');\n await globalScope.ensureDir();\n const globalScopeHarmony = await loadBit(globalScope.path);\n const scope = globalScopeHarmony.get<ScopeMain>(ScopeAspect.id);\n const aspectLoader = globalScopeHarmony.get<AspectLoaderMain>(AspectLoaderAspect.id);\n // @todo: Gilad make this work\n // const ids = await scope.resolveMultipleComponentIds(aspectIds);\n const ids = aspectIds.map((id) => ComponentID.fromLegacy(BitId.parse(id, true)));\n const hasVersions = ids.every((id) => id.hasVersion());\n const useCache = hasVersions; // if all components has versions, try to use the cached aspects\n const components = await scope.import(ids, { useCache, throwIfNotExist: true });\n\n // don't use `await scope.loadAspectsFromCapsules(components, true);`\n // it won't work for globalScope because `this !== scope.aspectLoader` (this instance\n // is not the same as the aspectLoader instance Scope has)\n const resolvedAspects = await scope.getResolvedAspects(components);\n try {\n await aspectLoader.loadRequireableExtensions(resolvedAspects, true);\n } catch (err: any) {\n if (err?.error.code === 'MODULE_NOT_FOUND') {\n const resolvedAspectsAgain = await scope.getResolvedAspects(components, { skipIfExists: false });\n await aspectLoader.loadRequireableExtensions(resolvedAspectsAgain, true);\n } else {\n throw err;\n }\n }\n\n return { components, globalScopeHarmony };\n }\n\n private prepareManifests(manifests: Array<ExtensionManifest | Aspect>): Aspect[] {\n return manifests.map((manifest: any) => {\n if (this.isAspect(manifest)) return manifest as Aspect;\n manifest.runtime = MainRuntime;\n if (!manifest.id) throw new Error('manifest must have static id');\n const aspect = Aspect.create({\n id: manifest.id,\n });\n aspect.addRuntime(manifest);\n return aspect;\n });\n }\n\n /**\n * register a plugin.\n */\n registerPlugins(pluginDefs: PluginDefinition[]) {\n this.pluginSlot.register(pluginDefs);\n }\n\n // TODO: change to use the new logger, see more info at loadExtensions function in the workspace\n async loadExtensionsByManifests(extensionsManifests: Array<ExtensionManifest | Aspect>, throwOnError = true) {\n try {\n const manifests = extensionsManifests.filter((manifest) => {\n const isValid = this.isValidAspect(manifest);\n if (!isValid) this.logger.warn(`${manifest.id} is invalid. please make sure the extension is valid.`);\n return isValid;\n });\n const preparedManifests = this.prepareManifests(manifests);\n // @ts-ignore TODO: fix this\n await this.harmony.load(preparedManifests);\n } catch (e: any) {\n const ids = extensionsManifests.map((manifest) => manifest.id || 'unknown');\n // TODO: improve texts\n const errorMsg = e.message.split('\\n')[0];\n const warning = UNABLE_TO_LOAD_EXTENSION_FROM_LIST(ids, errorMsg);\n this.logger.error(warning, e);\n if (this.logger.isLoaderStarted) {\n this.logger.consoleFailure(warning);\n } else {\n this.logger.console(warning);\n this.logger.console(e);\n }\n if (throwOnError) {\n throw e;\n }\n }\n }\n\n static runtime = MainRuntime;\n static dependencies = [LoggerAspect, EnvsAspect];\n static slots = [\n Slot.withType<OnAspectLoadError>(),\n Slot.withType<OnLoadRequireableExtension>(),\n Slot.withType<PluginDefinition[]>(),\n ];\n\n static async provider(\n [loggerExt, envs]: [LoggerMain, EnvsMain],\n config,\n [onAspectLoadErrorSlot, onLoadRequireableExtensionSlot, pluginSlot]: [\n OnAspectLoadErrorSlot,\n OnLoadRequireableExtensionSlot,\n PluginDefinitionSlot\n ],\n harmony: Harmony\n ) {\n const logger = loggerExt.createLogger(AspectLoaderAspect.id);\n const aspectLoader = new AspectLoaderMain(\n logger,\n envs,\n harmony,\n onAspectLoadErrorSlot,\n onLoadRequireableExtensionSlot,\n pluginSlot\n );\n\n return aspectLoader;\n }\n}\n\nAspectLoaderAspect.addRuntime(AspectLoaderMain);\n\nexport default AspectLoaderMain;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["AspectLoaderMain","constructor","logger","envs","harmony","onAspectLoadErrorSlot","onLoadRequireableExtensionSlot","pluginSlot","getCompiler","component","env","getEnv","registerOnAspectLoadErrorSlot","onAspectLoadError","register","registerOnLoadRequireableExtensionSlot","onLoadRequireableExtension","triggerOnAspectLoadError","err","entries","toArray","isFixed","mapSeries","onAspectFailFunc","result","id","getRuntimePath","modulePath","runtime","runtimeFile","filesystem","files","find","file","relative","includes","compiler","join","dist","getDistPathBySrcPath","e","info","distPath","DEFAULT_DIST_DIRNAME","replaceFileExtToJs","isAspectLoaded","failedAspects","get","getDescriptor","instance","iconFn","icon","apply","undefined","getNotLoadedConfiguredExtensions","configuredAspects","Array","from","config","raw","keys","loadedExtensions","extensionsIds","extensionsToLoad","difference","loadDefinition","props","AspectDefinition","coreAspects","_coreAspects","isCoreAspect","ids","getCoreAspectIds","setCoreAspects","aspects","map","aspect","concat","_reserved","getCoreEnvsIds","envsIds","allIds","intersection","isCoreEnv","getUserAspects","coreAspectIds","getCoreAspectDefs","runtimeName","defs","Promise","all","rawDef","getAspectDef","filter","def","runtimePath","resolveAspects","components","resolver","promises","resolvedAspect","aspectPath","aspectDefs","mainAspect","_mainAspect","setMainAspect","failedLoadAspect","resetFailedLoadAspects","addFailure","push","cloneManifest","manifest","cloned","Object","assign","create","getPrototypeOf","provider","addRuntime","getRuntime","doRequire","requireableExtension","idStr","toString","require","default","newManifest","runOnLoadRequireableExtensionSubscribers","loadRequireableExtensions","requireableExtensions","throwOnError","manifests","getManifestsFromRequireableExtensions","loadExtensionsByManifests","manifestsP","firstErr","warn","errAfterReLoad","error","handleExtensionLoadingError","compact","errorMsg","message","split","msg","UNABLE_TO_LOAD_EXTENSION","console","CannotLoadExtension","isLoaderStarted","consoleFailure","updatedManifest","onLoadRequireableExtensionFunc","getPluginDefs","flatten","values","getPlugins","componentPath","Plugins","relativePath","isAspect","isValidAspect","isAspectComponent","isUsingAspectEnv","loadAspectsFromGlobalScope","aspectIds","globalScope","LegacyScope","ensure","GLOBAL_SCOPE","ensureDir","globalScopeHarmony","loadBit","path","scope","ScopeAspect","aspectLoader","AspectLoaderAspect","ComponentID","fromLegacy","BitId","parse","hasVersions","every","hasVersion","useCache","import","throwIfNotExist","resolvedAspects","getResolvedAspects","code","resolvedAspectsAgain","skipIfExists","prepareManifests","MainRuntime","Error","Aspect","registerPlugins","pluginDefs","extensionsManifests","isValid","preparedManifests","load","warning","UNABLE_TO_LOAD_EXTENSION_FROM_LIST","loggerExt","createLogger","LoggerAspect","EnvsAspect","Slot","withType"],"sources":["aspect-loader.main.runtime.ts"],"sourcesContent":["import { join } from 'path';\nimport { BitId } from '@teambit/legacy-bit-id';\nimport LegacyScope from '@teambit/legacy/dist/scope/scope';\nimport { GLOBAL_SCOPE, DEFAULT_DIST_DIRNAME } from '@teambit/legacy/dist/constants';\nimport { MainRuntime } from '@teambit/cli';\nimport { ExtensionManifest, Harmony, Aspect, SlotRegistry, Slot } from '@teambit/harmony';\nimport type { LoggerMain } from '@teambit/logger';\nimport { ComponentID, Component } from '@teambit/component';\nimport { Logger, LoggerAspect } from '@teambit/logger';\nimport { RequireableComponent } from '@teambit/harmony.modules.requireable-component';\nimport { replaceFileExtToJs } from '@teambit/compilation.modules.babel-compiler';\nimport { EnvsAspect, EnvsMain } from '@teambit/envs';\nimport { loadBit } from '@teambit/bit';\nimport { ScopeAspect, ScopeMain } from '@teambit/scope';\nimport mapSeries from 'p-map-series';\nimport { difference, compact, flatten, intersection } from 'lodash';\nimport { AspectDefinition, AspectDefinitionProps } from './aspect-definition';\nimport { PluginDefinition } from './plugin-definition';\nimport { AspectLoaderAspect } from './aspect-loader.aspect';\nimport { UNABLE_TO_LOAD_EXTENSION, UNABLE_TO_LOAD_EXTENSION_FROM_LIST } from './constants';\nimport { CannotLoadExtension } from './exceptions';\nimport { getAspectDef } from './core-aspects';\nimport { Plugins } from './plugins';\n\nexport type PluginDefinitionSlot = SlotRegistry<PluginDefinition[]>;\n\nexport type AspectDescriptor = {\n /**\n * name of the extension.\n */\n id: string;\n\n /**\n * icon of the extension.\n */\n icon?: string;\n};\n\nexport type AspectResolver = (component: Component) => Promise<ResolvedAspect>;\n\nexport type ResolvedAspect = {\n aspectPath: string;\n runtimePath: string | null;\n};\n\ntype OnAspectLoadError = (err: Error, id: ComponentID) => Promise<boolean>;\nexport type OnAspectLoadErrorSlot = SlotRegistry<OnAspectLoadError>;\n\nexport type OnLoadRequireableExtension = (\n requireableExtension: RequireableComponent,\n manifest: ExtensionManifest | Aspect\n) => Promise<ExtensionManifest | Aspect>;\n/**\n * A slot which run during loading the requirable extension (after first manifest calculation)\n */\nexport type OnLoadRequireableExtensionSlot = SlotRegistry<OnLoadRequireableExtension>;\n\nexport type MainAspect = {\n /**\n * path to the main aspect.\n */\n path: string;\n\n /**\n * version of the aspect.\n */\n version: string | undefined;\n\n /**\n * package name of the aspect\n */\n packageName: string | undefined;\n\n /**\n * reference to aspect manifest.\n */\n aspect: Aspect;\n\n /**\n * The name of the aspect (without the scope prefix)\n */\n name: string;\n\n /**\n * The name of the aspect\n */\n id: string;\n};\n\nexport class AspectLoaderMain {\n constructor(\n private logger: Logger,\n private envs: EnvsMain,\n private harmony: Harmony,\n private onAspectLoadErrorSlot: OnAspectLoadErrorSlot,\n private onLoadRequireableExtensionSlot: OnLoadRequireableExtensionSlot,\n private pluginSlot: PluginDefinitionSlot\n ) {}\n\n private getCompiler(component: Component) {\n const env = this.envs.getEnv(component)?.env;\n return env?.getCompiler();\n }\n\n registerOnAspectLoadErrorSlot(onAspectLoadError: OnAspectLoadError) {\n this.onAspectLoadErrorSlot.register(onAspectLoadError);\n }\n\n registerOnLoadRequireableExtensionSlot(onLoadRequireableExtension: OnLoadRequireableExtension) {\n this.onLoadRequireableExtensionSlot.register(onLoadRequireableExtension);\n }\n\n /**\n * returns whether the aspect-load issue has been fixed.\n */\n async triggerOnAspectLoadError(err: Error, component: Component): Promise<boolean> {\n const entries = this.onAspectLoadErrorSlot.toArray(); // e.g. [ [ 'teambit.bit/compiler', [Function: bound onAspectLoadError] ] ]\n let isFixed = false;\n await mapSeries(entries, async ([, onAspectFailFunc]) => {\n const result = await onAspectFailFunc(err, component.id);\n if (result) isFixed = true;\n });\n\n return isFixed;\n }\n\n async getRuntimePath(component: Component, modulePath: string, runtime: string): Promise<string | null> {\n const runtimeFile = component.filesystem.files.find((file: any) => {\n return file.relative.includes(`.${runtime}.runtime`);\n });\n\n // @david we should add a compiler api for this.\n if (!runtimeFile) return null;\n try {\n const compiler = this.getCompiler(component);\n\n if (!compiler) {\n return join(modulePath, runtimeFile.relative);\n }\n\n const dist = compiler.getDistPathBySrcPath(runtimeFile.relative);\n return join(modulePath, dist);\n } catch (e) {\n this.logger.info(`got an error during get runtime path, probably the env is not loaded yet ${e}`);\n // TODO: we are manually adding the dist here and replace the file name to handle case when\n // we load aspects from scope, and their env in the same iteration, but we get into the aspect before its\n // env, so it's env doesn't exist yet\n // we should make sure to first load the env correctly before loading the aspect\n const distPath = join(modulePath, DEFAULT_DIST_DIRNAME, replaceFileExtToJs(runtimeFile.relative));\n return distPath;\n }\n }\n\n isAspectLoaded(id: string) {\n if (this.failedAspects.includes(id)) return true;\n try {\n return this.harmony.get(id);\n } catch (err: any) {\n return false;\n }\n }\n\n getDescriptor(id: string): AspectDescriptor {\n const instance = this.harmony.get<any>(id);\n const iconFn = instance.icon;\n\n const icon = iconFn ? iconFn.apply(instance) : undefined;\n\n return {\n id,\n icon,\n };\n }\n\n getNotLoadedConfiguredExtensions() {\n const configuredAspects = Array.from(this.harmony.config.raw.keys());\n const loadedExtensions = this.harmony.extensionsIds;\n const extensionsToLoad = difference(configuredAspects, loadedExtensions);\n return extensionsToLoad;\n }\n\n loadDefinition(props: AspectDefinitionProps): AspectDefinition {\n return AspectDefinition.from(props);\n }\n\n private _coreAspects: Aspect[] = [];\n\n get coreAspects() {\n return this._coreAspects;\n }\n\n isCoreAspect(id: string) {\n const ids = this.getCoreAspectIds();\n return ids.includes(id);\n }\n\n setCoreAspects(aspects: Aspect[]) {\n this._coreAspects = aspects;\n return this;\n }\n\n getCoreAspectIds() {\n const ids = this.coreAspects.map((aspect) => aspect.id);\n return ids.concat(this._reserved);\n }\n\n /**\n * Get all the core envs ids which is still register in the bit manifest as core aspect\n */\n getCoreEnvsIds(): string[] {\n const envsIds = this.envs.getCoreEnvsIds();\n const allIds = this.getCoreAspectIds();\n return intersection(allIds, envsIds);\n }\n\n isCoreEnv(id: string): boolean {\n const ids = this.getCoreEnvsIds();\n return ids.includes(id);\n }\n\n private _reserved = ['teambit.harmony/bit', 'teambit.harmony/config'];\n\n getUserAspects(): string[] {\n const coreAspectIds = this.getCoreAspectIds();\n return difference(this.harmony.extensionsIds, coreAspectIds);\n }\n\n async getCoreAspectDefs(runtimeName?: string) {\n const defs = await Promise.all(\n this.coreAspects.map(async (aspect) => {\n const id = aspect.id;\n const rawDef = await getAspectDef(id, runtimeName);\n return this.loadDefinition(rawDef);\n })\n );\n\n return defs.filter((def) => def.runtimePath);\n }\n\n async resolveAspects(components: Component[], resolver: AspectResolver): Promise<AspectDefinition[]> {\n const promises = components.map(async (component) => {\n const resolvedAspect = await resolver(component);\n return new AspectDefinition(resolvedAspect.aspectPath, resolvedAspect.runtimePath, component);\n });\n\n const aspectDefs = await Promise.all(promises);\n // return aspectDefs.filter((def) => def.runtimePath);\n return aspectDefs;\n }\n\n private _mainAspect: MainAspect;\n\n get mainAspect() {\n return this._mainAspect;\n }\n\n setMainAspect(mainAspect: MainAspect) {\n this._mainAspect = mainAspect;\n return this;\n }\n\n private failedLoadAspect: string[] = [];\n\n get failedAspects() {\n return this.failedLoadAspect;\n }\n\n public resetFailedLoadAspects() {\n this.failedLoadAspect = [];\n }\n\n private addFailure(id: string): void {\n if (this.failedAspects.includes(id)) return;\n this.failedLoadAspect.push(id);\n }\n\n cloneManifest(manifest: any) {\n const cloned = Object.assign(Object.create(Object.getPrototypeOf(manifest)), manifest);\n cloned.provider = manifest.provider;\n cloned.addRuntime = manifest.addRuntime;\n cloned.getRuntime = manifest.getRuntime;\n return cloned;\n }\n\n /**\n * run \"require\" of the component code to get the manifest\n */\n async doRequire(requireableExtension: RequireableComponent): Promise<ExtensionManifest | Aspect> {\n const idStr = requireableExtension.component.id.toString();\n const aspect = await requireableExtension.require();\n const manifest = aspect.default || aspect;\n manifest.id = idStr;\n // It's important to clone deep the manifest here to prevent mutate dependencies of other manifests as they point to the same location in memory\n const cloned = this.cloneManifest(manifest);\n const newManifest = await this.runOnLoadRequireableExtensionSubscribers(requireableExtension, cloned);\n return newManifest;\n }\n\n /**\n * in case the extension failed to load, prefer to throw an error, unless `throwOnError` param\n * passed as `false`.\n * there are cases when throwing an error blocks the user from doing anything else. for example,\n * when a user develops an extension and deletes the node-modules, the extension on the workspace\n * cannot be loaded anymore until \"bit compile\" is running. however, if this function throws an\n * error, it'll throw for \"bit compile\" as well, which blocks the user.\n * for the CI, it is important to throw an error because errors on console can be ignored.\n * for now, when loading the extension from the workspace the throwOnError is passed as false.\n * when loading from the scope (CI) it should be true.\n *\n * the console printing here is done directly by \"console.error\" and not by the logger. the reason\n * is that the logger.console only prints when the loader started (which, btw, happens after\n * entering this function, so it can't work) and here we want it to be printed regardless of the\n * rules of starting the loader. e.g. if by mistake the CI got it as throwOnError=false, it's ok\n * to break the output by the console.error.\n *\n * @todo: this is not the final word however about throwing/non throwing errors here.\n * in some cases, such as \"bit tag\", it's better not to tag if an extension changes the model.\n */\n async loadRequireableExtensions(requireableExtensions: RequireableComponent[], throwOnError = false): Promise<void> {\n const manifests = await this.getManifestsFromRequireableExtensions(requireableExtensions, throwOnError);\n return this.loadExtensionsByManifests(manifests, throwOnError);\n }\n\n async getManifestsFromRequireableExtensions(\n requireableExtensions: RequireableComponent[],\n throwOnError = false\n ): Promise<Array<ExtensionManifest | Aspect>> {\n const manifestsP = mapSeries(requireableExtensions, async (requireableExtension) => {\n if (!requireableExtensions) return undefined;\n const idStr = requireableExtension.component.id.toString();\n try {\n return await this.doRequire(requireableExtension);\n } catch (firstErr: any) {\n this.addFailure(idStr);\n this.logger.warn(`failed loading an aspect \"${idStr}\", will try to fix and reload`, firstErr);\n const isFixed = await this.triggerOnAspectLoadError(firstErr, requireableExtension.component);\n let errAfterReLoad;\n if (isFixed) {\n this.logger.info(`the loading issue might be fixed now, re-loading ${idStr}`);\n try {\n return await this.doRequire(requireableExtension);\n } catch (err: any) {\n this.logger.warn(`re-load of the aspect \"${idStr}\" failed as well`, err);\n errAfterReLoad = err;\n }\n }\n const error = errAfterReLoad || firstErr;\n this.handleExtensionLoadingError(error, idStr, throwOnError);\n }\n return undefined;\n });\n const manifests = await manifestsP;\n\n // Remove empty manifests as a result of loading issue\n return compact(manifests);\n }\n\n handleExtensionLoadingError(error: Error, idStr: string, throwOnError: boolean) {\n const errorMsg = error.message.split('\\n')[0]; // show only the first line if the error is long (e.g. happens with MODULE_NOT_FOUND errors)\n const msg = UNABLE_TO_LOAD_EXTENSION(idStr, errorMsg);\n if (throwOnError) {\n // @ts-ignore\n this.logger.console(error);\n throw new CannotLoadExtension(idStr, error);\n }\n this.logger.error(msg, error);\n if (this.logger.isLoaderStarted) {\n this.logger.consoleFailure(msg);\n } else {\n this.logger.console(msg);\n }\n }\n\n async runOnLoadRequireableExtensionSubscribers(\n requireableExtension: RequireableComponent,\n manifest: ExtensionManifest | Aspect\n ): Promise<ExtensionManifest | Aspect> {\n let updatedManifest = manifest;\n const entries = this.onLoadRequireableExtensionSlot.toArray();\n await mapSeries(entries, async ([, onLoadRequireableExtensionFunc]) => {\n updatedManifest = await onLoadRequireableExtensionFunc(requireableExtension, updatedManifest);\n });\n return updatedManifest;\n }\n\n getPluginDefs() {\n return flatten(this.pluginSlot.values());\n }\n\n getPlugins(component: Component, componentPath: string): Plugins {\n const defs = this.getPluginDefs();\n return Plugins.from(component, defs, (relativePath) => {\n const compiler = this.getCompiler(component);\n if (!compiler) {\n return join(componentPath, relativePath);\n }\n\n const dist = compiler.getDistPathBySrcPath(relativePath);\n return join(componentPath, dist);\n });\n }\n\n isAspect(manifest: any) {\n return !!(manifest.addRuntime && manifest.getRuntime);\n }\n\n isValidAspect(manifest: any): boolean {\n return this.isAspect(manifest) || manifest.provider;\n }\n\n isAspectComponent(component: Component): boolean {\n return this.envs.isUsingAspectEnv(component);\n }\n\n /**\n * get or create a global scope, import the non-core aspects, load bit from that scope, create\n * capsules for the aspects and load them from the capsules.\n */\n async loadAspectsFromGlobalScope(\n aspectIds: string[]\n ): Promise<{ components: Component[]; globalScopeHarmony: Harmony }> {\n const globalScope = await LegacyScope.ensure(GLOBAL_SCOPE, 'global-scope');\n await globalScope.ensureDir();\n const globalScopeHarmony = await loadBit(globalScope.path);\n const scope = globalScopeHarmony.get<ScopeMain>(ScopeAspect.id);\n const aspectLoader = globalScopeHarmony.get<AspectLoaderMain>(AspectLoaderAspect.id);\n // @todo: Gilad make this work\n // const ids = await scope.resolveMultipleComponentIds(aspectIds);\n const ids = aspectIds.map((id) => ComponentID.fromLegacy(BitId.parse(id, true)));\n const hasVersions = ids.every((id) => id.hasVersion());\n const useCache = hasVersions; // if all components has versions, try to use the cached aspects\n const components = await scope.import(ids, { useCache, throwIfNotExist: true });\n\n // don't use `await scope.loadAspectsFromCapsules(components, true);`\n // it won't work for globalScope because `this !== scope.aspectLoader` (this instance\n // is not the same as the aspectLoader instance Scope has)\n const resolvedAspects = await scope.getResolvedAspects(components);\n try {\n await aspectLoader.loadRequireableExtensions(resolvedAspects, true);\n } catch (err: any) {\n if (err?.error.code === 'MODULE_NOT_FOUND') {\n const resolvedAspectsAgain = await scope.getResolvedAspects(components, { skipIfExists: false });\n await aspectLoader.loadRequireableExtensions(resolvedAspectsAgain, true);\n } else {\n throw err;\n }\n }\n\n return { components, globalScopeHarmony };\n }\n\n private prepareManifests(manifests: Array<ExtensionManifest | Aspect>): Aspect[] {\n return manifests.map((manifest: any) => {\n if (this.isAspect(manifest)) return manifest as Aspect;\n manifest.runtime = MainRuntime;\n if (!manifest.id) throw new Error('manifest must have static id');\n const aspect = Aspect.create({\n id: manifest.id,\n });\n aspect.addRuntime(manifest);\n return aspect;\n });\n }\n\n /**\n * register a plugin.\n */\n registerPlugins(pluginDefs: PluginDefinition[]) {\n this.pluginSlot.register(pluginDefs);\n }\n\n // TODO: change to use the new logger, see more info at loadExtensions function in the workspace\n async loadExtensionsByManifests(extensionsManifests: Array<ExtensionManifest | Aspect>, throwOnError = true) {\n try {\n const manifests = extensionsManifests.filter((manifest) => {\n const isValid = this.isValidAspect(manifest);\n if (!isValid) this.logger.warn(`${manifest.id} is invalid. please make sure the extension is valid.`);\n return isValid;\n });\n const preparedManifests = this.prepareManifests(manifests);\n // @ts-ignore TODO: fix this\n await this.harmony.load(preparedManifests);\n } catch (e: any) {\n const ids = extensionsManifests.map((manifest) => manifest.id || 'unknown');\n // TODO: improve texts\n const errorMsg = e.message.split('\\n')[0];\n const warning = UNABLE_TO_LOAD_EXTENSION_FROM_LIST(ids, errorMsg);\n this.logger.error(warning, e);\n if (this.logger.isLoaderStarted) {\n this.logger.consoleFailure(warning);\n } else {\n this.logger.console(warning);\n this.logger.console(e);\n }\n if (throwOnError) {\n throw e;\n }\n }\n }\n\n static runtime = MainRuntime;\n static dependencies = [LoggerAspect, EnvsAspect];\n static slots = [\n Slot.withType<OnAspectLoadError>(),\n Slot.withType<OnLoadRequireableExtension>(),\n Slot.withType<PluginDefinition[]>(),\n ];\n\n static async provider(\n [loggerExt, envs]: [LoggerMain, EnvsMain],\n config,\n [onAspectLoadErrorSlot, onLoadRequireableExtensionSlot, pluginSlot]: [\n OnAspectLoadErrorSlot,\n OnLoadRequireableExtensionSlot,\n PluginDefinitionSlot\n ],\n harmony: Harmony\n ) {\n const logger = loggerExt.createLogger(AspectLoaderAspect.id);\n const aspectLoader = new AspectLoaderMain(\n logger,\n envs,\n harmony,\n onAspectLoadErrorSlot,\n onLoadRequireableExtensionSlot,\n pluginSlot\n );\n\n return aspectLoader;\n }\n}\n\nAspectLoaderAspect.addRuntime(AspectLoaderMain);\n\nexport default AspectLoaderMain;\n"],"mappings":"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"}
|
package/dist/constants.js
CHANGED
|
@@ -4,13 +4,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.UNABLE_TO_LOAD_EXTENSION_FROM_LIST = exports.UNABLE_TO_LOAD_EXTENSION = void 0;
|
|
7
|
-
|
|
8
7
|
const UNABLE_TO_LOAD_EXTENSION = (id, errMsg) => `error: unable to load the extension "${id}", due to an error "${errMsg || '<unknown-error>'}", please use the '--log=error' flag for the full error.`;
|
|
9
|
-
|
|
10
8
|
exports.UNABLE_TO_LOAD_EXTENSION = UNABLE_TO_LOAD_EXTENSION;
|
|
11
|
-
|
|
12
9
|
const UNABLE_TO_LOAD_EXTENSION_FROM_LIST = (ids, errMsg) => `couldn't load one of the following extensions ${ids.join(', ')}, due to an error "${errMsg || '<unknown-error>'}", please use the '--log=error' flag for the full error.`;
|
|
13
|
-
|
|
14
10
|
exports.UNABLE_TO_LOAD_EXTENSION_FROM_LIST = UNABLE_TO_LOAD_EXTENSION_FROM_LIST;
|
|
15
11
|
|
|
16
12
|
//# sourceMappingURL=constants.js.map
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["UNABLE_TO_LOAD_EXTENSION","id","errMsg","UNABLE_TO_LOAD_EXTENSION_FROM_LIST","ids","join"],"sources":["constants.ts"],"sourcesContent":["export const UNABLE_TO_LOAD_EXTENSION = (id: string, errMsg?: string) =>\n `error: unable to load the extension \"${id}\", due to an error \"${\n errMsg || '<unknown-error>'\n }\", please use the '--log=error' flag for the full error.`;\nexport const UNABLE_TO_LOAD_EXTENSION_FROM_LIST = (ids: string[], errMsg?: string) =>\n `couldn't load one of the following extensions ${ids.join(', ')}, due to an error \"${\n errMsg || '<unknown-error>'\n }\", please use the '--log=error' flag for the full error.`;\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["UNABLE_TO_LOAD_EXTENSION","id","errMsg","UNABLE_TO_LOAD_EXTENSION_FROM_LIST","ids","join"],"sources":["constants.ts"],"sourcesContent":["export const UNABLE_TO_LOAD_EXTENSION = (id: string, errMsg?: string) =>\n `error: unable to load the extension \"${id}\", due to an error \"${\n errMsg || '<unknown-error>'\n }\", please use the '--log=error' flag for the full error.`;\nexport const UNABLE_TO_LOAD_EXTENSION_FROM_LIST = (ids: string[], errMsg?: string) =>\n `couldn't load one of the following extensions ${ids.join(', ')}, due to an error \"${\n errMsg || '<unknown-error>'\n }\", please use the '--log=error' flag for the full error.`;\n"],"mappings":";;;;;;AAAO,MAAMA,wBAAwB,GAAG,CAACC,EAAU,EAAEC,MAAe,KACjE,wCAAuCD,EAAG,uBACzCC,MAAM,IAAI,iBACX,0DAAyD;AAAC;AACtD,MAAMC,kCAAkC,GAAG,CAACC,GAAa,EAAEF,MAAe,KAC9E,iDAAgDE,GAAG,CAACC,IAAI,CAAC,IAAI,CAAE,sBAC9DH,MAAM,IAAI,iBACX,0DAAyD;AAAC"}
|
package/dist/core-aspects.js
CHANGED
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
require("core-js/modules/es.array.iterator.js");
|
|
4
|
-
|
|
5
4
|
require("core-js/modules/es.promise.js");
|
|
6
|
-
|
|
7
5
|
require("core-js/modules/es.regexp.exec.js");
|
|
8
|
-
|
|
9
6
|
Object.defineProperty(exports, "__esModule", {
|
|
10
7
|
value: true
|
|
11
8
|
});
|
|
@@ -15,54 +12,39 @@ exports.getAspectDirFromBvm = getAspectDirFromBvm;
|
|
|
15
12
|
exports.getAspectDistDir = getAspectDistDir;
|
|
16
13
|
exports.getCoreAspectName = getCoreAspectName;
|
|
17
14
|
exports.getCoreAspectPackageName = getCoreAspectPackageName;
|
|
18
|
-
|
|
19
15
|
function _bitError() {
|
|
20
16
|
const data = require("@teambit/bit-error");
|
|
21
|
-
|
|
22
17
|
_bitError = function () {
|
|
23
18
|
return data;
|
|
24
19
|
};
|
|
25
|
-
|
|
26
20
|
return data;
|
|
27
21
|
}
|
|
28
|
-
|
|
29
22
|
function _fsExtra() {
|
|
30
23
|
const data = require("fs-extra");
|
|
31
|
-
|
|
32
24
|
_fsExtra = function () {
|
|
33
25
|
return data;
|
|
34
26
|
};
|
|
35
|
-
|
|
36
27
|
return data;
|
|
37
28
|
}
|
|
38
|
-
|
|
39
29
|
function _path() {
|
|
40
30
|
const data = require("path");
|
|
41
|
-
|
|
42
31
|
_path = function () {
|
|
43
32
|
return data;
|
|
44
33
|
};
|
|
45
|
-
|
|
46
34
|
return data;
|
|
47
35
|
}
|
|
48
|
-
|
|
49
36
|
function _bvm() {
|
|
50
37
|
const data = require("@teambit/bvm.config");
|
|
51
|
-
|
|
52
38
|
_bvm = function () {
|
|
53
39
|
return data;
|
|
54
40
|
};
|
|
55
|
-
|
|
56
41
|
return data;
|
|
57
42
|
}
|
|
58
|
-
|
|
59
43
|
let _bvmConfig;
|
|
60
|
-
|
|
61
44
|
function getAspectDirFromPath(id, pathsToResolveAspects) {
|
|
62
45
|
const aspectName = getCoreAspectName(id);
|
|
63
46
|
const packageName = getCoreAspectPackageName(id);
|
|
64
47
|
let moduleDirectory;
|
|
65
|
-
|
|
66
48
|
if (pathsToResolveAspects && pathsToResolveAspects.length) {
|
|
67
49
|
moduleDirectory = require.resolve(packageName, {
|
|
68
50
|
paths: pathsToResolveAspects
|
|
@@ -70,89 +52,69 @@ function getAspectDirFromPath(id, pathsToResolveAspects) {
|
|
|
70
52
|
} else {
|
|
71
53
|
moduleDirectory = require.resolve(packageName);
|
|
72
54
|
}
|
|
73
|
-
|
|
74
55
|
const dirPath = (0, _path().join)(moduleDirectory, '../..'); // to remove the "index.js" at the end
|
|
75
|
-
|
|
76
56
|
if (!(0, _fsExtra().existsSync)(dirPath)) {
|
|
77
57
|
throw new Error(`unable to find ${aspectName} in ${dirPath}`);
|
|
78
58
|
}
|
|
79
|
-
|
|
80
59
|
return dirPath;
|
|
81
60
|
}
|
|
82
|
-
|
|
83
61
|
function getAspectDir(id) {
|
|
84
62
|
const aspectName = getCoreAspectName(id);
|
|
85
63
|
let dirPath;
|
|
86
|
-
|
|
87
64
|
try {
|
|
88
65
|
dirPath = getAspectDirFromPath(id);
|
|
89
66
|
} catch (err) {
|
|
90
67
|
dirPath = (0, _path().resolve)(__dirname, '../..', aspectName, 'dist');
|
|
91
68
|
}
|
|
92
|
-
|
|
93
69
|
if (!(0, _fsExtra().existsSync)(dirPath)) {
|
|
94
70
|
throw new Error(`unable to find ${aspectName} in ${dirPath}`);
|
|
95
71
|
}
|
|
96
|
-
|
|
97
72
|
return dirPath;
|
|
98
73
|
}
|
|
99
|
-
|
|
100
74
|
function getAspectDirFromBvm(id, bvmDirOptions) {
|
|
101
75
|
if (!_bvmConfig) {
|
|
102
76
|
_bvmConfig = _bvm().Config.load(false, ['env', 'file']);
|
|
103
77
|
}
|
|
104
|
-
|
|
105
78
|
const bvmConfig = _bvmConfig;
|
|
106
79
|
let version;
|
|
107
|
-
|
|
108
80
|
if (bvmDirOptions !== null && bvmDirOptions !== void 0 && bvmDirOptions.version) {
|
|
109
81
|
version = bvmDirOptions === null || bvmDirOptions === void 0 ? void 0 : bvmDirOptions.version;
|
|
110
82
|
} else {
|
|
111
83
|
const link = (bvmDirOptions === null || bvmDirOptions === void 0 ? void 0 : bvmDirOptions.linkName) || bvmConfig.getDefaultLinkName();
|
|
112
84
|
const links = bvmConfig.getLinks();
|
|
113
85
|
version = links[link];
|
|
114
|
-
|
|
115
86
|
if (!version) {
|
|
116
87
|
throw new (_bitError().BitError)(`can't find link named ${bvmDirOptions === null || bvmDirOptions === void 0 ? void 0 : bvmDirOptions.linkName} in bvm config`);
|
|
117
88
|
}
|
|
118
89
|
}
|
|
119
|
-
|
|
120
90
|
const {
|
|
121
91
|
versionDir,
|
|
122
92
|
exists
|
|
123
93
|
} = bvmConfig.getSpecificVersionDir(version, true);
|
|
124
|
-
|
|
125
94
|
if (!exists) {
|
|
126
95
|
throw new (_bitError().BitError)(`can't find version ${version} in bvm folder`);
|
|
127
96
|
}
|
|
128
|
-
|
|
129
97
|
return getAspectDirFromPath(id, [versionDir]);
|
|
130
98
|
}
|
|
131
|
-
|
|
132
99
|
function getAspectDistDir(id) {
|
|
133
100
|
return (0, _path().resolve)(`${getAspectDir(id)}/dist`);
|
|
134
101
|
}
|
|
135
|
-
|
|
136
102
|
function getCoreAspectName(id) {
|
|
137
103
|
const [, ...name] = id.split('/');
|
|
138
104
|
const aspectName = name.join('.');
|
|
139
105
|
return aspectName;
|
|
140
106
|
}
|
|
141
|
-
|
|
142
107
|
function getCoreAspectPackageName(id) {
|
|
143
108
|
const aspectName = getCoreAspectName(id);
|
|
144
109
|
return `@teambit/${aspectName}`;
|
|
145
110
|
}
|
|
146
|
-
|
|
147
111
|
async function getAspectDef(aspectName, runtime) {
|
|
148
112
|
const dirPath = getAspectDistDir(aspectName);
|
|
149
113
|
const files = await (0, _fsExtra().readdir)(dirPath);
|
|
150
114
|
let runtimeFile;
|
|
151
|
-
|
|
152
115
|
if (runtime) {
|
|
153
116
|
runtimeFile = files.find(file => file.includes(`.${runtime}.runtime.js`)) || null;
|
|
154
117
|
}
|
|
155
|
-
|
|
156
118
|
return {
|
|
157
119
|
id: aspectName,
|
|
158
120
|
aspectPath: (0, _path().join)(dirPath, '..'),
|
package/dist/core-aspects.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bvmConfig","getAspectDirFromPath","id","pathsToResolveAspects","aspectName","getCoreAspectName","packageName","getCoreAspectPackageName","moduleDirectory","length","require","resolve","paths","dirPath","join","existsSync","Error","getAspectDir","err","__dirname","getAspectDirFromBvm","bvmDirOptions","Config","load","bvmConfig","version","link","linkName","getDefaultLinkName","links","getLinks","BitError","versionDir","exists","getSpecificVersionDir","getAspectDistDir","name","split","getAspectDef","runtime","files","readdir","runtimeFile","find","file","includes","aspectPath","runtimePath"],"sources":["core-aspects.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\nimport { existsSync, readdir } from 'fs-extra';\nimport { join, resolve } from 'path';\nimport { Config } from '@teambit/bvm.config';\n\nlet _bvmConfig;\n\nfunction getAspectDirFromPath(id: string, pathsToResolveAspects?: string[]): string {\n const aspectName = getCoreAspectName(id);\n const packageName = getCoreAspectPackageName(id);\n\n let moduleDirectory;\n if (pathsToResolveAspects && pathsToResolveAspects.length) {\n moduleDirectory = require.resolve(packageName, { paths: pathsToResolveAspects });\n } else {\n moduleDirectory = require.resolve(packageName);\n }\n const dirPath = join(moduleDirectory, '../..'); // to remove the \"index.js\" at the end\n if (!existsSync(dirPath)) {\n throw new Error(`unable to find ${aspectName} in ${dirPath}`);\n }\n return dirPath;\n}\n\nexport function getAspectDir(id: string): string {\n const aspectName = getCoreAspectName(id);\n let dirPath;\n\n try {\n dirPath = getAspectDirFromPath(id);\n } catch (err: any) {\n dirPath = resolve(__dirname, '../..', aspectName, 'dist');\n }\n if (!existsSync(dirPath)) {\n throw new Error(`unable to find ${aspectName} in ${dirPath}`);\n }\n return dirPath;\n}\n\ntype BvmDirOptions = {\n version?: string;\n linkName?: string;\n};\nexport function getAspectDirFromBvm(id: string, bvmDirOptions?: BvmDirOptions): string {\n if (!_bvmConfig) {\n _bvmConfig = Config.load(false, ['env', 'file']);\n }\n const bvmConfig = _bvmConfig;\n let version;\n if (bvmDirOptions?.version) {\n version = bvmDirOptions?.version;\n } else {\n const link = bvmDirOptions?.linkName || bvmConfig.getDefaultLinkName();\n const links = bvmConfig.getLinks();\n version = links[link];\n if (!version) {\n throw new BitError(`can't find link named ${bvmDirOptions?.linkName} in bvm config`);\n }\n }\n const { versionDir, exists } = bvmConfig.getSpecificVersionDir(version, true);\n if (!exists) {\n throw new BitError(`can't find version ${version} in bvm folder`);\n }\n return getAspectDirFromPath(id, [versionDir]);\n}\n\nexport function getAspectDistDir(id: string) {\n return resolve(`${getAspectDir(id)}/dist`);\n}\n\nexport function getCoreAspectName(id: string): string {\n const [, ...name] = id.split('/');\n const aspectName = name.join('.');\n return aspectName;\n}\n\nexport function getCoreAspectPackageName(id: string): string {\n const aspectName = getCoreAspectName(id);\n return `@teambit/${aspectName}`;\n}\n\nexport async function getAspectDef(aspectName: string, runtime?: string) {\n const dirPath = getAspectDistDir(aspectName);\n\n const files = await readdir(dirPath);\n let runtimeFile;\n if (runtime) {\n runtimeFile = files.find((file) => file.includes(`.${runtime}.runtime.js`)) || null;\n }\n\n return {\n id: aspectName,\n aspectPath: join(dirPath, '..'),\n runtimePath: runtimeFile ? resolve(`${dirPath}/${runtimeFile}`) : null,\n };\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_bvmConfig","getAspectDirFromPath","id","pathsToResolveAspects","aspectName","getCoreAspectName","packageName","getCoreAspectPackageName","moduleDirectory","length","require","resolve","paths","dirPath","join","existsSync","Error","getAspectDir","err","__dirname","getAspectDirFromBvm","bvmDirOptions","Config","load","bvmConfig","version","link","linkName","getDefaultLinkName","links","getLinks","BitError","versionDir","exists","getSpecificVersionDir","getAspectDistDir","name","split","getAspectDef","runtime","files","readdir","runtimeFile","find","file","includes","aspectPath","runtimePath"],"sources":["core-aspects.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\nimport { existsSync, readdir } from 'fs-extra';\nimport { join, resolve } from 'path';\nimport { Config } from '@teambit/bvm.config';\n\nlet _bvmConfig;\n\nfunction getAspectDirFromPath(id: string, pathsToResolveAspects?: string[]): string {\n const aspectName = getCoreAspectName(id);\n const packageName = getCoreAspectPackageName(id);\n\n let moduleDirectory;\n if (pathsToResolveAspects && pathsToResolveAspects.length) {\n moduleDirectory = require.resolve(packageName, { paths: pathsToResolveAspects });\n } else {\n moduleDirectory = require.resolve(packageName);\n }\n const dirPath = join(moduleDirectory, '../..'); // to remove the \"index.js\" at the end\n if (!existsSync(dirPath)) {\n throw new Error(`unable to find ${aspectName} in ${dirPath}`);\n }\n return dirPath;\n}\n\nexport function getAspectDir(id: string): string {\n const aspectName = getCoreAspectName(id);\n let dirPath;\n\n try {\n dirPath = getAspectDirFromPath(id);\n } catch (err: any) {\n dirPath = resolve(__dirname, '../..', aspectName, 'dist');\n }\n if (!existsSync(dirPath)) {\n throw new Error(`unable to find ${aspectName} in ${dirPath}`);\n }\n return dirPath;\n}\n\ntype BvmDirOptions = {\n version?: string;\n linkName?: string;\n};\nexport function getAspectDirFromBvm(id: string, bvmDirOptions?: BvmDirOptions): string {\n if (!_bvmConfig) {\n _bvmConfig = Config.load(false, ['env', 'file']);\n }\n const bvmConfig = _bvmConfig;\n let version;\n if (bvmDirOptions?.version) {\n version = bvmDirOptions?.version;\n } else {\n const link = bvmDirOptions?.linkName || bvmConfig.getDefaultLinkName();\n const links = bvmConfig.getLinks();\n version = links[link];\n if (!version) {\n throw new BitError(`can't find link named ${bvmDirOptions?.linkName} in bvm config`);\n }\n }\n const { versionDir, exists } = bvmConfig.getSpecificVersionDir(version, true);\n if (!exists) {\n throw new BitError(`can't find version ${version} in bvm folder`);\n }\n return getAspectDirFromPath(id, [versionDir]);\n}\n\nexport function getAspectDistDir(id: string) {\n return resolve(`${getAspectDir(id)}/dist`);\n}\n\nexport function getCoreAspectName(id: string): string {\n const [, ...name] = id.split('/');\n const aspectName = name.join('.');\n return aspectName;\n}\n\nexport function getCoreAspectPackageName(id: string): string {\n const aspectName = getCoreAspectName(id);\n return `@teambit/${aspectName}`;\n}\n\nexport async function getAspectDef(aspectName: string, runtime?: string) {\n const dirPath = getAspectDistDir(aspectName);\n\n const files = await readdir(dirPath);\n let runtimeFile;\n if (runtime) {\n runtimeFile = files.find((file) => file.includes(`.${runtime}.runtime.js`)) || null;\n }\n\n return {\n id: aspectName,\n aspectPath: join(dirPath, '..'),\n runtimePath: runtimeFile ? resolve(`${dirPath}/${runtimeFile}`) : null,\n };\n}\n"],"mappings":"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"}
|
|
@@ -2,14 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
function _coreAspects() {
|
|
4
4
|
const data = require("./core-aspects");
|
|
5
|
-
|
|
6
5
|
_coreAspects = function () {
|
|
7
6
|
return data;
|
|
8
7
|
};
|
|
9
|
-
|
|
10
8
|
return data;
|
|
11
9
|
}
|
|
12
|
-
|
|
13
10
|
describe('core-aspects', () => {
|
|
14
11
|
describe('getCoreAspectName', () => {
|
|
15
12
|
it('should include the namespace in the aspect name', () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["describe","it","aspectName","getCoreAspectName","expect","toEqual"],"sources":["core-aspects.spec.ts"],"sourcesContent":["import { getCoreAspectName } from './core-aspects';\n\ndescribe('core-aspects', () => {\n describe('getCoreAspectName', () => {\n it('should include the namespace in the aspect name', () => {\n const aspectName = getCoreAspectName('teambit.workspace/e2e/workspace');\n expect(aspectName).toEqual('e2e.workspace');\n });\n });\n});\n"],"mappings":";;AAAA;EAAA
|
|
1
|
+
{"version":3,"names":["describe","it","aspectName","getCoreAspectName","expect","toEqual"],"sources":["core-aspects.spec.ts"],"sourcesContent":["import { getCoreAspectName } from './core-aspects';\n\ndescribe('core-aspects', () => {\n describe('getCoreAspectName', () => {\n it('should include the namespace in the aspect name', () => {\n const aspectName = getCoreAspectName('teambit.workspace/e2e/workspace');\n expect(aspectName).toEqual('e2e.workspace');\n });\n });\n});\n"],"mappings":";;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEAA,QAAQ,CAAC,cAAc,EAAE,MAAM;EAC7BA,QAAQ,CAAC,mBAAmB,EAAE,MAAM;IAClCC,EAAE,CAAC,iDAAiD,EAAE,MAAM;MAC1D,MAAMC,UAAU,GAAG,IAAAC,gCAAiB,EAAC,iCAAiC,CAAC;MACvEC,MAAM,CAACF,UAAU,CAAC,CAACG,OAAO,CAAC,eAAe,CAAC;IAC7C,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -4,33 +4,25 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.CannotLoadExtension = void 0;
|
|
7
|
-
|
|
8
7
|
function _bitError() {
|
|
9
8
|
const data = require("@teambit/bit-error");
|
|
10
|
-
|
|
11
9
|
_bitError = function () {
|
|
12
10
|
return data;
|
|
13
11
|
};
|
|
14
|
-
|
|
15
12
|
return data;
|
|
16
13
|
}
|
|
17
|
-
|
|
18
14
|
class CannotLoadExtension extends _bitError().BitError {
|
|
19
15
|
constructor(extensionName, error) {
|
|
20
16
|
super(`could not load extension: ${extensionName} with error: ${error}`);
|
|
21
17
|
this.extensionName = extensionName;
|
|
22
18
|
this.error = error;
|
|
23
19
|
}
|
|
24
|
-
|
|
25
20
|
report(verbose) {
|
|
26
21
|
if (verbose) return `could not load extension: ${this.extensionName}. ${this.error} `;
|
|
27
22
|
return this.message;
|
|
28
23
|
}
|
|
29
|
-
|
|
30
24
|
toJson() {}
|
|
31
|
-
|
|
32
25
|
}
|
|
33
|
-
|
|
34
26
|
exports.CannotLoadExtension = CannotLoadExtension;
|
|
35
27
|
|
|
36
28
|
//# sourceMappingURL=cannot-load-extension.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CannotLoadExtension","BitError","constructor","extensionName","error","report","verbose","message","toJson"],"sources":["cannot-load-extension.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\n\nexport class CannotLoadExtension extends BitError {\n constructor(private extensionName: string, private error: Error) {\n super(`could not load extension: ${extensionName} with error: ${error}`);\n }\n\n report(verbose?: boolean) {\n if (verbose) return `could not load extension: ${this.extensionName}. ${this.error} `;\n return this.message;\n }\n\n toJson() {}\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["CannotLoadExtension","BitError","constructor","extensionName","error","report","verbose","message","toJson"],"sources":["cannot-load-extension.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\n\nexport class CannotLoadExtension extends BitError {\n constructor(private extensionName: string, private error: Error) {\n super(`could not load extension: ${extensionName} with error: ${error}`);\n }\n\n report(verbose?: boolean) {\n if (verbose) return `could not load extension: ${this.extensionName}. ${this.error} `;\n return this.message;\n }\n\n toJson() {}\n}\n"],"mappings":";;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEO,MAAMA,mBAAmB,SAASC,oBAAQ,CAAC;EAChDC,WAAW,CAASC,aAAqB,EAAUC,KAAY,EAAE;IAC/D,KAAK,CAAE,6BAA4BD,aAAc,gBAAeC,KAAM,EAAC,CAAC;IAAC,KADvDD,aAAqB,GAArBA,aAAqB;IAAA,KAAUC,KAAY,GAAZA,KAAY;EAE/D;EAEAC,MAAM,CAACC,OAAiB,EAAE;IACxB,IAAIA,OAAO,EAAE,OAAQ,6BAA4B,IAAI,CAACH,aAAc,KAAI,IAAI,CAACC,KAAM,GAAE;IACrF,OAAO,IAAI,CAACG,OAAO;EACrB;EAEAC,MAAM,GAAG,CAAC;AACZ;AAAC"}
|
package/dist/exceptions/index.js
CHANGED
|
@@ -9,14 +9,11 @@ Object.defineProperty(exports, "CannotLoadExtension", {
|
|
|
9
9
|
return _cannotLoadExtension().CannotLoadExtension;
|
|
10
10
|
}
|
|
11
11
|
});
|
|
12
|
-
|
|
13
12
|
function _cannotLoadExtension() {
|
|
14
13
|
const data = require("./cannot-load-extension");
|
|
15
|
-
|
|
16
14
|
_cannotLoadExtension = function () {
|
|
17
15
|
return data;
|
|
18
16
|
};
|
|
19
|
-
|
|
20
17
|
return data;
|
|
21
18
|
}
|
|
22
19
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { CannotLoadExtension } from './cannot-load-extension';\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { CannotLoadExtension } from './cannot-load-extension';\n"],"mappings":";;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA"}
|
package/dist/index.js
CHANGED
|
@@ -58,49 +58,35 @@ Object.defineProperty(exports, "getCoreAspectPackageName", {
|
|
|
58
58
|
return _coreAspects().getCoreAspectPackageName;
|
|
59
59
|
}
|
|
60
60
|
});
|
|
61
|
-
|
|
62
61
|
function _aspectLoader() {
|
|
63
62
|
const data = require("./aspect-loader.aspect");
|
|
64
|
-
|
|
65
63
|
_aspectLoader = function () {
|
|
66
64
|
return data;
|
|
67
65
|
};
|
|
68
|
-
|
|
69
66
|
return data;
|
|
70
67
|
}
|
|
71
|
-
|
|
72
68
|
function _coreAspects() {
|
|
73
69
|
const data = require("./core-aspects");
|
|
74
|
-
|
|
75
70
|
_coreAspects = function () {
|
|
76
71
|
return data;
|
|
77
72
|
};
|
|
78
|
-
|
|
79
73
|
return data;
|
|
80
74
|
}
|
|
81
|
-
|
|
82
75
|
function _pluginDefinition() {
|
|
83
76
|
const data = require("./plugin-definition");
|
|
84
|
-
|
|
85
77
|
_pluginDefinition = function () {
|
|
86
78
|
return data;
|
|
87
79
|
};
|
|
88
|
-
|
|
89
80
|
return data;
|
|
90
81
|
}
|
|
91
|
-
|
|
92
82
|
function _aspectDefinition() {
|
|
93
83
|
const data = require("./aspect-definition");
|
|
94
|
-
|
|
95
84
|
_aspectDefinition = function () {
|
|
96
85
|
return data;
|
|
97
86
|
};
|
|
98
|
-
|
|
99
87
|
return data;
|
|
100
88
|
}
|
|
101
|
-
|
|
102
89
|
var _default = _aspectLoader().AspectLoaderAspect;
|
|
103
|
-
|
|
104
90
|
exports.default = _default;
|
|
105
91
|
|
|
106
92
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AspectLoaderAspect"],"sources":["index.ts"],"sourcesContent":["import { AspectLoaderAspect } from './aspect-loader.aspect';\n\nexport type {\n AspectLoaderMain,\n AspectDescriptor,\n MainAspect,\n OnLoadRequireableExtension,\n} from './aspect-loader.main.runtime';\nexport {\n getAspectDef,\n getAspectDir,\n getAspectDistDir,\n getCoreAspectPackageName,\n getCoreAspectName,\n getAspectDirFromBvm,\n} from './core-aspects';\nexport { PluginDefinition } from './plugin-definition';\nexport { AspectDefinition } from './aspect-definition';\nexport { AspectLoaderAspect };\nexport default AspectLoaderAspect;\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["AspectLoaderAspect"],"sources":["index.ts"],"sourcesContent":["import { AspectLoaderAspect } from './aspect-loader.aspect';\n\nexport type {\n AspectLoaderMain,\n AspectDescriptor,\n MainAspect,\n OnLoadRequireableExtension,\n} from './aspect-loader.main.runtime';\nexport {\n getAspectDef,\n getAspectDir,\n getAspectDistDir,\n getCoreAspectPackageName,\n getCoreAspectName,\n getAspectDirFromBvm,\n} from './core-aspects';\nexport { PluginDefinition } from './plugin-definition';\nexport { AspectDefinition } from './aspect-definition';\nexport { AspectLoaderAspect };\nexport default AspectLoaderAspect;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAQA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAQA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAAuD,eAExCA,kCAAkB;AAAA"}
|
package/dist/plugin.js
CHANGED
|
@@ -1,29 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.Plugin = void 0;
|
|
9
|
-
|
|
10
8
|
function _defineProperty2() {
|
|
11
9
|
const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
12
|
-
|
|
13
10
|
_defineProperty2 = function () {
|
|
14
11
|
return data;
|
|
15
12
|
};
|
|
16
|
-
|
|
17
13
|
return data;
|
|
18
14
|
}
|
|
19
|
-
|
|
20
15
|
class Plugin {
|
|
21
16
|
constructor(def, path) {
|
|
22
17
|
this.def = def;
|
|
23
18
|
this.path = path;
|
|
24
19
|
(0, _defineProperty2().default)(this, "_instance", void 0);
|
|
25
|
-
}
|
|
20
|
+
}
|
|
26
21
|
|
|
22
|
+
// consider adding a more abstract type here to allow users to ask for dependencies.
|
|
27
23
|
|
|
28
24
|
/**
|
|
29
25
|
* determines whether the plugin supports a certain runtime.
|
|
@@ -31,21 +27,16 @@ class Plugin {
|
|
|
31
27
|
supportsRuntime(runtime) {
|
|
32
28
|
return this.def.runtimes.includes(runtime);
|
|
33
29
|
}
|
|
34
|
-
|
|
35
30
|
register(sourceAspect) {
|
|
36
31
|
const object = this.require();
|
|
37
|
-
|
|
38
32
|
this.def.register(object, sourceAspect);
|
|
39
33
|
}
|
|
40
|
-
|
|
41
34
|
require() {
|
|
42
35
|
// eslint-disable-next-line global-require, import/no-dynamic-require
|
|
43
36
|
this._instance = require(this.path).default;
|
|
44
37
|
return this._instance;
|
|
45
38
|
}
|
|
46
|
-
|
|
47
39
|
}
|
|
48
|
-
|
|
49
40
|
exports.Plugin = Plugin;
|
|
50
41
|
|
|
51
42
|
//# sourceMappingURL=plugin.js.map
|
package/dist/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Plugin","constructor","def","path","supportsRuntime","runtime","runtimes","includes","register","sourceAspect","object","require","_instance","default"],"sources":["plugin.ts"],"sourcesContent":["import { Aspect } from '@teambit/harmony';\nimport { PluginDefinition } from './plugin-definition';\n\nexport class Plugin {\n constructor(readonly def: PluginDefinition, readonly path: string) {}\n\n // consider adding a more abstract type here to allow users to ask for dependencies.\n private _instance: undefined | unknown;\n\n /**\n * determines whether the plugin supports a certain runtime.\n */\n supportsRuntime(runtime: string) {\n return this.def.runtimes.includes(runtime);\n }\n\n register(sourceAspect: Aspect) {\n const object = this.require();\n this.def.register<unknown>(object, sourceAspect);\n }\n\n require() {\n // eslint-disable-next-line global-require, import/no-dynamic-require\n this._instance = require(this.path).default;\n return this._instance;\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["Plugin","constructor","def","path","supportsRuntime","runtime","runtimes","includes","register","sourceAspect","object","require","_instance","default"],"sources":["plugin.ts"],"sourcesContent":["import { Aspect } from '@teambit/harmony';\nimport { PluginDefinition } from './plugin-definition';\n\nexport class Plugin {\n constructor(readonly def: PluginDefinition, readonly path: string) {}\n\n // consider adding a more abstract type here to allow users to ask for dependencies.\n private _instance: undefined | unknown;\n\n /**\n * determines whether the plugin supports a certain runtime.\n */\n supportsRuntime(runtime: string) {\n return this.def.runtimes.includes(runtime);\n }\n\n register(sourceAspect: Aspect) {\n const object = this.require();\n this.def.register<unknown>(object, sourceAspect);\n }\n\n require() {\n // eslint-disable-next-line global-require, import/no-dynamic-require\n this._instance = require(this.path).default;\n return this._instance;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;AAGO,MAAMA,MAAM,CAAC;EAClBC,WAAW,CAAUC,GAAqB,EAAWC,IAAY,EAAE;IAAA,KAA9CD,GAAqB,GAArBA,GAAqB;IAAA,KAAWC,IAAY,GAAZA,IAAY;IAAA;EAAG;;EAEpE;;EAGA;AACF;AACA;EACEC,eAAe,CAACC,OAAe,EAAE;IAC/B,OAAO,IAAI,CAACH,GAAG,CAACI,QAAQ,CAACC,QAAQ,CAACF,OAAO,CAAC;EAC5C;EAEAG,QAAQ,CAACC,YAAoB,EAAE;IAC7B,MAAMC,MAAM,GAAG,IAAI,CAACC,OAAO,EAAE;IAC7B,IAAI,CAACT,GAAG,CAACM,QAAQ,CAAUE,MAAM,EAAED,YAAY,CAAC;EAClD;EAEAE,OAAO,GAAG;IACR;IACA,IAAI,CAACC,SAAS,GAAGD,OAAO,CAAC,IAAI,CAACR,IAAI,CAAC,CAACU,OAAO;IAC3C,OAAO,IAAI,CAACD,SAAS;EACvB;AACF;AAAC"}
|