@teambit/envs 0.0.1158 → 0.0.1160
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/components/env-console/env-console.js +0 -1
- package/dist/components/env-console/env-console.js.map +1 -1
- package/dist/components/env-overview/env-overview.js +1 -1
- package/dist/components/env-overview/env-overview.js.map +1 -1
- package/dist/context/context.js +4 -10
- package/dist/context/context.js.map +1 -1
- package/dist/env-definition.js +0 -1
- package/dist/env-definition.js.map +1 -1
- package/dist/env-service-list.js +0 -2
- package/dist/env-service-list.js.map +1 -1
- package/dist/env.composition.js +1 -1
- package/dist/env.composition.js.map +1 -1
- package/dist/env.fragment.js +6 -11
- package/dist/env.fragment.js.map +1 -1
- package/dist/env.plugin.js +6 -13
- package/dist/env.plugin.js.map +1 -1
- package/dist/environments.graphql.js +1 -1
- package/dist/environments.graphql.js.map +1 -1
- package/dist/environments.main.runtime.js +18 -22
- package/dist/environments.main.runtime.js.map +1 -1
- package/dist/envs.cmd.js +21 -31
- package/dist/envs.cmd.js.map +1 -1
- package/dist/{preview-1694575035715.js → preview-1694661423555.js} +2 -2
- package/dist/runtime/runtime.js +1 -2
- package/dist/runtime/runtime.js.map +1 -1
- package/package.json +25 -27
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_ink","data","require","_react","_interopRequireWildcard","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","EnvConsole","counter","setCounter","useState","useEffect","timer","setInterval","previousCounter","clearInterval","createElement","Box","Text","color"],"sources":["env-console.tsx"],"sourcesContent":["// eslint-disable-next-line @typescript-eslint/no-unused-vars\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { Box, Text } from 'ink';\nimport React, { useEffect, useState } from 'react';\n\nimport { EnvRuntime } from '../../runtime';\n\nexport type EnvConsoleProps = {\n runtime: EnvRuntime;\n};\n\nexport function EnvConsole() {\n const [counter, setCounter] = useState(0);\n\n useEffect(() => {\n const timer = setInterval(() => {\n setCounter((previousCounter) => previousCounter + 1);\n }, 100);\n\n return () => {\n clearInterval(timer);\n };\n }, []);\n\n return (\n <Box>\n <Text color=\"green\">{counter} tests passed</Text>\n </Box>\n );\n}\n"],"mappings":"
|
1
|
+
{"version":3,"names":["_ink","data","require","_react","_interopRequireWildcard","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","EnvConsole","counter","setCounter","useState","useEffect","timer","setInterval","previousCounter","clearInterval","createElement","Box","Text","color"],"sources":["env-console.tsx"],"sourcesContent":["// eslint-disable-next-line @typescript-eslint/no-unused-vars\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { Box, Text } from 'ink';\nimport React, { useEffect, useState } from 'react';\n\nimport { EnvRuntime } from '../../runtime';\n\nexport type EnvConsoleProps = {\n runtime: EnvRuntime;\n};\n\nexport function EnvConsole() {\n const [counter, setCounter] = useState(0);\n\n useEffect(() => {\n const timer = setInterval(() => {\n setCounter((previousCounter) => previousCounter + 1);\n }, 100);\n\n return () => {\n clearInterval(timer);\n };\n }, []);\n\n return (\n <Box>\n <Text color=\"green\">{counter} tests passed</Text>\n </Box>\n );\n}\n"],"mappings":";;;;;;AAEA,SAAAA,KAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,IAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,OAAA;EAAA,MAAAF,IAAA,GAAAG,uBAAA,CAAAF,OAAA;EAAAC,MAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAmD,SAAAI,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAF,wBAAAM,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAHnD;AACA;;AAUO,SAASW,UAAUA,CAAA,EAAG;EAC3B,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAC,iBAAQ,EAAC,CAAC,CAAC;EAEzC,IAAAC,kBAAS,EAAC,MAAM;IACd,MAAMC,KAAK,GAAGC,WAAW,CAAC,MAAM;MAC9BJ,UAAU,CAAEK,eAAe,IAAKA,eAAe,GAAG,CAAC,CAAC;IACtD,CAAC,EAAE,GAAG,CAAC;IAEP,OAAO,MAAM;MACXC,aAAa,CAACH,KAAK,CAAC;IACtB,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,oBACE7B,MAAA,GAAAS,OAAA,CAAAwB,aAAA,CAACpC,IAAA,GAAAqC,GAAG,qBACFlC,MAAA,GAAAS,OAAA,CAAAwB,aAAA,CAACpC,IAAA,GAAAsC,IAAI;IAACC,KAAK,EAAC;EAAO,GAAEX,OAAO,EAAC,eAAmB,CAC7C,CAAC;AAEV"}
|
@@ -1,6 +1,5 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
5
4
|
value: true
|
6
5
|
});
|
@@ -19,6 +18,7 @@ function _ink() {
|
|
19
18
|
};
|
20
19
|
return data;
|
21
20
|
}
|
21
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
22
22
|
/**
|
23
23
|
* renders an env overview in the terminal.
|
24
24
|
*/
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_react","data","_interopRequireDefault","require","_ink","
|
1
|
+
{"version":3,"names":["_react","data","_interopRequireDefault","require","_ink","obj","__esModule","default","EnvOverview","envDef","createElement","Text","bold","underline","id","Newline"],"sources":["env-overview.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, Newline } from 'ink';\nimport { EnvDefinition } from '../../env-definition';\n\nexport type EnvOverviewProps = {\n envDef: EnvDefinition;\n};\n\n/**\n * renders an env overview in the terminal.\n */\nexport function EnvOverview({ envDef }: EnvOverviewProps) {\n return (\n <Text>\n <Text bold underline>\n Environment: {envDef.id}\n </Text>\n <Newline />\n </Text>\n );\n}\n"],"mappings":";;;;;;AAAA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,KAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,IAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAoC,SAAAC,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAOpC;AACA;AACA;AACO,SAASG,WAAWA,CAAC;EAAEC;AAAyB,CAAC,EAAE;EACxD,oBACET,MAAA,GAAAO,OAAA,CAAAG,aAAA,CAACN,IAAA,GAAAO,IAAI,qBACHX,MAAA,GAAAO,OAAA,CAAAG,aAAA,CAACN,IAAA,GAAAO,IAAI;IAACC,IAAI;IAACC,SAAS;EAAA,GAAC,eACN,EAACJ,MAAM,CAACK,EACjB,CAAC,eACPd,MAAA,GAAAO,OAAA,CAAAG,aAAA,CAACN,IAAA,GAAAW,OAAO,MAAE,CACN,CAAC;AAEX"}
|
package/dist/context/context.js
CHANGED
@@ -1,18 +1,9 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
-
require("core-js/modules/es.array.iterator.js");
|
5
3
|
Object.defineProperty(exports, "__esModule", {
|
6
4
|
value: true
|
7
5
|
});
|
8
6
|
exports.ExecutionContext = void 0;
|
9
|
-
function _defineProperty2() {
|
10
|
-
const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
11
|
-
_defineProperty2 = function () {
|
12
|
-
return data;
|
13
|
-
};
|
14
|
-
return data;
|
15
|
-
}
|
16
7
|
function _envDefinition() {
|
17
8
|
const data = require("../env-definition");
|
18
9
|
_envDefinition = function () {
|
@@ -20,6 +11,9 @@ function _envDefinition() {
|
|
20
11
|
};
|
21
12
|
return data;
|
22
13
|
}
|
14
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
15
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
16
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
23
17
|
class ExecutionContext {
|
24
18
|
constructor(
|
25
19
|
/**
|
@@ -37,7 +31,7 @@ class ExecutionContext {
|
|
37
31
|
this.upper = upper;
|
38
32
|
this.envRuntime = envRuntime;
|
39
33
|
this.components = components;
|
40
|
-
(
|
34
|
+
_defineProperty(this, "relatedContexts", []);
|
41
35
|
}
|
42
36
|
/**
|
43
37
|
* extension ID of the environment
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_envDefinition","data","require","
|
1
|
+
{"version":3,"names":["_envDefinition","data","require","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","ExecutionContext","constructor","upper","envRuntime","components","id","env","envDefinition","EnvDefinition","apply","name","args","Error","exports"],"sources":["context.ts"],"sourcesContent":["import { EnvDefinition } from '../env-definition';\nimport { Environment } from '../environment';\n\nimport { EnvRuntime, Runtime } from '../runtime';\n\nexport type ServiceMap<T> = {\n [env: string]: T;\n};\n\nexport class ExecutionContext {\n constructor(\n /**\n * upper scope of all environment contexts.\n */\n readonly upper: Runtime,\n\n /**\n * runtime instance of the environment.\n */\n readonly envRuntime: EnvRuntime,\n\n /**\n * components applied in the execution context.\n */\n public components = envRuntime.components\n ) {}\n\n relatedContexts: string[] = [];\n\n /**\n * extension ID of the environment\n */\n get id() {\n return this.envRuntime.id;\n }\n\n /**\n * environment instance.\n */\n get env(): Environment {\n return this.envRuntime.env;\n }\n\n get envDefinition(): EnvDefinition {\n return new EnvDefinition(this.id, this.env);\n }\n\n apply<T>(name: string, args: any[]): T {\n if (!this.env[name]) {\n throw new Error(`method ${name} not implemented`);\n }\n\n return this.env[name].apply(this.env, ...args);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,eAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,cAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAkD,SAAAE,gBAAAC,GAAA,EAAAC,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAD,GAAA,IAAAI,MAAA,CAAAC,cAAA,CAAAL,GAAA,EAAAC,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAI,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAR,GAAA,CAAAC,GAAA,IAAAC,KAAA,WAAAF,GAAA;AAAA,SAAAG,eAAAM,GAAA,QAAAR,GAAA,GAAAS,YAAA,CAAAD,GAAA,2BAAAR,GAAA,gBAAAA,GAAA,GAAAU,MAAA,CAAAV,GAAA;AAAA,SAAAS,aAAAE,KAAA,EAAAC,IAAA,eAAAD,KAAA,iBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAAG,SAAA,QAAAC,GAAA,GAAAJ,IAAA,CAAAK,IAAA,CAAAP,KAAA,EAAAC,IAAA,2BAAAK,GAAA,sBAAAA,GAAA,YAAAE,SAAA,4DAAAP,IAAA,gBAAAF,MAAA,GAAAU,MAAA,EAAAT,KAAA;AAS3C,MAAMU,gBAAgB,CAAC;EAC5BC,WAAWA;EACT;AACJ;AACA;EACaC,KAAc;EAEvB;AACJ;AACA;EACaC,UAAsB;EAE/B;AACJ;AACA;EACWC,UAAU,GAAGD,UAAU,CAACC,UAAU,EACzC;IAAA,KAXSF,KAAc,GAAdA,KAAc;IAAA,KAKdC,UAAsB,GAAtBA,UAAsB;IAAA,KAKxBC,UAAU,GAAVA,UAAU;IAAA3B,eAAA,0BAGS,EAAE;EAF3B;EAIH;AACF;AACA;EACE,IAAI4B,EAAEA,CAAA,EAAG;IACP,OAAO,IAAI,CAACF,UAAU,CAACE,EAAE;EAC3B;;EAEA;AACF;AACA;EACE,IAAIC,GAAGA,CAAA,EAAgB;IACrB,OAAO,IAAI,CAACH,UAAU,CAACG,GAAG;EAC5B;EAEA,IAAIC,aAAaA,CAAA,EAAkB;IACjC,OAAO,KAAIC,8BAAa,EAAC,IAAI,CAACH,EAAE,EAAE,IAAI,CAACC,GAAG,CAAC;EAC7C;EAEAG,KAAKA,CAAIC,IAAY,EAAEC,IAAW,EAAK;IACrC,IAAI,CAAC,IAAI,CAACL,GAAG,CAACI,IAAI,CAAC,EAAE;MACnB,MAAM,IAAIE,KAAK,CAAE,UAASF,IAAK,kBAAiB,CAAC;IACnD;IAEA,OAAO,IAAI,CAACJ,GAAG,CAACI,IAAI,CAAC,CAACD,KAAK,CAAC,IAAI,CAACH,GAAG,EAAE,GAAGK,IAAI,CAAC;EAChD;AACF;AAACE,OAAA,CAAAb,gBAAA,GAAAA,gBAAA"}
|
package/dist/env-definition.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["EnvDefinition","constructor","id","env","icon","defaultIcon","name","description","toObject","exports"],"sources":["env-definition.ts"],"sourcesContent":["import { Environment } from './environment';\n\n/**\n * API for component development environment.\n */\nexport class EnvDefinition {\n constructor(\n /**\n * id of the env.\n */\n readonly id: string,\n\n /**\n * env instance.\n */\n readonly env: Environment\n ) {}\n\n /**\n * get icon of the env.\n */\n get icon() {\n // TODO: refactor this away from here.\n const defaultIcon = `https://static.bit.dev/extensions-icons/default.svg`;\n return this.env.icon || defaultIcon;\n }\n\n /**\n * get the name of the env.\n */\n get name() {\n return this.env.name;\n }\n\n /**\n * get the description of the env.\n */\n get description() {\n return this.env.description;\n }\n\n toObject() {\n return {\n id: this.id,\n description: this.description,\n name: this.name,\n icon: this.icon,\n };\n }\n}\n"],"mappings":"
|
1
|
+
{"version":3,"names":["EnvDefinition","constructor","id","env","icon","defaultIcon","name","description","toObject","exports"],"sources":["env-definition.ts"],"sourcesContent":["import { Environment } from './environment';\n\n/**\n * API for component development environment.\n */\nexport class EnvDefinition {\n constructor(\n /**\n * id of the env.\n */\n readonly id: string,\n\n /**\n * env instance.\n */\n readonly env: Environment\n ) {}\n\n /**\n * get icon of the env.\n */\n get icon() {\n // TODO: refactor this away from here.\n const defaultIcon = `https://static.bit.dev/extensions-icons/default.svg`;\n return this.env.icon || defaultIcon;\n }\n\n /**\n * get the name of the env.\n */\n get name() {\n return this.env.name;\n }\n\n /**\n * get the description of the env.\n */\n get description() {\n return this.env.description;\n }\n\n toObject() {\n return {\n id: this.id,\n description: this.description,\n name: this.name,\n icon: this.icon,\n };\n }\n}\n"],"mappings":";;;;;;AAEA;AACA;AACA;AACO,MAAMA,aAAa,CAAC;EACzBC,WAAWA;EACT;AACJ;AACA;EACaC,EAAU;EAEnB;AACJ;AACA;EACaC,GAAgB,EACzB;IAAA,KANSD,EAAU,GAAVA,EAAU;IAAA,KAKVC,GAAgB,GAAhBA,GAAgB;EACxB;;EAEH;AACF;AACA;EACE,IAAIC,IAAIA,CAAA,EAAG;IACT;IACA,MAAMC,WAAW,GAAI,qDAAoD;IACzE,OAAO,IAAI,CAACF,GAAG,CAACC,IAAI,IAAIC,WAAW;EACrC;;EAEA;AACF;AACA;EACE,IAAIC,IAAIA,CAAA,EAAG;IACT,OAAO,IAAI,CAACH,GAAG,CAACG,IAAI;EACtB;;EAEA;AACF;AACA;EACE,IAAIC,WAAWA,CAAA,EAAG;IAChB,OAAO,IAAI,CAACJ,GAAG,CAACI,WAAW;EAC7B;EAEAC,QAAQA,CAAA,EAAG;IACT,OAAO;MACLN,EAAE,EAAE,IAAI,CAACA,EAAE;MACXK,WAAW,EAAE,IAAI,CAACA,WAAW;MAC7BD,IAAI,EAAE,IAAI,CAACA,IAAI;MACfF,IAAI,EAAE,IAAI,CAACA;IACb,CAAC;EACH;AACF;AAACK,OAAA,CAAAT,aAAA,GAAAA,aAAA"}
|
package/dist/env-service-list.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["EnvServiceList","constructor","env","services","toObject","map","id","service","name","description","data","getDescriptor","exports"],"sources":["env-service-list.ts"],"sourcesContent":["import { EnvDefinition } from './env-definition';\nimport { EnvService } from './services';\n\nexport class EnvServiceList {\n constructor(\n /**\n * environment\n */\n readonly env: EnvDefinition,\n\n /**\n * services available on the env.\n */\n readonly services: [string, EnvService<any>][]\n ) {}\n\n toObject() {\n return {\n env: this.env.toObject(),\n services: this.services.map(([id, service]) => {\n return {\n id,\n name: service.name,\n description: service.description,\n // @ts-ignore\n data: service.getDescriptor(this.env),\n };\n }),\n };\n }\n}\n"],"mappings":"
|
1
|
+
{"version":3,"names":["EnvServiceList","constructor","env","services","toObject","map","id","service","name","description","data","getDescriptor","exports"],"sources":["env-service-list.ts"],"sourcesContent":["import { EnvDefinition } from './env-definition';\nimport { EnvService } from './services';\n\nexport class EnvServiceList {\n constructor(\n /**\n * environment\n */\n readonly env: EnvDefinition,\n\n /**\n * services available on the env.\n */\n readonly services: [string, EnvService<any>][]\n ) {}\n\n toObject() {\n return {\n env: this.env.toObject(),\n services: this.services.map(([id, service]) => {\n return {\n id,\n name: service.name,\n description: service.description,\n // @ts-ignore\n data: service.getDescriptor(this.env),\n };\n }),\n };\n }\n}\n"],"mappings":";;;;;;AAGO,MAAMA,cAAc,CAAC;EAC1BC,WAAWA;EACT;AACJ;AACA;EACaC,GAAkB;EAE3B;AACJ;AACA;EACaC,QAAqC,EAC9C;IAAA,KANSD,GAAkB,GAAlBA,GAAkB;IAAA,KAKlBC,QAAqC,GAArCA,QAAqC;EAC7C;EAEHC,QAAQA,CAAA,EAAG;IACT,OAAO;MACLF,GAAG,EAAE,IAAI,CAACA,GAAG,CAACE,QAAQ,CAAC,CAAC;MACxBD,QAAQ,EAAE,IAAI,CAACA,QAAQ,CAACE,GAAG,CAAC,CAAC,CAACC,EAAE,EAAEC,OAAO,CAAC,KAAK;QAC7C,OAAO;UACLD,EAAE;UACFE,IAAI,EAAED,OAAO,CAACC,IAAI;UAClBC,WAAW,EAAEF,OAAO,CAACE,WAAW;UAChC;UACAC,IAAI,EAAEH,OAAO,CAACI,aAAa,CAAC,IAAI,CAACT,GAAG;QACtC,CAAC;MACH,CAAC;IACH,CAAC;EACH;AACF;AAACU,OAAA,CAAAZ,cAAA,GAAAA,cAAA"}
|
package/dist/env.composition.js
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
5
4
|
value: true
|
6
5
|
});
|
@@ -12,6 +11,7 @@ function _react() {
|
|
12
11
|
};
|
13
12
|
return data;
|
14
13
|
}
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
15
15
|
const Logo = () => /*#__PURE__*/_react().default.createElement("div", {
|
16
16
|
style: {
|
17
17
|
height: '100%',
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_react","data","_interopRequireDefault","require","
|
1
|
+
{"version":3,"names":["_react","data","_interopRequireDefault","require","obj","__esModule","default","Logo","createElement","style","height","display","justifyContent","width","src","exports"],"sources":["env.composition.tsx"],"sourcesContent":["import React from 'react';\n\nexport const Logo = () => (\n <div style={{ height: '100%', display: 'flex', justifyContent: 'center' }}>\n <img style={{ width: 70 }} src=\"https://static.bit.dev/extensions-icons/env.svg\" />\n </div>\n);\n"],"mappings":";;;;;;AAAA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA0B,SAAAC,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEnB,MAAMG,IAAI,GAAGA,CAAA,kBAClBP,MAAA,GAAAM,OAAA,CAAAE,aAAA;EAAKC,KAAK,EAAE;IAAEC,MAAM,EAAE,MAAM;IAAEC,OAAO,EAAE,MAAM;IAAEC,cAAc,EAAE;EAAS;AAAE,gBACxEZ,MAAA,GAAAM,OAAA,CAAAE,aAAA;EAAKC,KAAK,EAAE;IAAEI,KAAK,EAAE;EAAG,CAAE;EAACC,GAAG,EAAC;AAAiD,CAAE,CAC/E,CACN;AAACC,OAAA,CAAAR,IAAA,GAAAA,IAAA"}
|
package/dist/env.fragment.js
CHANGED
@@ -1,18 +1,9 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
-
require("core-js/modules/es.promise.js");
|
5
3
|
Object.defineProperty(exports, "__esModule", {
|
6
4
|
value: true
|
7
5
|
});
|
8
6
|
exports.EnvFragment = void 0;
|
9
|
-
function _defineProperty2() {
|
10
|
-
const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
11
|
-
_defineProperty2 = function () {
|
12
|
-
return data;
|
13
|
-
};
|
14
|
-
return data;
|
15
|
-
}
|
16
7
|
function _chalk() {
|
17
8
|
const data = _interopRequireDefault(require("chalk"));
|
18
9
|
_chalk = function () {
|
@@ -20,11 +11,15 @@ function _chalk() {
|
|
20
11
|
};
|
21
12
|
return data;
|
22
13
|
}
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
15
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
16
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
17
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
23
18
|
class EnvFragment {
|
24
19
|
constructor(envs) {
|
25
20
|
this.envs = envs;
|
26
|
-
(
|
27
|
-
(
|
21
|
+
_defineProperty(this, "title", 'env');
|
22
|
+
_defineProperty(this, "weight", 3);
|
28
23
|
}
|
29
24
|
async renderRow(component) {
|
30
25
|
const envId = await this.getEnvId(component);
|
package/dist/env.fragment.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_chalk","data","_interopRequireDefault","require","
|
1
|
+
{"version":3,"names":["_chalk","data","_interopRequireDefault","require","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","EnvFragment","constructor","envs","renderRow","component","envId","getEnvId","isLoaded","isEnvRegistered","title","content","chalk","red","json","calculateEnvId","toString","exports"],"sources":["env.fragment.ts"],"sourcesContent":["import { ShowFragment, Component } from '@teambit/component';\nimport chalk from 'chalk';\nimport { EnvsMain } from './environments.main.runtime';\n\nexport class EnvFragment implements ShowFragment {\n constructor(private envs: EnvsMain) {}\n\n readonly title = 'env';\n\n async renderRow(component: Component) {\n const envId = await this.getEnvId(component);\n const isLoaded = this.envs.isEnvRegistered(envId);\n return {\n title: this.title,\n content: isLoaded ? envId : `${envId} ${chalk.red('(not loaded)')}`,\n };\n }\n\n async json(component: Component) {\n const envId = await this.getEnvId(component);\n return {\n title: this.title,\n json: envId,\n };\n }\n\n private async getEnvId(component: Component) {\n // don't use this.envs.getEnv(). otherwise, it'll throw an error when running bit-show on a remote component\n // where the env can't register to the slot.\n // return this.envs.getEnvId(component);\n return (await this.envs.calculateEnvId(component)).toString();\n }\n\n weight = 3;\n}\n"],"mappings":";;;;;;AACA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA0B,SAAAC,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,gBAAAH,GAAA,EAAAI,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAJ,GAAA,IAAAO,MAAA,CAAAC,cAAA,CAAAR,GAAA,EAAAI,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAI,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAX,GAAA,CAAAI,GAAA,IAAAC,KAAA,WAAAL,GAAA;AAAA,SAAAM,eAAAM,GAAA,QAAAR,GAAA,GAAAS,YAAA,CAAAD,GAAA,2BAAAR,GAAA,gBAAAA,GAAA,GAAAU,MAAA,CAAAV,GAAA;AAAA,SAAAS,aAAAE,KAAA,EAAAC,IAAA,eAAAD,KAAA,iBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAAG,SAAA,QAAAC,GAAA,GAAAJ,IAAA,CAAAK,IAAA,CAAAP,KAAA,EAAAC,IAAA,2BAAAK,GAAA,sBAAAA,GAAA,YAAAE,SAAA,4DAAAP,IAAA,gBAAAF,MAAA,GAAAU,MAAA,EAAAT,KAAA;AAGnB,MAAMU,WAAW,CAAyB;EAC/CC,WAAWA,CAASC,IAAc,EAAE;IAAA,KAAhBA,IAAc,GAAdA,IAAc;IAAAxB,eAAA,gBAEjB,KAAK;IAAAA,eAAA,iBA0Bb,CAAC;EA5B2B;EAIrC,MAAMyB,SAASA,CAACC,SAAoB,EAAE;IACpC,MAAMC,KAAK,GAAG,MAAM,IAAI,CAACC,QAAQ,CAACF,SAAS,CAAC;IAC5C,MAAMG,QAAQ,GAAG,IAAI,CAACL,IAAI,CAACM,eAAe,CAACH,KAAK,CAAC;IACjD,OAAO;MACLI,KAAK,EAAE,IAAI,CAACA,KAAK;MACjBC,OAAO,EAAEH,QAAQ,GAAGF,KAAK,GAAI,GAAEA,KAAM,IAAGM,gBAAK,CAACC,GAAG,CAAC,cAAc,CAAE;IACpE,CAAC;EACH;EAEA,MAAMC,IAAIA,CAACT,SAAoB,EAAE;IAC/B,MAAMC,KAAK,GAAG,MAAM,IAAI,CAACC,QAAQ,CAACF,SAAS,CAAC;IAC5C,OAAO;MACLK,KAAK,EAAE,IAAI,CAACA,KAAK;MACjBI,IAAI,EAAER;IACR,CAAC;EACH;EAEA,MAAcC,QAAQA,CAACF,SAAoB,EAAE;IAC3C;IACA;IACA;IACA,OAAO,CAAC,MAAM,IAAI,CAACF,IAAI,CAACY,cAAc,CAACV,SAAS,CAAC,EAAEW,QAAQ,CAAC,CAAC;EAC/D;AAGF;AAACC,OAAA,CAAAhB,WAAA,GAAAA,WAAA"}
|
package/dist/env.plugin.js
CHANGED
@@ -1,19 +1,9 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
-
require("core-js/modules/es.array.iterator.js");
|
5
|
-
require("core-js/modules/es.promise.js");
|
6
3
|
Object.defineProperty(exports, "__esModule", {
|
7
4
|
value: true
|
8
5
|
});
|
9
6
|
exports.EnvPlugin = void 0;
|
10
|
-
function _defineProperty2() {
|
11
|
-
const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
12
|
-
_defineProperty2 = function () {
|
13
|
-
return data;
|
14
|
-
};
|
15
|
-
return data;
|
16
|
-
}
|
17
7
|
function _component() {
|
18
8
|
const data = require("@teambit/component");
|
19
9
|
_component = function () {
|
@@ -43,7 +33,10 @@ function _serviceHandlerContext() {
|
|
43
33
|
return data;
|
44
34
|
}
|
45
35
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
46
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (
|
36
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
37
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
38
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
39
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
47
40
|
class EnvPlugin {
|
48
41
|
constructor(envSlot, servicesRegistry, loggerMain, workerMain, harmony) {
|
49
42
|
this.envSlot = envSlot;
|
@@ -51,8 +44,8 @@ class EnvPlugin {
|
|
51
44
|
this.loggerMain = loggerMain;
|
52
45
|
this.workerMain = workerMain;
|
53
46
|
this.harmony = harmony;
|
54
|
-
(
|
55
|
-
(
|
47
|
+
_defineProperty(this, "pattern", '*.bit-env.*');
|
48
|
+
_defineProperty(this, "runtimes", [_cli().MainRuntime.name]);
|
56
49
|
}
|
57
50
|
createContext(envId) {
|
58
51
|
return new (_serviceHandlerContext().ServiceHandlerContext)(envId, this.loggerMain, this.workerMain, this.harmony);
|
package/dist/env.plugin.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_component","data","require","_cli","_lodash","_serviceHandlerContext","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","
|
1
|
+
{"version":3,"names":["_component","data","require","_cli","_lodash","_serviceHandlerContext","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","EnvPlugin","constructor","envSlot","servicesRegistry","loggerMain","workerMain","harmony","MainRuntime","name","createContext","envId","EnvContext","transformToLegacyEnv","env","envComponentId","ComponentID","fromString","envContext","allServices","flatten","values","transformers","reduce","acc","service","transform","currTransformer","preview","compiler","icon","__getDescriptor","type","id","register","aspect","exports"],"sources":["env.plugin.ts"],"sourcesContent":["import { PluginDefinition } from '@teambit/aspect-loader';\nimport { Aspect, Harmony } from '@teambit/harmony';\nimport { ComponentID } from '@teambit/component';\nimport { WorkerMain } from '@teambit/worker';\nimport { MainRuntime } from '@teambit/cli';\nimport { LoggerMain } from '@teambit/logger';\nimport { flatten } from 'lodash';\nimport { ServiceHandlerContext as EnvContext } from './services/service-handler-context';\nimport { Env } from './env-interface';\nimport { EnvsRegistry, ServicesRegistry } from './environments.main.runtime';\n\nexport class EnvPlugin implements PluginDefinition {\n constructor(\n private envSlot: EnvsRegistry,\n private servicesRegistry: ServicesRegistry,\n private loggerMain: LoggerMain,\n private workerMain: WorkerMain,\n private harmony: Harmony\n ) {}\n\n pattern = '*.bit-env.*';\n\n runtimes = [MainRuntime.name];\n\n private createContext(envId: ComponentID) {\n return new EnvContext(envId, this.loggerMain, this.workerMain, this.harmony);\n }\n\n private transformToLegacyEnv(envId: string, env: Env) {\n const envComponentId = ComponentID.fromString(envId);\n const envContext = this.createContext(envComponentId);\n const allServices = flatten(this.servicesRegistry.values());\n const transformers = allServices.reduce((acc, service) => {\n if (!service.transform) return acc;\n const currTransformer = service.transform(env, envContext);\n if (!currTransformer) return acc;\n return { ...acc, ...currTransformer };\n }, {});\n\n if (!env.preview && !env.compiler) return undefined;\n\n return {\n ...transformers,\n name: env.name,\n icon: env.icon,\n __getDescriptor: async () => {\n return {\n type: env.name,\n };\n },\n id: envId,\n };\n }\n\n register(object: any, aspect: Aspect) {\n const env = this.transformToLegacyEnv(aspect.id, object);\n if (!env) return undefined;\n return this.envSlot.register(env);\n }\n}\n"],"mappings":";;;;;;AAEA,SAAAA,WAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,UAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAE,KAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,IAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAG,QAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,OAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,uBAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,sBAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAyF,SAAAK,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAC,MAAA,CAAAD,IAAA,CAAAF,MAAA,OAAAG,MAAA,CAAAC,qBAAA,QAAAC,OAAA,GAAAF,MAAA,CAAAC,qBAAA,CAAAJ,MAAA,GAAAC,cAAA,KAAAI,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAJ,MAAA,CAAAK,wBAAA,CAAAR,MAAA,EAAAO,GAAA,EAAAE,UAAA,OAAAP,IAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,IAAA,EAAAG,OAAA,YAAAH,IAAA;AAAA,SAAAU,cAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAf,OAAA,CAAAI,MAAA,CAAAc,MAAA,OAAAC,OAAA,WAAAC,GAAA,IAAAC,eAAA,CAAAP,MAAA,EAAAM,GAAA,EAAAF,MAAA,CAAAE,GAAA,SAAAhB,MAAA,CAAAkB,yBAAA,GAAAlB,MAAA,CAAAmB,gBAAA,CAAAT,MAAA,EAAAV,MAAA,CAAAkB,yBAAA,CAAAJ,MAAA,KAAAlB,OAAA,CAAAI,MAAA,CAAAc,MAAA,GAAAC,OAAA,WAAAC,GAAA,IAAAhB,MAAA,CAAAoB,cAAA,CAAAV,MAAA,EAAAM,GAAA,EAAAhB,MAAA,CAAAK,wBAAA,CAAAS,MAAA,EAAAE,GAAA,iBAAAN,MAAA;AAAA,SAAAO,gBAAAI,GAAA,EAAAL,GAAA,EAAAM,KAAA,IAAAN,GAAA,GAAAO,cAAA,CAAAP,GAAA,OAAAA,GAAA,IAAAK,GAAA,IAAArB,MAAA,CAAAoB,cAAA,CAAAC,GAAA,EAAAL,GAAA,IAAAM,KAAA,EAAAA,KAAA,EAAAhB,UAAA,QAAAkB,YAAA,QAAAC,QAAA,oBAAAJ,GAAA,CAAAL,GAAA,IAAAM,KAAA,WAAAD,GAAA;AAAA,SAAAE,eAAAG,GAAA,QAAAV,GAAA,GAAAW,YAAA,CAAAD,GAAA,2BAAAV,GAAA,gBAAAA,GAAA,GAAAY,MAAA,CAAAZ,GAAA;AAAA,SAAAW,aAAAE,KAAA,EAAAC,IAAA,eAAAD,KAAA,iBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAAG,SAAA,QAAAC,GAAA,GAAAJ,IAAA,CAAAK,IAAA,CAAAP,KAAA,EAAAC,IAAA,2BAAAK,GAAA,sBAAAA,GAAA,YAAAE,SAAA,4DAAAP,IAAA,gBAAAF,MAAA,GAAAU,MAAA,EAAAT,KAAA;AAIlF,MAAMU,SAAS,CAA6B;EACjDC,WAAWA,CACDC,OAAqB,EACrBC,gBAAkC,EAClCC,UAAsB,EACtBC,UAAsB,EACtBC,OAAgB,EACxB;IAAA,KALQJ,OAAqB,GAArBA,OAAqB;IAAA,KACrBC,gBAAkC,GAAlCA,gBAAkC;IAAA,KAClCC,UAAsB,GAAtBA,UAAsB;IAAA,KACtBC,UAAsB,GAAtBA,UAAsB;IAAA,KACtBC,OAAgB,GAAhBA,OAAgB;IAAA5B,eAAA,kBAGhB,aAAa;IAAAA,eAAA,mBAEZ,CAAC6B,kBAAW,CAACC,IAAI,CAAC;EAJ1B;EAMKC,aAAaA,CAACC,KAAkB,EAAE;IACxC,OAAO,KAAIC,8CAAU,EAACD,KAAK,EAAE,IAAI,CAACN,UAAU,EAAE,IAAI,CAACC,UAAU,EAAE,IAAI,CAACC,OAAO,CAAC;EAC9E;EAEQM,oBAAoBA,CAACF,KAAa,EAAEG,GAAQ,EAAE;IACpD,MAAMC,cAAc,GAAGC,wBAAW,CAACC,UAAU,CAACN,KAAK,CAAC;IACpD,MAAMO,UAAU,GAAG,IAAI,CAACR,aAAa,CAACK,cAAc,CAAC;IACrD,MAAMI,WAAW,GAAG,IAAAC,iBAAO,EAAC,IAAI,CAAChB,gBAAgB,CAACiB,MAAM,CAAC,CAAC,CAAC;IAC3D,MAAMC,YAAY,GAAGH,WAAW,CAACI,MAAM,CAAC,CAACC,GAAG,EAAEC,OAAO,KAAK;MACxD,IAAI,CAACA,OAAO,CAACC,SAAS,EAAE,OAAOF,GAAG;MAClC,MAAMG,eAAe,GAAGF,OAAO,CAACC,SAAS,CAACZ,GAAG,EAAEI,UAAU,CAAC;MAC1D,IAAI,CAACS,eAAe,EAAE,OAAOH,GAAG;MAChC,OAAArD,aAAA,CAAAA,aAAA,KAAYqD,GAAG,GAAKG,eAAe;IACrC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEN,IAAI,CAACb,GAAG,CAACc,OAAO,IAAI,CAACd,GAAG,CAACe,QAAQ,EAAE,OAAOjC,SAAS;IAEnD,OAAAzB,aAAA,CAAAA,aAAA,KACKmD,YAAY;MACfb,IAAI,EAAEK,GAAG,CAACL,IAAI;MACdqB,IAAI,EAAEhB,GAAG,CAACgB,IAAI;MACdC,eAAe,EAAE,MAAAA,CAAA,KAAY;QAC3B,OAAO;UACLC,IAAI,EAAElB,GAAG,CAACL;QACZ,CAAC;MACH,CAAC;MACDwB,EAAE,EAAEtB;IAAK;EAEb;EAEAuB,QAAQA,CAAC3E,MAAW,EAAE4E,MAAc,EAAE;IACpC,MAAMrB,GAAG,GAAG,IAAI,CAACD,oBAAoB,CAACsB,MAAM,CAACF,EAAE,EAAE1E,MAAM,CAAC;IACxD,IAAI,CAACuD,GAAG,EAAE,OAAOlB,SAAS;IAC1B,OAAO,IAAI,CAACO,OAAO,CAAC+B,QAAQ,CAACpB,GAAG,CAAC;EACnC;AACF;AAACsB,OAAA,CAAAnC,SAAA,GAAAA,SAAA"}
|
@@ -1,6 +1,5 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
5
4
|
value: true
|
6
5
|
});
|
@@ -12,6 +11,7 @@ function _graphqlTag() {
|
|
12
11
|
};
|
13
12
|
return data;
|
14
13
|
}
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
15
15
|
function environmentsSchema(environments) {
|
16
16
|
return {
|
17
17
|
typeDefs: (0, _graphqlTag().default)`
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_graphqlTag","data","_interopRequireDefault","require","environmentsSchema","environments","typeDefs","gql","resolvers","Component","env","component","getDescriptor"],"sources":["environments.graphql.ts"],"sourcesContent":["import { Component } from '@teambit/component';\nimport { Schema } from '@teambit/graphql';\nimport gql from 'graphql-tag';\n\nimport { EnvsMain } from './environments.main.runtime';\n\nexport function environmentsSchema(environments: EnvsMain): Schema {\n return {\n typeDefs: gql`\n extend type Component {\n env: ExtensionDescriptor\n }\n\n type ExtensionDescriptor {\n id: String\n icon: String\n }\n `,\n resolvers: {\n Component: {\n env: (component: Component) => {\n return environments.getDescriptor(component);\n },\n },\n },\n };\n}\n"],"mappings":"
|
1
|
+
{"version":3,"names":["_graphqlTag","data","_interopRequireDefault","require","obj","__esModule","default","environmentsSchema","environments","typeDefs","gql","resolvers","Component","env","component","getDescriptor"],"sources":["environments.graphql.ts"],"sourcesContent":["import { Component } from '@teambit/component';\nimport { Schema } from '@teambit/graphql';\nimport gql from 'graphql-tag';\n\nimport { EnvsMain } from './environments.main.runtime';\n\nexport function environmentsSchema(environments: EnvsMain): Schema {\n return {\n typeDefs: gql`\n extend type Component {\n env: ExtensionDescriptor\n }\n\n type ExtensionDescriptor {\n id: String\n icon: String\n }\n `,\n resolvers: {\n Component: {\n env: (component: Component) => {\n return environments.getDescriptor(component);\n },\n },\n },\n };\n}\n"],"mappings":";;;;;;AAEA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA8B,SAAAC,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAIvB,SAASG,kBAAkBA,CAACC,YAAsB,EAAU;EACjE,OAAO;IACLC,QAAQ,EAAE,IAAAC,qBAAG,CAAC;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;IACDC,SAAS,EAAE;MACTC,SAAS,EAAE;QACTC,GAAG,EAAGC,SAAoB,IAAK;UAC7B,OAAON,YAAY,CAACO,aAAa,CAACD,SAAS,CAAC;QAC9C;MACF;IACF;EACF,CAAC;AACH"}
|
@@ -1,21 +1,9 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
-
require("core-js/modules/es.symbol.description.js");
|
5
|
-
require("core-js/modules/es.array.iterator.js");
|
6
|
-
require("core-js/modules/es.promise.js");
|
7
|
-
require("core-js/modules/es.regexp.exec.js");
|
8
3
|
Object.defineProperty(exports, "__esModule", {
|
9
4
|
value: true
|
10
5
|
});
|
11
6
|
exports.EnvsMain = exports.DEFAULT_ENV = void 0;
|
12
|
-
function _defineProperty2() {
|
13
|
-
const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
14
|
-
_defineProperty2 = function () {
|
15
|
-
return data;
|
16
|
-
};
|
17
|
-
return data;
|
18
|
-
}
|
19
7
|
function _bit() {
|
20
8
|
const data = require("@teambit/bit");
|
21
9
|
_bit = function () {
|
@@ -184,8 +172,12 @@ function _env2() {
|
|
184
172
|
};
|
185
173
|
return data;
|
186
174
|
}
|
175
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
187
176
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
188
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (
|
177
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
178
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
179
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
180
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
189
181
|
const DEFAULT_ENV = 'teambit.harmony/node';
|
190
182
|
exports.DEFAULT_ENV = DEFAULT_ENV;
|
191
183
|
class EnvsMain {
|
@@ -221,18 +213,18 @@ class EnvsMain {
|
|
221
213
|
/**
|
222
214
|
* Envs that are failed to load
|
223
215
|
*/
|
224
|
-
(
|
216
|
+
_defineProperty(this, "failedToLoadEnvs", new Set());
|
225
217
|
/**
|
226
218
|
* Extensions that are failed to load
|
227
219
|
* We use this as sometime when we couldn't load an extension we don't know if it's an env or not
|
228
220
|
* We should ideally take it from the aspect loader aspect, but right now the aspect loader is using envs
|
229
221
|
*/
|
230
|
-
(
|
222
|
+
_defineProperty(this, "failedToLoadExt", new Set());
|
231
223
|
/**
|
232
224
|
* Ids of envs (not neccesrraly loaded successfully)
|
233
225
|
*/
|
234
|
-
(
|
235
|
-
(
|
226
|
+
_defineProperty(this, "envIds", new Set());
|
227
|
+
_defineProperty(this, "alreadyShownWarning", {});
|
236
228
|
}
|
237
229
|
|
238
230
|
/**
|
@@ -946,8 +938,12 @@ class EnvsMain {
|
|
946
938
|
const services = [];
|
947
939
|
allServices.forEach(([id, currentServices]) => {
|
948
940
|
currentServices.forEach(service => {
|
949
|
-
|
950
|
-
|
941
|
+
try {
|
942
|
+
if (this.implements(env, service)) {
|
943
|
+
services.push([id, service]);
|
944
|
+
}
|
945
|
+
} catch (err) {
|
946
|
+
this.logger.warn(`failed loading service ${id} for env ${env.id}`);
|
951
947
|
}
|
952
948
|
});
|
953
949
|
});
|
@@ -1047,9 +1043,9 @@ class EnvsMain {
|
|
1047
1043
|
}
|
1048
1044
|
}
|
1049
1045
|
exports.EnvsMain = EnvsMain;
|
1050
|
-
(
|
1051
|
-
(
|
1052
|
-
(
|
1046
|
+
_defineProperty(EnvsMain, "runtime", _cli().MainRuntime);
|
1047
|
+
_defineProperty(EnvsMain, "slots", [_harmony().Slot.withType(), _harmony().Slot.withType()]);
|
1048
|
+
_defineProperty(EnvsMain, "dependencies", [_graphql().GraphqlAspect, _logger().LoggerAspect, _component().ComponentAspect, _cli().CLIAspect, _worker().default, _issues().default]);
|
1053
1049
|
_environments().EnvsAspect.addRuntime(EnvsMain);
|
1054
1050
|
|
1055
1051
|
//# sourceMappingURL=environments.main.runtime.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_bit","data","require","_pLocate","_interopRequireDefault","_commentJson","_cli","_component","_graphql","_issues","_pMapSeries","_componentIssues","_harmony","_logger","_bitError","_findDuplications","_lodash","_worker","_environments","_environments2","_runtime","_envDefinition","_envServiceList","_envs","_env","_exceptions","_env2","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","DEFAULT_ENV","exports","EnvsMain","icon","constructor","config","harmony","envSlot","logger","servicesRegistry","componentMain","loggerMain","workerMain","Set","createEnvironment","components","createRuntime","addFailedToLoadEnvs","id","failedToLoadEnvs","add","envIds","addFailedToLoadExt","failedToLoadExt","has","resetFailedToLoadEnvs","clear","getFailedToLoadEnvs","Array","from","extId","uniq","getDefaultEnv","defaultEnv","get","Error","EnvDefinition","getCoreEnvsIds","compose","targetEnv","envTransformers","a","reduce","acc","transformer","override","propsToOverride","env","merge","sourceEnv","allNames","o","prototype","getPrototypeOf","name","getOwnPropertyNames","fn","includes","bind","hasEnvManifest","envComponent","legacyFiles","undefined","files","filesystem","envJson","find","file","relative","getEnvManifest","parse","contents","toString","hasEnvManifestById","envId","requesting","component","getEnvComponentByEnvId","getEnvData","envsData","state","aspects","EnvsAspect","getEnvIdFromEnvsData","ignoreVersion","rawEnvId","envIdWithoutVersion","ComponentID","fromString","toStringWithoutVersion","getEnvId","envIdFromEnvData","withVersion","resolveEnv","withVersionMatch","toArray","withVersionMatchId","exactMatch","exactMatchId","EnvNotConfiguredForComponent","isUsingCoreEnv","isCoreEnv","getEnv","envDef","getEnvDefinitionByStringId","EnvNotFound","getEnvComponent","host","getHost","newId","resolveComponentId","BitError","getOrCalculateEnv","err","calculateEnv","getDescriptor","_this$resolveEnv","calcDescriptor","opts","componentDescriptor","getComponentEnvDescriptor","envComponentSelfDescriptor","getEnvSelfDescriptor","result","self","isEnvRegistered","getEnvFromComponent","services","getServices","selfDescriptor","getEnvDescriptorFromEnvDef","toObject","__getDescriptor","systemDescriptor","type","split","description","matchedEntry","entries","aspectEntry","calculateEnvId","envIdFromEnvsConfig","getEnvIdFromEnvsConfig","envIdFromEnvsConfigWithoutVersion","ids","findFirstEnv","finalId","getEnvDefinitionById","skipWarnings","printWarningIfFirstTime","envDefFromList","getAllEnvsConfiguredOnComponent","getEnvFromEnvsConfig","getEnvsNotFromEnvsConfig","hasEnvConfigured","Boolean","getAllRegisteredEnvs","map","envData","getEnvPlugin","EnvPlugin","calculateEnvIdFromExtensions","extensions","envsAspect","findCoreExtension","extension","newExtensionId","stringId","calculateEnvFromExtensions","getEnvDefinitionByLegacyExtension","isFoundWithoutVersion","pLocate","idWithoutVersion","isCoreAspect","envDefWithoutVersion","hasManifest","isUsingEnvEnv","finalEnvId","getEnvDefinition","allVersions","all","first","head","getEnvDefinitionByLegacyId","getEnvsEnvDefinition","message","alreadyShownWarning","consoleWarning","isUsingAspectEnv","isEnv","registerService","envServices","register","allServices","currentServices","service","implements","EnvServiceList","registerEnv","addNonLoadedEnvAsComponentIssues","pMapSeries","envIdStr","foundComp","c","issues","getOrCreate","IssuesClasses","ExternalEnvWithoutVersion","componentId","NonLoadedEnv","Runtime","aggregateByDefs","throwForDuplicateComponents","envsMap","Promise","envAspectDef","getEnvAspectDef","EnvRuntime","resolvedAspects","resolveAspects","MainRuntime","requestedOnly","filterByRuntime","useScopeAspectsCapsule","def","idsStr","duplications","findDuplications","join","provider","graphql","loggerAspect","cli","worker","context","createLogger","envs","registerShowFragments","EnvFragment","registerAddComponentsIssues","envsCmd","EnvsCmd","commands","ListEnvsCmd","GetEnvCmd","environmentsSchema","Slot","withType","GraphqlAspect","LoggerAspect","ComponentAspect","CLIAspect","WorkerAspect","IssuesAspect","addRuntime"],"sources":["environments.main.runtime.ts"],"sourcesContent":["import { isCoreAspect } from '@teambit/bit';\nimport pLocate from 'p-locate';\nimport { parse } from 'comment-json';\nimport { SourceFile } from '@teambit/legacy/dist/consumer/component/sources';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { Component, ComponentAspect, ComponentMain, ComponentID } from '@teambit/component';\nimport { GraphqlAspect, GraphqlMain } from '@teambit/graphql';\nimport IssuesAspect, { IssuesMain } from '@teambit/issues';\nimport pMapSeries from 'p-map-series';\nimport { IssuesClasses } from '@teambit/component-issues';\nimport { Harmony, Slot, SlotRegistry } from '@teambit/harmony';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport type { AspectDefinition } from '@teambit/aspect-loader';\nimport { ExtensionDataList, ExtensionDataEntry } from '@teambit/legacy/dist/consumer/config/extension-data';\nimport { BitError } from '@teambit/bit-error';\nimport findDuplications from '@teambit/legacy/dist/utils/array/find-duplications';\nimport { head, uniq } from 'lodash';\nimport WorkerAspect, { WorkerMain } from '@teambit/worker';\nimport { BitId } from '@teambit/legacy-bit-id';\nimport { EnvService } from './services';\nimport { Environment } from './environment';\nimport { EnvsAspect } from './environments.aspect';\nimport { environmentsSchema } from './environments.graphql';\nimport { EnvRuntime, Runtime } from './runtime';\nimport { EnvDefinition } from './env-definition';\nimport { EnvServiceList } from './env-service-list';\nimport { EnvsCmd, GetEnvCmd, ListEnvsCmd } from './envs.cmd';\nimport { EnvFragment } from './env.fragment';\nimport { EnvNotFound, EnvNotConfiguredForComponent } from './exceptions';\nimport { EnvPlugin } from './env.plugin';\n\nexport type EnvsRegistry = SlotRegistry<Environment>;\n\nexport type EnvsConfig = {\n env: string;\n options: EnvOptions;\n};\n\ntype GetCalcEnvOptions = {\n skipWarnings?: boolean;\n};\n\nexport type EnvOptions = {};\n\nexport type EnvTransformer = (env: Environment) => Environment;\n\nexport type ServicesRegistry = SlotRegistry<Array<EnvService<any>>>;\n\nexport type RegularCompDescriptor = {\n id: string;\n icon?: string;\n type?: string;\n name?: string;\n description?: string;\n};\nexport type EnvCompDescriptorProps = RegularCompDescriptor & {\n services?: {\n env: {\n id: string;\n icon: string;\n name?: string;\n description?: string;\n };\n services: Array<{\n id: string;\n name?: string;\n description?: string;\n data: any;\n }>;\n };\n};\n\nexport type EnvCompDescriptor = EnvCompDescriptorProps & {\n self?: EnvCompDescriptorProps;\n};\n\nexport type Descriptor = RegularCompDescriptor | EnvCompDescriptor;\n\nexport const DEFAULT_ENV = 'teambit.harmony/node';\n\nexport class EnvsMain {\n /**\n * Envs that are failed to load\n */\n private failedToLoadEnvs = new Set<string>();\n /**\n * Extensions that are failed to load\n * We use this as sometime when we couldn't load an extension we don't know if it's an env or not\n * We should ideally take it from the aspect loader aspect, but right now the aspect loader is using envs\n */\n private failedToLoadExt = new Set<string>();\n /**\n * Ids of envs (not neccesrraly loaded successfully)\n */\n public envIds = new Set<string>();\n\n static runtime = MainRuntime;\n\n private alreadyShownWarning = {};\n\n /**\n * icon of the extension.\n */\n icon() {\n return `<svg width=\"50\" height=\"50\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle cx=\"25\" cy=\"25\" r=\"20\"/>\n </svg>`;\n }\n\n constructor(\n /**\n * environments extension configuration.\n */\n readonly config: EnvsConfig,\n\n /**\n * harmony context.\n */\n private harmony: Harmony,\n\n /**\n * slot for allowing extensions to register new environment.\n */\n private envSlot: EnvsRegistry,\n\n private logger: Logger,\n\n private servicesRegistry: ServicesRegistry,\n\n private componentMain: ComponentMain,\n\n private loggerMain: LoggerMain,\n\n private workerMain: WorkerMain\n ) {}\n\n /**\n * creates a new runtime environments for a set of components.\n */\n async createEnvironment(components: Component[]): Promise<Runtime> {\n return this.createRuntime(components);\n }\n\n /**\n *\n * @param id\n */\n /**\n * This function adds an extension ID to a set of failed to load extensions.\n * This mostly used by the aspect loader to add such issues\n * Then it is used to hide different errors that are caused by the same issue.\n * @param {string} id - string - represents the unique identifier of an extension that failed to load.\n */\n addFailedToLoadEnvs(id: string) {\n this.failedToLoadEnvs.add(id);\n this.envIds.add(id);\n }\n\n addFailedToLoadExt(id: string) {\n this.failedToLoadExt.add(id);\n if (this.envIds.has(id)) {\n this.addFailedToLoadEnvs(id);\n }\n }\n\n resetFailedToLoadEnvs() {\n this.failedToLoadEnvs.clear();\n this.failedToLoadExt.clear();\n }\n\n getFailedToLoadEnvs() {\n const failedToLoadEnvs = Array.from(this.failedToLoadEnvs);\n // Add all extensions which are also envs\n for (const extId of this.failedToLoadExt) {\n if (this.envIds.has(extId)) {\n failedToLoadEnvs.push(extId);\n }\n }\n return uniq(failedToLoadEnvs);\n }\n\n /**\n * get the configured default env.\n */\n getDefaultEnv(): EnvDefinition {\n const defaultEnv = this.envSlot.get(DEFAULT_ENV);\n if (!defaultEnv) throw new Error('default env must be set.');\n\n return new EnvDefinition(DEFAULT_ENV, defaultEnv);\n }\n\n getCoreEnvsIds(): string[] {\n return [\n 'teambit.harmony/aspect',\n 'teambit.react/react',\n 'teambit.harmony/node',\n 'teambit.react/react-native',\n 'teambit.html/html',\n 'teambit.mdx/mdx',\n 'teambit.envs/env',\n 'teambit.mdx/readme',\n 'teambit.harmony/bit-custom-aspect',\n ];\n }\n\n /**\n * compose a new environment from a list of environment transformers.\n */\n compose(targetEnv: Environment, envTransformers: EnvTransformer[]) {\n const a = envTransformers.reduce((acc, transformer) => {\n acc = transformer(acc);\n return acc;\n }, targetEnv);\n\n return a;\n }\n\n /**\n * create an env transformer which overrides specific env properties.\n */\n override(propsToOverride: Environment): EnvTransformer {\n return (env: Environment) => {\n return this.merge(propsToOverride, env);\n };\n }\n\n /**\n * compose two environments into one.\n */\n merge<T extends Environment, S extends Environment>(targetEnv: Environment, sourceEnv: Environment): T & S {\n const allNames = new Set<string>();\n const keys = ['icon', 'name', 'description'];\n for (let o = sourceEnv; o !== Object.prototype; o = Object.getPrototypeOf(o)) {\n for (const name of Object.getOwnPropertyNames(o)) {\n allNames.add(name);\n }\n }\n\n allNames.forEach((key: string) => {\n const fn = sourceEnv[key];\n if (targetEnv[key]) return;\n if (keys.includes(key)) targetEnv[key] = fn;\n if (!fn || !fn.bind) {\n return;\n }\n targetEnv[key] = fn.bind(sourceEnv);\n });\n\n return targetEnv as T & S;\n }\n\n /**\n * This function checks if an environment manifest file exists in a given component or set of legacy files.\n * @param {Component} [envComponent] - A component object that represents an environment. It contains information about\n * the files and directories that make up the environment.\n * @param {SourceFile[]} [legacyFiles] - An optional array of SourceFile objects representing the files in the legacy\n * file system. If this parameter is not provided, the function will attempt to retrieve the files from the envComponent\n * parameter.\n * @returns a boolean value indicating whether an `env.jsonc` or `env.json` file exists in the `files` array of either\n * the `envComponent` object or the `legacyFiles` array. If neither `envComponent` nor `legacyFiles` are provided, the\n * function returns `undefined`.\n */\n hasEnvManifest(envComponent?: Component, legacyFiles?: SourceFile[]): boolean | undefined {\n if (!envComponent && !legacyFiles) return undefined;\n // @ts-ignore\n const files = legacyFiles || envComponent.filesystem.files;\n const envJson = files.find((file) => {\n return file.relative === 'env.jsonc' || file.relative === 'env.json';\n });\n\n if (!envJson) return false;\n return true;\n }\n\n getEnvManifest(envComponent?: Component, legacyFiles?: SourceFile[]): Object | undefined {\n // TODO: maybe throw an error here?\n if (!envComponent && !legacyFiles) return undefined;\n // @ts-ignore\n const files = legacyFiles || envComponent.filesystem.files;\n const envJson = files.find((file) => {\n return file.relative === 'env.jsonc' || file.relative === 'env.json';\n });\n\n if (!envJson) return undefined;\n\n const object = parse(envJson.contents.toString('utf8'));\n return object;\n }\n\n async hasEnvManifestById(envId: string, requesting: string): Promise<boolean | undefined> {\n const component = await this.getEnvComponentByEnvId(envId, requesting);\n return this.hasEnvManifest(component);\n }\n\n getEnvData(component: Component): Descriptor {\n let envsData = component.state.aspects.get(EnvsAspect.id);\n if (!envsData) {\n // TODO: remove this once we re-export old components used to store the data here\n envsData = component.state.aspects.get('teambit.workspace/workspace');\n }\n if (!envsData) throw new Error(`env was not configured on component ${component.id.toString()}`);\n return envsData.data as Descriptor;\n }\n\n /**\n * Return the id of the env as configured in the envs data (without version by default)\n * The reason it's not contain version by default is that we want to take the version from the aspect defined on the component itself\n * As this version is stay up to date during tagging the env along with the component\n * @param component\n * @param ignoreVersion\n */\n private getEnvIdFromEnvsData(component: Component, ignoreVersion = true): string | undefined {\n const envsData = this.getEnvData(component);\n if (!envsData) return undefined;\n const rawEnvId = envsData.id;\n if (!rawEnvId) return undefined;\n if (!ignoreVersion) return rawEnvId;\n const envIdWithoutVersion = ComponentID.fromString(rawEnvId).toStringWithoutVersion();\n return envIdWithoutVersion;\n }\n\n /**\n * get the env id of the given component.\n */\n getEnvId(component: Component): string {\n const envIdFromEnvData = this.getEnvIdFromEnvsData(component);\n if (!envIdFromEnvData) {\n // This should never happen\n throw new Error(`no env found for ${component.id.toString()}`);\n }\n const withVersion = this.resolveEnv(component, envIdFromEnvData);\n const withVersionMatch = this.envSlot.toArray().find(([envId]) => {\n return withVersion?.toString() === envId;\n });\n const withVersionMatchId = withVersionMatch?.[0];\n if (withVersionMatchId) return withVersionMatchId;\n\n // Handle core envs\n const exactMatch = this.envSlot.toArray().find(([envId]) => {\n return envIdFromEnvData === envId;\n });\n\n const exactMatchId = exactMatch?.[0];\n if (exactMatchId) return exactMatchId;\n\n if (!withVersion) throw new EnvNotConfiguredForComponent(envIdFromEnvData, component.id.toString());\n return withVersion.toString();\n }\n\n isUsingCoreEnv(component: Component): boolean {\n const envId = this.getEnvId(component);\n return this.isCoreEnv(envId);\n }\n\n isCoreEnv(envId: string): boolean {\n return this.getCoreEnvsIds().includes(envId);\n }\n\n /**\n * get the env of the given component.\n * In case you are asking for the env during on load you should use calculateEnv instead\n */\n getEnv(component: Component): EnvDefinition {\n const id = this.getEnvId(component);\n const envDef = this.getEnvDefinitionByStringId(id);\n if (envDef) {\n return envDef;\n }\n // Do not allow a non existing env\n throw new EnvNotFound(id, component.id.toString());\n }\n\n /**\n * get the env component of the given component.\n */\n async getEnvComponent(component: Component): Promise<Component> {\n const envId = this.getEnvId(component);\n return this.getEnvComponentByEnvId(envId, component.id.toString());\n }\n\n /**\n * get the env component by the env id.\n */\n async getEnvComponentByEnvId(envId: string, requesting?: string): Promise<Component> {\n const host = this.componentMain.getHost();\n const newId = await host.resolveComponentId(envId);\n const envComponent = await host.get(newId);\n if (!envComponent) {\n throw new BitError(`can't load env. env id is ${envId} used by component ${requesting || 'unknown'}`);\n }\n return envComponent;\n }\n\n /**\n * get the env of the given component.\n * This will try to use the regular getEnv but fallback to the calculate env (in case you are using it during on load)\n * This is safe to be used on onLoad as well\n */\n getOrCalculateEnv(component: Component): EnvDefinition {\n try {\n return this.getEnv(component);\n } catch (err) {\n return this.calculateEnv(component);\n }\n }\n\n /**\n * get an environment Descriptor.\n */\n getDescriptor(component: Component): Descriptor | undefined {\n const envsData = this.getEnvData(component);\n envsData.id = this.resolveEnv(component, envsData.id)?.toString() || envsData.id;\n return envsData;\n }\n\n async calcDescriptor(component: Component, opts: GetCalcEnvOptions = {}): Promise<Descriptor | undefined> {\n const componentDescriptor = await this.getComponentEnvDescriptor(component, opts);\n if (!componentDescriptor) return undefined;\n const envComponentSelfDescriptor = await this.getEnvSelfDescriptor(component);\n const result = envComponentSelfDescriptor\n ? { ...componentDescriptor, self: envComponentSelfDescriptor }\n : componentDescriptor;\n return result;\n }\n\n /**\n * Get env descriptor from the env itself if the component is an env\n * This will be empty for regular component, and will only contain data for env themself\n */\n private async getEnvSelfDescriptor(envComponent: Component): Promise<EnvCompDescriptorProps | undefined> {\n // !important calculate only on the env itself.\n if (!this.isEnvRegistered(envComponent.id.toString())) {\n return undefined;\n }\n\n const envDef = this.getEnvFromComponent(envComponent);\n if (!envDef) return undefined;\n\n const services = this.getServices(envDef);\n // const selfDescriptor = (await this.getEnvDescriptorFromEnvDef(envDef)) || {};\n const selfDescriptor = await this.getEnvDescriptorFromEnvDef(envDef);\n\n if (!selfDescriptor) return undefined;\n return {\n ...selfDescriptor,\n services: services.toObject(),\n };\n }\n\n /**\n * Get env descriptor from the env that a given component is using\n */\n private async getComponentEnvDescriptor(\n component: Component,\n opts: GetCalcEnvOptions = {}\n ): Promise<RegularCompDescriptor | undefined> {\n const envDef = this.calculateEnv(component, opts);\n return this.getEnvDescriptorFromEnvDef(envDef);\n }\n\n private async getEnvDescriptorFromEnvDef(envDef: EnvDefinition): Promise<RegularCompDescriptor | undefined> {\n if (!envDef.env.__getDescriptor || typeof envDef.env.__getDescriptor !== 'function') {\n return undefined;\n }\n const systemDescriptor = await envDef.env.__getDescriptor();\n\n return {\n type: systemDescriptor.type,\n // Make sure to store the env id in the data without the version\n // The version should always come from the aspect id configured on the component\n id: envDef.id.split('@')[0],\n name: envDef.name,\n icon: envDef.env.icon,\n description: envDef.description,\n };\n }\n\n resolveEnv(component: Component, id: string) {\n const matchedEntry = component.state.aspects.entries.find((aspectEntry) => {\n return id === aspectEntry.id.toString() || id === aspectEntry.id.toString({ ignoreVersion: true });\n });\n\n return matchedEntry?.id;\n }\n\n /**\n * This used to calculate the actual env during the component load.\n * Do not use it to get the env (use getEnv instead)\n * This should be used only during on load\n */\n async calculateEnvId(component: Component): Promise<ComponentID> {\n // Search first for env configured via envs aspect itself\n const envIdFromEnvsConfig = this.getEnvIdFromEnvsConfig(component);\n // if (!envIdFromEnvsConfig) return this.getDefaultEnv();\n const envIdFromEnvsConfigWithoutVersion = envIdFromEnvsConfig\n ? ComponentID.fromString(envIdFromEnvsConfig).toStringWithoutVersion()\n : undefined;\n\n if (envIdFromEnvsConfig && this.isCoreEnv(envIdFromEnvsConfig)) {\n return ComponentID.fromString(envIdFromEnvsConfig);\n }\n\n // in some cases we have the id configured in the teambit.envs/envs but without the version\n // in such cases we won't find it in the slot\n // we search in the component aspect list a matching aspect which is match the id from the teambit.envs/envs\n if (envIdFromEnvsConfigWithoutVersion) {\n const matchedEntry = component.state.aspects.entries.find((aspectEntry) => {\n return (\n envIdFromEnvsConfigWithoutVersion === aspectEntry.id.toString() ||\n envIdFromEnvsConfigWithoutVersion === aspectEntry.id.toString({ ignoreVersion: true })\n );\n });\n\n if (matchedEntry?.id) return matchedEntry?.id;\n }\n\n // in case there is no config in teambit.envs/envs search the aspects for the first env that registered as env\n let ids: string[] = [];\n component.state.aspects.entries.forEach((aspectEntry) => {\n ids.push(aspectEntry.id.toString());\n // ids.push(aspectEntry.id.toString({ ignoreVersion: true }));\n });\n ids = uniq(ids);\n const envId = await this.findFirstEnv(ids);\n const finalId = envId || this.getDefaultEnv().id;\n return ComponentID.fromString(finalId);\n }\n\n /**\n * This used to calculate the actual env during the component load.\n * Do not use it to get the env (use getEnv instead)\n * This should be used only during on load\n */\n calculateEnv(component: Component, opts: GetCalcEnvOptions = {}): EnvDefinition {\n // Search first for env configured via envs aspect itself\n const envIdFromEnvsConfig = this.getEnvIdFromEnvsConfig(component);\n let envIdFromEnvsConfigWithoutVersion;\n if (envIdFromEnvsConfig) {\n envIdFromEnvsConfigWithoutVersion = ComponentID.fromString(envIdFromEnvsConfig).toStringWithoutVersion();\n const envDef = this.getEnvDefinitionByStringId(envIdFromEnvsConfigWithoutVersion);\n if (envDef) {\n this.envIds.add(envDef.id);\n return envDef;\n }\n }\n\n // in some cases we have the id configured in the teambit.envs/envs but without the version\n // in such cases we won't find it in the slot\n // we search in the component aspect list a matching aspect which is match the id from the teambit.envs/envs\n if (envIdFromEnvsConfigWithoutVersion) {\n const matchedEntry = component.state.aspects.entries.find((aspectEntry) => {\n return (\n envIdFromEnvsConfigWithoutVersion === aspectEntry.id.toString() ||\n envIdFromEnvsConfigWithoutVersion === aspectEntry.id.toString({ ignoreVersion: true })\n );\n });\n if (matchedEntry) {\n // during the tag process, the version in the aspect-entry-id is changed and is not the\n // same as it was when it registered to the slot.\n const envDef = this.getEnvDefinitionById(matchedEntry.id);\n if (envDef) {\n this.envIds.add(envDef.id);\n return envDef;\n }\n if (!opts.skipWarnings) {\n // Do not allow a non existing env\n this.printWarningIfFirstTime(\n matchedEntry.id.toString(),\n `environment with ID: ${matchedEntry.id.toString()} configured on component ${component.id.toString()} was not loaded (run \"bit install\")`\n );\n }\n }\n // Do not allow configure teambit.envs/envs on the component without configure the env aspect itself\n // const errMsg = new EnvNotConfiguredForComponent(envIdFromEnvsConfig as string, component.id.toString()).message;\n // this.printWarningIfFirstTime(envIdFromEnvsConfig as string, errMsg);\n }\n\n // in case there is no config in teambit.envs/envs search the aspects for the first env that registered as env\n let envDefFromList;\n component.state.aspects.entries.find((aspectEntry) => {\n const envDef = this.getEnvDefinitionById(aspectEntry.id);\n if (envDef) {\n envDefFromList = envDef;\n }\n return !!envDef;\n });\n\n if (envDefFromList) {\n this.envIds.add(envDefFromList.id);\n return envDefFromList;\n }\n return this.getDefaultEnv();\n }\n\n /**\n * an env can be configured on a component in two ways:\n * 1) explicitly inside \"teambit.envs/envs\". `{ \"teambit.envs/envs\": { \"env\": \"my-env\" } }`\n * 2) the env aspect is set on the variant as any other aspect, e.g. `{ \"my-env\": {} }`\n *\n * this method returns #1 if exists, otherwise, #2.\n */\n getAllEnvsConfiguredOnComponent(component: Component): EnvDefinition[] {\n // if a component has \"envs\" config, use it and ignore other components that are set up\n // in this components which happen to be envs.\n const envDef = this.getEnvFromEnvsConfig(component);\n if (envDef) {\n return [envDef];\n }\n\n return this.getEnvsNotFromEnvsConfig(component);\n }\n\n /**\n * whether a component has an env configured (either by variant or .bitmap).\n */\n hasEnvConfigured(component: Component): boolean {\n return Boolean(this.getAllEnvsConfiguredOnComponent(component).length);\n }\n\n getAllRegisteredEnvs(): string[] {\n return this.envSlot.toArray().map((envData) => envData[0]);\n }\n\n getEnvPlugin() {\n return new EnvPlugin(this.envSlot, this.servicesRegistry, this.loggerMain, this.workerMain, this.harmony);\n }\n\n /**\n * an env can be configured on a component in two ways:\n * 1) explicitly inside \"teambit.envs/envs\". `{ \"teambit.envs/envs\": { \"env\": \"my-env\" } }`\n * 2) the env aspect is set on the variant as any other aspect, e.g. `{ \"my-env\": {} }`\n *\n * this method returns only #1\n */\n getEnvFromEnvsConfig(component: Component): EnvDefinition | undefined {\n const envIdFromEnvsConfig = this.getEnvIdFromEnvsConfig(component);\n if (!envIdFromEnvsConfig) {\n return undefined;\n }\n const envIdFromEnvsConfigWithoutVersion = ComponentID.fromString(envIdFromEnvsConfig).toStringWithoutVersion();\n const envDef = this.getEnvDefinitionByStringId(envIdFromEnvsConfigWithoutVersion);\n return envDef;\n }\n\n /**\n * an env can be configured on a component in two ways:\n * 1) explicitly inside \"teambit.envs/envs\". `{ \"teambit.envs/envs\": { \"env\": \"my-env\" } }`\n * 2) the env aspect is set on the variant as any other aspect, e.g. `{ \"my-env\": {} }`\n *\n * this method returns only #2\n */\n getEnvsNotFromEnvsConfig(component: Component): EnvDefinition[] {\n return component.state.aspects.entries.reduce((acc: EnvDefinition[], aspectEntry) => {\n const envDef = this.getEnvDefinitionById(aspectEntry.id);\n if (envDef) acc.push(envDef);\n return acc;\n }, []);\n }\n\n /**\n * @deprecated DO NOT USE THIS METHOD ANYMORE!!! (PLEASE USE .calculateEnvId() instead!)\n */\n async calculateEnvIdFromExtensions(extensions: ExtensionDataList): Promise<string> {\n // Search first for env configured via envs aspect itself\n const envsAspect = extensions.findCoreExtension(EnvsAspect.id);\n const envIdFromEnvsConfig = envsAspect?.config.env;\n\n const envIdFromEnvsConfigWithoutVersion = envIdFromEnvsConfig\n ? ComponentID.fromString(envIdFromEnvsConfig).toStringWithoutVersion()\n : undefined;\n\n if (envIdFromEnvsConfig && this.isCoreEnv(envIdFromEnvsConfig)) {\n return envIdFromEnvsConfig;\n }\n\n // in some cases we have the id configured in the teambit.envs/envs but without the version\n // in such cases we won't find it in the slot\n // we search in the component aspect list a matching aspect which is match the id from the teambit.envs/envs\n if (envIdFromEnvsConfigWithoutVersion) {\n const matchedEntry = extensions.find((extension) => {\n if (extension.newExtensionId) {\n return (\n envIdFromEnvsConfigWithoutVersion === extension.newExtensionId.toString() ||\n envIdFromEnvsConfigWithoutVersion === extension.newExtensionId.toString({ ignoreVersion: true })\n );\n }\n return envIdFromEnvsConfigWithoutVersion === extension.stringId;\n });\n if (matchedEntry?.id) return matchedEntry?.stringId;\n }\n\n // in case there is no config in teambit.envs/envs search the aspects for the first env that registered as env\n const ids: string[] = [];\n extensions.forEach((extension) => {\n if (extension.newExtensionId) {\n ids.push(extension.newExtensionId.toString());\n // ids.push(extension.newExtensionId.toString({ ignoreVersion: true }));\n } else {\n ids.push(extension.stringId);\n }\n });\n const envId = await this.findFirstEnv(ids);\n const finalId = envId || this.getDefaultEnv().id;\n return finalId;\n }\n\n /**\n * @deprecated DO NOT USE THIS METHOD ANYMORE!!! (PLEASE USE .calculateEnv() instead!)\n */\n async calculateEnvFromExtensions(extensions: ExtensionDataList): Promise<EnvDefinition> {\n // Search first for env configured via envs aspect itself\n const envsAspect = extensions.findCoreExtension(EnvsAspect.id);\n const envIdFromEnvsConfig = envsAspect?.config.env;\n let envIdFromEnvsConfigWithoutVersion;\n\n if (envIdFromEnvsConfig) {\n envIdFromEnvsConfigWithoutVersion = ComponentID.fromString(envIdFromEnvsConfig).toStringWithoutVersion();\n const envDef = this.getEnvDefinitionByStringId(envIdFromEnvsConfigWithoutVersion);\n if (envDef) {\n this.envIds.add(envDef.id);\n return envDef;\n }\n }\n\n // in some cases we have the id configured in the teambit.envs/envs but without the version\n // in such cases we won't find it in the slot\n // we search in the component aspect list a matching aspect which is match the id from the teambit.envs/envs\n if (envIdFromEnvsConfigWithoutVersion) {\n const matchedEntry = extensions.find((extension) => {\n if (extension.newExtensionId) {\n return (\n envIdFromEnvsConfigWithoutVersion === extension.newExtensionId.toString() ||\n envIdFromEnvsConfigWithoutVersion === extension.newExtensionId.toString({ ignoreVersion: true })\n );\n }\n return envIdFromEnvsConfigWithoutVersion === extension.stringId;\n });\n if (matchedEntry) {\n // during the tag process, the version in the aspect-entry-id is changed and is not the\n // same as it was when it registered to the slot.\n const envDef = this.getEnvDefinitionByLegacyExtension(matchedEntry);\n if (envDef) {\n this.envIds.add(envDef.id);\n return envDef;\n }\n // Do not allow a non existing env\n // this.printWarningIfFirstTime(\n // matchedEntry.id.toString(),\n // `environment with ID: ${matchedEntry.id.toString()} was not found`\n // );\n }\n // Do not allow configure teambit.envs/envs on the component without configure the env aspect itself\n // const errMsg = new EnvNotConfiguredForComponent(envIdFromEnvsConfig).message;\n // this.printWarningIfFirstTime(envIdFromEnvsConfig, errMsg);\n }\n\n // in case there is no config in teambit.envs/envs search the aspects for the first env that registered as env\n const ids: string[] = [];\n extensions.forEach((extension) => {\n if (extension.newExtensionId) {\n ids.push(extension.newExtensionId.toString());\n // ids.push(extension.newExtensionId.toString({ ignoreVersion: true }));\n } else {\n ids.push(extension.stringId);\n }\n });\n const envId = await this.findFirstEnv(ids);\n const envDef = envId ? this.getEnvDefinitionByStringId(envId) : undefined;\n\n return envDef || this.getDefaultEnv();\n }\n\n /**\n * This function finds the first environment ID from a list of IDs by checking if it is register as env (to the slot).\n * or contains env.jsonc file\n * @param {string[]} ids - `ids` is an array of string values representing environment IDs. The function `findFirstEnv`\n * takes this array as input and returns a Promise that resolves to a string value representing the first environment ID\n * that matches certain conditions.\n * @returns The `findFirstEnv` function returns a Promise that resolves to a string or undefined. The string represents\n * the ID of the first environment that matches the conditions specified in the function, or undefined if no environment\n * is found.\n */\n private async findFirstEnv(ids: string[]): Promise<string | undefined> {\n let isFoundWithoutVersion = false;\n const envId = await pLocate(ids, async (id) => {\n const idWithoutVersion = id.split('@')[0];\n if (this.isCoreEnv(idWithoutVersion)) return true;\n if (isCoreAspect(idWithoutVersion)) return false;\n const envDef = this.getEnvDefinitionByStringId(id);\n if (envDef) return true;\n const envDefWithoutVersion = this.getEnvDefinitionByStringId(idWithoutVersion);\n if (envDefWithoutVersion) {\n isFoundWithoutVersion = true;\n return true;\n }\n const envComponent = await this.getEnvComponentByEnvId(id);\n const hasManifest = this.hasEnvManifest(envComponent);\n if (hasManifest) return true;\n const isUsingEnvEnv = this.isUsingEnvEnv(envComponent);\n return !!isUsingEnvEnv;\n });\n let finalEnvId;\n if (envId) {\n finalEnvId = isFoundWithoutVersion ? envId?.split('@')[0] : envId;\n this.envIds.add(envId);\n }\n return finalEnvId;\n }\n\n private getEnvDefinitionByLegacyExtension(extension: ExtensionDataEntry): EnvDefinition | undefined {\n const envDef = extension.newExtensionId\n ? this.getEnvDefinitionById(extension.newExtensionId)\n : this.getEnvDefinitionByStringId(extension.stringId);\n return envDef;\n }\n\n getEnvIdFromEnvsConfig(component: Component): string | undefined {\n const envsAspect = component.state.aspects.get(EnvsAspect.id);\n return envsAspect?.config.env;\n }\n\n getEnvDefinition(id: ComponentID) {\n const allVersions = this.envSlot.toArray();\n const all = allVersions.filter(([envId]) => envId.includes(id.toStringWithoutVersion()));\n const first = head(all);\n if (!first) return undefined;\n const [envId, env] = first;\n return new EnvDefinition(envId, env);\n }\n\n getEnvDefinitionById(id: ComponentID): EnvDefinition | undefined {\n const envDef =\n this.getEnvDefinitionByStringId(id.toString()) ||\n this.getEnvDefinitionByStringId(id.toString({ ignoreVersion: true }));\n return envDef;\n }\n\n async getEnvDefinitionByLegacyId(id: BitId): Promise<EnvDefinition | undefined> {\n const host = this.componentMain.getHost();\n const newId = await host.resolveComponentId(id);\n return this.getEnvDefinitionById(newId);\n }\n\n public getEnvDefinitionByStringId(envId: string): EnvDefinition | undefined {\n const env = this.envSlot.get(envId);\n if (env) {\n return new EnvDefinition(envId, env as Environment);\n }\n return undefined;\n }\n\n getEnvFromComponent(envComponent: Component): EnvDefinition | undefined {\n const env = this.getEnvDefinitionById(envComponent.id);\n return env;\n }\n\n /**\n * Return the env definition of teambit.envs/env\n */\n getEnvsEnvDefinition(): EnvDefinition {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return this.getEnvDefinitionByStringId('teambit.envs/env')!;\n }\n\n private printWarningIfFirstTime(envId: string, message: string) {\n if (!this.alreadyShownWarning[envId] && !this.failedToLoadEnvs.has(envId)) {\n this.alreadyShownWarning[envId] = true;\n this.logger.consoleWarning(message);\n this.addFailedToLoadEnvs(envId);\n }\n }\n\n /**\n * determines whether an env is registered.\n */\n public isEnvRegistered(id: string) {\n return Boolean(this.envSlot.get(id));\n }\n\n isUsingAspectEnv(component: Component): boolean {\n const data = this.getEnvData(component);\n if (!data) return false;\n return data.type === 'aspect';\n }\n\n isUsingEnvEnv(component: Component): boolean {\n const data = this.getEnvData(component);\n if (!data) return false;\n return data.type === 'env';\n }\n\n /**\n * Check if the given component is an env component.\n * @param component\n * @returns\n */\n isEnv(component: Component): boolean {\n return (\n this.isUsingEnvEnv(component) ||\n this.isEnvRegistered(component.id.toString()) ||\n this.isEnvRegistered(component.id.toStringWithoutVersion())\n );\n }\n\n /**\n * register a new environment service.\n */\n registerService(...envServices: EnvService<any>[]) {\n this.servicesRegistry.register(envServices);\n return this;\n }\n\n /**\n * get list of services enabled on an env.\n */\n getServices(env: EnvDefinition): EnvServiceList {\n const allServices = this.servicesRegistry.toArray();\n const services: [string, EnvService<any>][] = [];\n allServices.forEach(([id, currentServices]) => {\n currentServices.forEach((service) => {\n if (this.implements(env, service)) {\n services.push([id, service]);\n }\n });\n });\n return new EnvServiceList(env, services);\n }\n\n implements(env: EnvDefinition, service: EnvService<any>) {\n // TODO: remove this after refactoring everything and remove getDescriptor from being optional.\n if (!service.getDescriptor) return false;\n return !!service.getDescriptor(env);\n }\n\n /**\n * register an environment.\n */\n registerEnv(env: Environment) {\n return this.envSlot.register(env);\n }\n\n async addNonLoadedEnvAsComponentIssues(components: Component[]) {\n await pMapSeries(components, async (component) => {\n const envId = await this.calculateEnvId(component);\n const envIdStr = envId.toString();\n if (!this.isEnvRegistered(envIdStr)) {\n this.addFailedToLoadEnvs(envIdStr);\n // If there is no version and the env is not in the workspace this is not valid\n // you can't set external env without version\n if (!envIdStr.includes('@')) {\n const foundComp = components.find((c) => c.id.toStringWithoutVersion() === envIdStr);\n if (!foundComp) {\n component.state.issues.getOrCreate(IssuesClasses.ExternalEnvWithoutVersion).data = {\n envId: envIdStr,\n componentId: component.id.toString(),\n };\n } else {\n component.state.issues.getOrCreate(IssuesClasses.NonLoadedEnv).data = envIdStr;\n }\n } else {\n component.state.issues.getOrCreate(IssuesClasses.NonLoadedEnv).data = envIdStr;\n }\n }\n });\n }\n\n // refactor here\n private async createRuntime(components: Component[]): Promise<Runtime> {\n return new Runtime(await this.aggregateByDefs(components), this.logger);\n }\n\n // :TODO can be refactored to few utilities who will make repeating this very easy.\n private async aggregateByDefs(components: Component[]): Promise<EnvRuntime[]> {\n this.throwForDuplicateComponents(components);\n const envsMap = {};\n components.forEach((component: Component) => {\n const envDef = this.getEnv(component);\n const envId = envDef.id;\n const env = envDef.env;\n // handle config as well when aggregating envs.\n if (envsMap[envId]) envsMap[envId].components.push(component);\n else\n envsMap[envId] = {\n components: [component],\n env,\n };\n });\n\n return Promise.all(\n Object.keys(envsMap).map(async (key) => {\n const envAspectDef = await this.getEnvAspectDef(key);\n return new EnvRuntime(key, envsMap[key].env, envsMap[key].components, envAspectDef);\n })\n );\n }\n\n private async getEnvAspectDef(envId: string): Promise<AspectDefinition> {\n const host = this.componentMain.getHost();\n const id = await host.resolveComponentId(envId);\n // We don't want to filter by runtime here as we want to also get envs that configured as plugins. so they don't\n // contain the runtime path.\n const resolvedAspects = await host.resolveAspects(MainRuntime.name, [id], {\n requestedOnly: true,\n filterByRuntime: false,\n useScopeAspectsCapsule: true,\n });\n const def = resolvedAspects[0];\n\n return def;\n }\n\n private throwForDuplicateComponents(components: Component[]) {\n const idsStr = components.map((c) => c.id.toString());\n const duplications = findDuplications(idsStr);\n if (duplications.length) {\n throw new Error(`found duplicated components: ${duplications.join(', ')}`);\n }\n }\n\n static slots = [Slot.withType<Environment>(), Slot.withType<EnvService<any>>()];\n\n static dependencies = [GraphqlAspect, LoggerAspect, ComponentAspect, CLIAspect, WorkerAspect, IssuesAspect];\n\n static async provider(\n [graphql, loggerAspect, component, cli, worker, issues]: [\n GraphqlMain,\n LoggerMain,\n ComponentMain,\n CLIMain,\n WorkerMain,\n IssuesMain\n ],\n config: EnvsConfig,\n [envSlot, servicesRegistry]: [EnvsRegistry, ServicesRegistry],\n context: Harmony\n ) {\n const logger = loggerAspect.createLogger(EnvsAspect.id);\n const envs = new EnvsMain(config, context, envSlot, logger, servicesRegistry, component, loggerAspect, worker);\n component.registerShowFragments([new EnvFragment(envs)]);\n if (issues) issues.registerAddComponentsIssues(envs.addNonLoadedEnvAsComponentIssues.bind(envs));\n\n const envsCmd = new EnvsCmd(envs, component);\n envsCmd.commands = [new ListEnvsCmd(envs, component), new GetEnvCmd(envs, component)];\n cli.register(envsCmd);\n graphql.register(environmentsSchema(envs));\n return envs;\n }\n}\n\nEnvsAspect.addRuntime(EnvsMain);\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["_bit","data","require","_pLocate","_interopRequireDefault","_commentJson","_cli","_component","_graphql","_issues","_pMapSeries","_componentIssues","_harmony","_logger","_bitError","_findDuplications","_lodash","_worker","_environments","_environments2","_runtime","_envDefinition","_envServiceList","_envs","_env","_exceptions","_env2","obj","__esModule","default","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","DEFAULT_ENV","exports","EnvsMain","icon","constructor","config","harmony","envSlot","logger","servicesRegistry","componentMain","loggerMain","workerMain","Set","createEnvironment","components","createRuntime","addFailedToLoadEnvs","id","failedToLoadEnvs","add","envIds","addFailedToLoadExt","failedToLoadExt","has","resetFailedToLoadEnvs","clear","getFailedToLoadEnvs","Array","from","extId","uniq","getDefaultEnv","defaultEnv","get","Error","EnvDefinition","getCoreEnvsIds","compose","targetEnv","envTransformers","a","reduce","acc","transformer","override","propsToOverride","env","merge","sourceEnv","allNames","o","prototype","getPrototypeOf","name","getOwnPropertyNames","fn","includes","bind","hasEnvManifest","envComponent","legacyFiles","files","filesystem","envJson","find","file","relative","getEnvManifest","parse","contents","toString","hasEnvManifestById","envId","requesting","component","getEnvComponentByEnvId","getEnvData","envsData","state","aspects","EnvsAspect","getEnvIdFromEnvsData","ignoreVersion","rawEnvId","envIdWithoutVersion","ComponentID","fromString","toStringWithoutVersion","getEnvId","envIdFromEnvData","withVersion","resolveEnv","withVersionMatch","toArray","withVersionMatchId","exactMatch","exactMatchId","EnvNotConfiguredForComponent","isUsingCoreEnv","isCoreEnv","getEnv","envDef","getEnvDefinitionByStringId","EnvNotFound","getEnvComponent","host","getHost","newId","resolveComponentId","BitError","getOrCalculateEnv","err","calculateEnv","getDescriptor","_this$resolveEnv","calcDescriptor","opts","componentDescriptor","getComponentEnvDescriptor","envComponentSelfDescriptor","getEnvSelfDescriptor","result","self","isEnvRegistered","getEnvFromComponent","services","getServices","selfDescriptor","getEnvDescriptorFromEnvDef","toObject","__getDescriptor","systemDescriptor","type","split","description","matchedEntry","entries","aspectEntry","calculateEnvId","envIdFromEnvsConfig","getEnvIdFromEnvsConfig","envIdFromEnvsConfigWithoutVersion","ids","findFirstEnv","finalId","getEnvDefinitionById","skipWarnings","printWarningIfFirstTime","envDefFromList","getAllEnvsConfiguredOnComponent","getEnvFromEnvsConfig","getEnvsNotFromEnvsConfig","hasEnvConfigured","Boolean","getAllRegisteredEnvs","map","envData","getEnvPlugin","EnvPlugin","calculateEnvIdFromExtensions","extensions","envsAspect","findCoreExtension","extension","newExtensionId","stringId","calculateEnvFromExtensions","getEnvDefinitionByLegacyExtension","isFoundWithoutVersion","pLocate","idWithoutVersion","isCoreAspect","envDefWithoutVersion","hasManifest","isUsingEnvEnv","finalEnvId","getEnvDefinition","allVersions","all","first","head","getEnvDefinitionByLegacyId","getEnvsEnvDefinition","message","alreadyShownWarning","consoleWarning","isUsingAspectEnv","isEnv","registerService","envServices","register","allServices","currentServices","service","implements","warn","EnvServiceList","registerEnv","addNonLoadedEnvAsComponentIssues","pMapSeries","envIdStr","foundComp","c","issues","getOrCreate","IssuesClasses","ExternalEnvWithoutVersion","componentId","NonLoadedEnv","Runtime","aggregateByDefs","throwForDuplicateComponents","envsMap","Promise","envAspectDef","getEnvAspectDef","EnvRuntime","resolvedAspects","resolveAspects","MainRuntime","requestedOnly","filterByRuntime","useScopeAspectsCapsule","def","idsStr","duplications","findDuplications","join","provider","graphql","loggerAspect","cli","worker","context","createLogger","envs","registerShowFragments","EnvFragment","registerAddComponentsIssues","envsCmd","EnvsCmd","commands","ListEnvsCmd","GetEnvCmd","environmentsSchema","Slot","withType","GraphqlAspect","LoggerAspect","ComponentAspect","CLIAspect","WorkerAspect","IssuesAspect","addRuntime"],"sources":["environments.main.runtime.ts"],"sourcesContent":["import { isCoreAspect } from '@teambit/bit';\nimport pLocate from 'p-locate';\nimport { parse } from 'comment-json';\nimport { SourceFile } from '@teambit/legacy/dist/consumer/component/sources';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { Component, ComponentAspect, ComponentMain, ComponentID } from '@teambit/component';\nimport { GraphqlAspect, GraphqlMain } from '@teambit/graphql';\nimport IssuesAspect, { IssuesMain } from '@teambit/issues';\nimport pMapSeries from 'p-map-series';\nimport { IssuesClasses } from '@teambit/component-issues';\nimport { Harmony, Slot, SlotRegistry } from '@teambit/harmony';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport type { AspectDefinition } from '@teambit/aspect-loader';\nimport { ExtensionDataList, ExtensionDataEntry } from '@teambit/legacy/dist/consumer/config/extension-data';\nimport { BitError } from '@teambit/bit-error';\nimport findDuplications from '@teambit/legacy/dist/utils/array/find-duplications';\nimport { head, uniq } from 'lodash';\nimport WorkerAspect, { WorkerMain } from '@teambit/worker';\nimport { BitId } from '@teambit/legacy-bit-id';\nimport { EnvService } from './services';\nimport { Environment } from './environment';\nimport { EnvsAspect } from './environments.aspect';\nimport { environmentsSchema } from './environments.graphql';\nimport { EnvRuntime, Runtime } from './runtime';\nimport { EnvDefinition } from './env-definition';\nimport { EnvServiceList } from './env-service-list';\nimport { EnvsCmd, GetEnvCmd, ListEnvsCmd } from './envs.cmd';\nimport { EnvFragment } from './env.fragment';\nimport { EnvNotFound, EnvNotConfiguredForComponent } from './exceptions';\nimport { EnvPlugin } from './env.plugin';\n\nexport type EnvsRegistry = SlotRegistry<Environment>;\n\nexport type EnvsConfig = {\n env: string;\n options: EnvOptions;\n};\n\ntype GetCalcEnvOptions = {\n skipWarnings?: boolean;\n};\n\nexport type EnvOptions = {};\n\nexport type EnvTransformer = (env: Environment) => Environment;\n\nexport type ServicesRegistry = SlotRegistry<Array<EnvService<any>>>;\n\nexport type RegularCompDescriptor = {\n id: string;\n icon?: string;\n type?: string;\n name?: string;\n description?: string;\n};\nexport type EnvCompDescriptorProps = RegularCompDescriptor & {\n services?: {\n env: {\n id: string;\n icon: string;\n name?: string;\n description?: string;\n };\n services: Array<{\n id: string;\n name?: string;\n description?: string;\n data: any;\n }>;\n };\n};\n\nexport type EnvCompDescriptor = EnvCompDescriptorProps & {\n self?: EnvCompDescriptorProps;\n};\n\nexport type Descriptor = RegularCompDescriptor | EnvCompDescriptor;\n\nexport const DEFAULT_ENV = 'teambit.harmony/node';\n\nexport class EnvsMain {\n /**\n * Envs that are failed to load\n */\n private failedToLoadEnvs = new Set<string>();\n /**\n * Extensions that are failed to load\n * We use this as sometime when we couldn't load an extension we don't know if it's an env or not\n * We should ideally take it from the aspect loader aspect, but right now the aspect loader is using envs\n */\n private failedToLoadExt = new Set<string>();\n /**\n * Ids of envs (not neccesrraly loaded successfully)\n */\n public envIds = new Set<string>();\n\n static runtime = MainRuntime;\n\n private alreadyShownWarning = {};\n\n /**\n * icon of the extension.\n */\n icon() {\n return `<svg width=\"50\" height=\"50\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle cx=\"25\" cy=\"25\" r=\"20\"/>\n </svg>`;\n }\n\n constructor(\n /**\n * environments extension configuration.\n */\n readonly config: EnvsConfig,\n\n /**\n * harmony context.\n */\n private harmony: Harmony,\n\n /**\n * slot for allowing extensions to register new environment.\n */\n private envSlot: EnvsRegistry,\n\n private logger: Logger,\n\n private servicesRegistry: ServicesRegistry,\n\n private componentMain: ComponentMain,\n\n private loggerMain: LoggerMain,\n\n private workerMain: WorkerMain\n ) {}\n\n /**\n * creates a new runtime environments for a set of components.\n */\n async createEnvironment(components: Component[]): Promise<Runtime> {\n return this.createRuntime(components);\n }\n\n /**\n *\n * @param id\n */\n /**\n * This function adds an extension ID to a set of failed to load extensions.\n * This mostly used by the aspect loader to add such issues\n * Then it is used to hide different errors that are caused by the same issue.\n * @param {string} id - string - represents the unique identifier of an extension that failed to load.\n */\n addFailedToLoadEnvs(id: string) {\n this.failedToLoadEnvs.add(id);\n this.envIds.add(id);\n }\n\n addFailedToLoadExt(id: string) {\n this.failedToLoadExt.add(id);\n if (this.envIds.has(id)) {\n this.addFailedToLoadEnvs(id);\n }\n }\n\n resetFailedToLoadEnvs() {\n this.failedToLoadEnvs.clear();\n this.failedToLoadExt.clear();\n }\n\n getFailedToLoadEnvs() {\n const failedToLoadEnvs = Array.from(this.failedToLoadEnvs);\n // Add all extensions which are also envs\n for (const extId of this.failedToLoadExt) {\n if (this.envIds.has(extId)) {\n failedToLoadEnvs.push(extId);\n }\n }\n return uniq(failedToLoadEnvs);\n }\n\n /**\n * get the configured default env.\n */\n getDefaultEnv(): EnvDefinition {\n const defaultEnv = this.envSlot.get(DEFAULT_ENV);\n if (!defaultEnv) throw new Error('default env must be set.');\n\n return new EnvDefinition(DEFAULT_ENV, defaultEnv);\n }\n\n getCoreEnvsIds(): string[] {\n return [\n 'teambit.harmony/aspect',\n 'teambit.react/react',\n 'teambit.harmony/node',\n 'teambit.react/react-native',\n 'teambit.html/html',\n 'teambit.mdx/mdx',\n 'teambit.envs/env',\n 'teambit.mdx/readme',\n 'teambit.harmony/bit-custom-aspect',\n ];\n }\n\n /**\n * compose a new environment from a list of environment transformers.\n */\n compose(targetEnv: Environment, envTransformers: EnvTransformer[]) {\n const a = envTransformers.reduce((acc, transformer) => {\n acc = transformer(acc);\n return acc;\n }, targetEnv);\n\n return a;\n }\n\n /**\n * create an env transformer which overrides specific env properties.\n */\n override(propsToOverride: Environment): EnvTransformer {\n return (env: Environment) => {\n return this.merge(propsToOverride, env);\n };\n }\n\n /**\n * compose two environments into one.\n */\n merge<T extends Environment, S extends Environment>(targetEnv: Environment, sourceEnv: Environment): T & S {\n const allNames = new Set<string>();\n const keys = ['icon', 'name', 'description'];\n for (let o = sourceEnv; o !== Object.prototype; o = Object.getPrototypeOf(o)) {\n for (const name of Object.getOwnPropertyNames(o)) {\n allNames.add(name);\n }\n }\n\n allNames.forEach((key: string) => {\n const fn = sourceEnv[key];\n if (targetEnv[key]) return;\n if (keys.includes(key)) targetEnv[key] = fn;\n if (!fn || !fn.bind) {\n return;\n }\n targetEnv[key] = fn.bind(sourceEnv);\n });\n\n return targetEnv as T & S;\n }\n\n /**\n * This function checks if an environment manifest file exists in a given component or set of legacy files.\n * @param {Component} [envComponent] - A component object that represents an environment. It contains information about\n * the files and directories that make up the environment.\n * @param {SourceFile[]} [legacyFiles] - An optional array of SourceFile objects representing the files in the legacy\n * file system. If this parameter is not provided, the function will attempt to retrieve the files from the envComponent\n * parameter.\n * @returns a boolean value indicating whether an `env.jsonc` or `env.json` file exists in the `files` array of either\n * the `envComponent` object or the `legacyFiles` array. If neither `envComponent` nor `legacyFiles` are provided, the\n * function returns `undefined`.\n */\n hasEnvManifest(envComponent?: Component, legacyFiles?: SourceFile[]): boolean | undefined {\n if (!envComponent && !legacyFiles) return undefined;\n // @ts-ignore\n const files = legacyFiles || envComponent.filesystem.files;\n const envJson = files.find((file) => {\n return file.relative === 'env.jsonc' || file.relative === 'env.json';\n });\n\n if (!envJson) return false;\n return true;\n }\n\n getEnvManifest(envComponent?: Component, legacyFiles?: SourceFile[]): Object | undefined {\n // TODO: maybe throw an error here?\n if (!envComponent && !legacyFiles) return undefined;\n // @ts-ignore\n const files = legacyFiles || envComponent.filesystem.files;\n const envJson = files.find((file) => {\n return file.relative === 'env.jsonc' || file.relative === 'env.json';\n });\n\n if (!envJson) return undefined;\n\n const object = parse(envJson.contents.toString('utf8'));\n return object;\n }\n\n async hasEnvManifestById(envId: string, requesting: string): Promise<boolean | undefined> {\n const component = await this.getEnvComponentByEnvId(envId, requesting);\n return this.hasEnvManifest(component);\n }\n\n getEnvData(component: Component): Descriptor {\n let envsData = component.state.aspects.get(EnvsAspect.id);\n if (!envsData) {\n // TODO: remove this once we re-export old components used to store the data here\n envsData = component.state.aspects.get('teambit.workspace/workspace');\n }\n if (!envsData) throw new Error(`env was not configured on component ${component.id.toString()}`);\n return envsData.data as Descriptor;\n }\n\n /**\n * Return the id of the env as configured in the envs data (without version by default)\n * The reason it's not contain version by default is that we want to take the version from the aspect defined on the component itself\n * As this version is stay up to date during tagging the env along with the component\n * @param component\n * @param ignoreVersion\n */\n private getEnvIdFromEnvsData(component: Component, ignoreVersion = true): string | undefined {\n const envsData = this.getEnvData(component);\n if (!envsData) return undefined;\n const rawEnvId = envsData.id;\n if (!rawEnvId) return undefined;\n if (!ignoreVersion) return rawEnvId;\n const envIdWithoutVersion = ComponentID.fromString(rawEnvId).toStringWithoutVersion();\n return envIdWithoutVersion;\n }\n\n /**\n * get the env id of the given component.\n */\n getEnvId(component: Component): string {\n const envIdFromEnvData = this.getEnvIdFromEnvsData(component);\n if (!envIdFromEnvData) {\n // This should never happen\n throw new Error(`no env found for ${component.id.toString()}`);\n }\n const withVersion = this.resolveEnv(component, envIdFromEnvData);\n const withVersionMatch = this.envSlot.toArray().find(([envId]) => {\n return withVersion?.toString() === envId;\n });\n const withVersionMatchId = withVersionMatch?.[0];\n if (withVersionMatchId) return withVersionMatchId;\n\n // Handle core envs\n const exactMatch = this.envSlot.toArray().find(([envId]) => {\n return envIdFromEnvData === envId;\n });\n\n const exactMatchId = exactMatch?.[0];\n if (exactMatchId) return exactMatchId;\n\n if (!withVersion) throw new EnvNotConfiguredForComponent(envIdFromEnvData, component.id.toString());\n return withVersion.toString();\n }\n\n isUsingCoreEnv(component: Component): boolean {\n const envId = this.getEnvId(component);\n return this.isCoreEnv(envId);\n }\n\n isCoreEnv(envId: string): boolean {\n return this.getCoreEnvsIds().includes(envId);\n }\n\n /**\n * get the env of the given component.\n * In case you are asking for the env during on load you should use calculateEnv instead\n */\n getEnv(component: Component): EnvDefinition {\n const id = this.getEnvId(component);\n const envDef = this.getEnvDefinitionByStringId(id);\n if (envDef) {\n return envDef;\n }\n // Do not allow a non existing env\n throw new EnvNotFound(id, component.id.toString());\n }\n\n /**\n * get the env component of the given component.\n */\n async getEnvComponent(component: Component): Promise<Component> {\n const envId = this.getEnvId(component);\n return this.getEnvComponentByEnvId(envId, component.id.toString());\n }\n\n /**\n * get the env component by the env id.\n */\n async getEnvComponentByEnvId(envId: string, requesting?: string): Promise<Component> {\n const host = this.componentMain.getHost();\n const newId = await host.resolveComponentId(envId);\n const envComponent = await host.get(newId);\n if (!envComponent) {\n throw new BitError(`can't load env. env id is ${envId} used by component ${requesting || 'unknown'}`);\n }\n return envComponent;\n }\n\n /**\n * get the env of the given component.\n * This will try to use the regular getEnv but fallback to the calculate env (in case you are using it during on load)\n * This is safe to be used on onLoad as well\n */\n getOrCalculateEnv(component: Component): EnvDefinition {\n try {\n return this.getEnv(component);\n } catch (err) {\n return this.calculateEnv(component);\n }\n }\n\n /**\n * get an environment Descriptor.\n */\n getDescriptor(component: Component): Descriptor | undefined {\n const envsData = this.getEnvData(component);\n envsData.id = this.resolveEnv(component, envsData.id)?.toString() || envsData.id;\n return envsData;\n }\n\n async calcDescriptor(component: Component, opts: GetCalcEnvOptions = {}): Promise<Descriptor | undefined> {\n const componentDescriptor = await this.getComponentEnvDescriptor(component, opts);\n if (!componentDescriptor) return undefined;\n const envComponentSelfDescriptor = await this.getEnvSelfDescriptor(component);\n const result = envComponentSelfDescriptor\n ? { ...componentDescriptor, self: envComponentSelfDescriptor }\n : componentDescriptor;\n return result;\n }\n\n /**\n * Get env descriptor from the env itself if the component is an env\n * This will be empty for regular component, and will only contain data for env themself\n */\n private async getEnvSelfDescriptor(envComponent: Component): Promise<EnvCompDescriptorProps | undefined> {\n // !important calculate only on the env itself.\n if (!this.isEnvRegistered(envComponent.id.toString())) {\n return undefined;\n }\n\n const envDef = this.getEnvFromComponent(envComponent);\n if (!envDef) return undefined;\n\n const services = this.getServices(envDef);\n // const selfDescriptor = (await this.getEnvDescriptorFromEnvDef(envDef)) || {};\n const selfDescriptor = await this.getEnvDescriptorFromEnvDef(envDef);\n\n if (!selfDescriptor) return undefined;\n return {\n ...selfDescriptor,\n services: services.toObject(),\n };\n }\n\n /**\n * Get env descriptor from the env that a given component is using\n */\n private async getComponentEnvDescriptor(\n component: Component,\n opts: GetCalcEnvOptions = {}\n ): Promise<RegularCompDescriptor | undefined> {\n const envDef = this.calculateEnv(component, opts);\n return this.getEnvDescriptorFromEnvDef(envDef);\n }\n\n private async getEnvDescriptorFromEnvDef(envDef: EnvDefinition): Promise<RegularCompDescriptor | undefined> {\n if (!envDef.env.__getDescriptor || typeof envDef.env.__getDescriptor !== 'function') {\n return undefined;\n }\n const systemDescriptor = await envDef.env.__getDescriptor();\n\n return {\n type: systemDescriptor.type,\n // Make sure to store the env id in the data without the version\n // The version should always come from the aspect id configured on the component\n id: envDef.id.split('@')[0],\n name: envDef.name,\n icon: envDef.env.icon,\n description: envDef.description,\n };\n }\n\n resolveEnv(component: Component, id: string) {\n const matchedEntry = component.state.aspects.entries.find((aspectEntry) => {\n return id === aspectEntry.id.toString() || id === aspectEntry.id.toString({ ignoreVersion: true });\n });\n\n return matchedEntry?.id;\n }\n\n /**\n * This used to calculate the actual env during the component load.\n * Do not use it to get the env (use getEnv instead)\n * This should be used only during on load\n */\n async calculateEnvId(component: Component): Promise<ComponentID> {\n // Search first for env configured via envs aspect itself\n const envIdFromEnvsConfig = this.getEnvIdFromEnvsConfig(component);\n // if (!envIdFromEnvsConfig) return this.getDefaultEnv();\n const envIdFromEnvsConfigWithoutVersion = envIdFromEnvsConfig\n ? ComponentID.fromString(envIdFromEnvsConfig).toStringWithoutVersion()\n : undefined;\n\n if (envIdFromEnvsConfig && this.isCoreEnv(envIdFromEnvsConfig)) {\n return ComponentID.fromString(envIdFromEnvsConfig);\n }\n\n // in some cases we have the id configured in the teambit.envs/envs but without the version\n // in such cases we won't find it in the slot\n // we search in the component aspect list a matching aspect which is match the id from the teambit.envs/envs\n if (envIdFromEnvsConfigWithoutVersion) {\n const matchedEntry = component.state.aspects.entries.find((aspectEntry) => {\n return (\n envIdFromEnvsConfigWithoutVersion === aspectEntry.id.toString() ||\n envIdFromEnvsConfigWithoutVersion === aspectEntry.id.toString({ ignoreVersion: true })\n );\n });\n\n if (matchedEntry?.id) return matchedEntry?.id;\n }\n\n // in case there is no config in teambit.envs/envs search the aspects for the first env that registered as env\n let ids: string[] = [];\n component.state.aspects.entries.forEach((aspectEntry) => {\n ids.push(aspectEntry.id.toString());\n // ids.push(aspectEntry.id.toString({ ignoreVersion: true }));\n });\n ids = uniq(ids);\n const envId = await this.findFirstEnv(ids);\n const finalId = envId || this.getDefaultEnv().id;\n return ComponentID.fromString(finalId);\n }\n\n /**\n * This used to calculate the actual env during the component load.\n * Do not use it to get the env (use getEnv instead)\n * This should be used only during on load\n */\n calculateEnv(component: Component, opts: GetCalcEnvOptions = {}): EnvDefinition {\n // Search first for env configured via envs aspect itself\n const envIdFromEnvsConfig = this.getEnvIdFromEnvsConfig(component);\n let envIdFromEnvsConfigWithoutVersion;\n if (envIdFromEnvsConfig) {\n envIdFromEnvsConfigWithoutVersion = ComponentID.fromString(envIdFromEnvsConfig).toStringWithoutVersion();\n const envDef = this.getEnvDefinitionByStringId(envIdFromEnvsConfigWithoutVersion);\n if (envDef) {\n this.envIds.add(envDef.id);\n return envDef;\n }\n }\n\n // in some cases we have the id configured in the teambit.envs/envs but without the version\n // in such cases we won't find it in the slot\n // we search in the component aspect list a matching aspect which is match the id from the teambit.envs/envs\n if (envIdFromEnvsConfigWithoutVersion) {\n const matchedEntry = component.state.aspects.entries.find((aspectEntry) => {\n return (\n envIdFromEnvsConfigWithoutVersion === aspectEntry.id.toString() ||\n envIdFromEnvsConfigWithoutVersion === aspectEntry.id.toString({ ignoreVersion: true })\n );\n });\n if (matchedEntry) {\n // during the tag process, the version in the aspect-entry-id is changed and is not the\n // same as it was when it registered to the slot.\n const envDef = this.getEnvDefinitionById(matchedEntry.id);\n if (envDef) {\n this.envIds.add(envDef.id);\n return envDef;\n }\n if (!opts.skipWarnings) {\n // Do not allow a non existing env\n this.printWarningIfFirstTime(\n matchedEntry.id.toString(),\n `environment with ID: ${matchedEntry.id.toString()} configured on component ${component.id.toString()} was not loaded (run \"bit install\")`\n );\n }\n }\n // Do not allow configure teambit.envs/envs on the component without configure the env aspect itself\n // const errMsg = new EnvNotConfiguredForComponent(envIdFromEnvsConfig as string, component.id.toString()).message;\n // this.printWarningIfFirstTime(envIdFromEnvsConfig as string, errMsg);\n }\n\n // in case there is no config in teambit.envs/envs search the aspects for the first env that registered as env\n let envDefFromList;\n component.state.aspects.entries.find((aspectEntry) => {\n const envDef = this.getEnvDefinitionById(aspectEntry.id);\n if (envDef) {\n envDefFromList = envDef;\n }\n return !!envDef;\n });\n\n if (envDefFromList) {\n this.envIds.add(envDefFromList.id);\n return envDefFromList;\n }\n return this.getDefaultEnv();\n }\n\n /**\n * an env can be configured on a component in two ways:\n * 1) explicitly inside \"teambit.envs/envs\". `{ \"teambit.envs/envs\": { \"env\": \"my-env\" } }`\n * 2) the env aspect is set on the variant as any other aspect, e.g. `{ \"my-env\": {} }`\n *\n * this method returns #1 if exists, otherwise, #2.\n */\n getAllEnvsConfiguredOnComponent(component: Component): EnvDefinition[] {\n // if a component has \"envs\" config, use it and ignore other components that are set up\n // in this components which happen to be envs.\n const envDef = this.getEnvFromEnvsConfig(component);\n if (envDef) {\n return [envDef];\n }\n\n return this.getEnvsNotFromEnvsConfig(component);\n }\n\n /**\n * whether a component has an env configured (either by variant or .bitmap).\n */\n hasEnvConfigured(component: Component): boolean {\n return Boolean(this.getAllEnvsConfiguredOnComponent(component).length);\n }\n\n getAllRegisteredEnvs(): string[] {\n return this.envSlot.toArray().map((envData) => envData[0]);\n }\n\n getEnvPlugin() {\n return new EnvPlugin(this.envSlot, this.servicesRegistry, this.loggerMain, this.workerMain, this.harmony);\n }\n\n /**\n * an env can be configured on a component in two ways:\n * 1) explicitly inside \"teambit.envs/envs\". `{ \"teambit.envs/envs\": { \"env\": \"my-env\" } }`\n * 2) the env aspect is set on the variant as any other aspect, e.g. `{ \"my-env\": {} }`\n *\n * this method returns only #1\n */\n getEnvFromEnvsConfig(component: Component): EnvDefinition | undefined {\n const envIdFromEnvsConfig = this.getEnvIdFromEnvsConfig(component);\n if (!envIdFromEnvsConfig) {\n return undefined;\n }\n const envIdFromEnvsConfigWithoutVersion = ComponentID.fromString(envIdFromEnvsConfig).toStringWithoutVersion();\n const envDef = this.getEnvDefinitionByStringId(envIdFromEnvsConfigWithoutVersion);\n return envDef;\n }\n\n /**\n * an env can be configured on a component in two ways:\n * 1) explicitly inside \"teambit.envs/envs\". `{ \"teambit.envs/envs\": { \"env\": \"my-env\" } }`\n * 2) the env aspect is set on the variant as any other aspect, e.g. `{ \"my-env\": {} }`\n *\n * this method returns only #2\n */\n getEnvsNotFromEnvsConfig(component: Component): EnvDefinition[] {\n return component.state.aspects.entries.reduce((acc: EnvDefinition[], aspectEntry) => {\n const envDef = this.getEnvDefinitionById(aspectEntry.id);\n if (envDef) acc.push(envDef);\n return acc;\n }, []);\n }\n\n /**\n * @deprecated DO NOT USE THIS METHOD ANYMORE!!! (PLEASE USE .calculateEnvId() instead!)\n */\n async calculateEnvIdFromExtensions(extensions: ExtensionDataList): Promise<string> {\n // Search first for env configured via envs aspect itself\n const envsAspect = extensions.findCoreExtension(EnvsAspect.id);\n const envIdFromEnvsConfig = envsAspect?.config.env;\n\n const envIdFromEnvsConfigWithoutVersion = envIdFromEnvsConfig\n ? ComponentID.fromString(envIdFromEnvsConfig).toStringWithoutVersion()\n : undefined;\n\n if (envIdFromEnvsConfig && this.isCoreEnv(envIdFromEnvsConfig)) {\n return envIdFromEnvsConfig;\n }\n\n // in some cases we have the id configured in the teambit.envs/envs but without the version\n // in such cases we won't find it in the slot\n // we search in the component aspect list a matching aspect which is match the id from the teambit.envs/envs\n if (envIdFromEnvsConfigWithoutVersion) {\n const matchedEntry = extensions.find((extension) => {\n if (extension.newExtensionId) {\n return (\n envIdFromEnvsConfigWithoutVersion === extension.newExtensionId.toString() ||\n envIdFromEnvsConfigWithoutVersion === extension.newExtensionId.toString({ ignoreVersion: true })\n );\n }\n return envIdFromEnvsConfigWithoutVersion === extension.stringId;\n });\n if (matchedEntry?.id) return matchedEntry?.stringId;\n }\n\n // in case there is no config in teambit.envs/envs search the aspects for the first env that registered as env\n const ids: string[] = [];\n extensions.forEach((extension) => {\n if (extension.newExtensionId) {\n ids.push(extension.newExtensionId.toString());\n // ids.push(extension.newExtensionId.toString({ ignoreVersion: true }));\n } else {\n ids.push(extension.stringId);\n }\n });\n const envId = await this.findFirstEnv(ids);\n const finalId = envId || this.getDefaultEnv().id;\n return finalId;\n }\n\n /**\n * @deprecated DO NOT USE THIS METHOD ANYMORE!!! (PLEASE USE .calculateEnv() instead!)\n */\n async calculateEnvFromExtensions(extensions: ExtensionDataList): Promise<EnvDefinition> {\n // Search first for env configured via envs aspect itself\n const envsAspect = extensions.findCoreExtension(EnvsAspect.id);\n const envIdFromEnvsConfig = envsAspect?.config.env;\n let envIdFromEnvsConfigWithoutVersion;\n\n if (envIdFromEnvsConfig) {\n envIdFromEnvsConfigWithoutVersion = ComponentID.fromString(envIdFromEnvsConfig).toStringWithoutVersion();\n const envDef = this.getEnvDefinitionByStringId(envIdFromEnvsConfigWithoutVersion);\n if (envDef) {\n this.envIds.add(envDef.id);\n return envDef;\n }\n }\n\n // in some cases we have the id configured in the teambit.envs/envs but without the version\n // in such cases we won't find it in the slot\n // we search in the component aspect list a matching aspect which is match the id from the teambit.envs/envs\n if (envIdFromEnvsConfigWithoutVersion) {\n const matchedEntry = extensions.find((extension) => {\n if (extension.newExtensionId) {\n return (\n envIdFromEnvsConfigWithoutVersion === extension.newExtensionId.toString() ||\n envIdFromEnvsConfigWithoutVersion === extension.newExtensionId.toString({ ignoreVersion: true })\n );\n }\n return envIdFromEnvsConfigWithoutVersion === extension.stringId;\n });\n if (matchedEntry) {\n // during the tag process, the version in the aspect-entry-id is changed and is not the\n // same as it was when it registered to the slot.\n const envDef = this.getEnvDefinitionByLegacyExtension(matchedEntry);\n if (envDef) {\n this.envIds.add(envDef.id);\n return envDef;\n }\n // Do not allow a non existing env\n // this.printWarningIfFirstTime(\n // matchedEntry.id.toString(),\n // `environment with ID: ${matchedEntry.id.toString()} was not found`\n // );\n }\n // Do not allow configure teambit.envs/envs on the component without configure the env aspect itself\n // const errMsg = new EnvNotConfiguredForComponent(envIdFromEnvsConfig).message;\n // this.printWarningIfFirstTime(envIdFromEnvsConfig, errMsg);\n }\n\n // in case there is no config in teambit.envs/envs search the aspects for the first env that registered as env\n const ids: string[] = [];\n extensions.forEach((extension) => {\n if (extension.newExtensionId) {\n ids.push(extension.newExtensionId.toString());\n // ids.push(extension.newExtensionId.toString({ ignoreVersion: true }));\n } else {\n ids.push(extension.stringId);\n }\n });\n const envId = await this.findFirstEnv(ids);\n const envDef = envId ? this.getEnvDefinitionByStringId(envId) : undefined;\n\n return envDef || this.getDefaultEnv();\n }\n\n /**\n * This function finds the first environment ID from a list of IDs by checking if it is register as env (to the slot).\n * or contains env.jsonc file\n * @param {string[]} ids - `ids` is an array of string values representing environment IDs. The function `findFirstEnv`\n * takes this array as input and returns a Promise that resolves to a string value representing the first environment ID\n * that matches certain conditions.\n * @returns The `findFirstEnv` function returns a Promise that resolves to a string or undefined. The string represents\n * the ID of the first environment that matches the conditions specified in the function, or undefined if no environment\n * is found.\n */\n private async findFirstEnv(ids: string[]): Promise<string | undefined> {\n let isFoundWithoutVersion = false;\n const envId = await pLocate(ids, async (id) => {\n const idWithoutVersion = id.split('@')[0];\n if (this.isCoreEnv(idWithoutVersion)) return true;\n if (isCoreAspect(idWithoutVersion)) return false;\n const envDef = this.getEnvDefinitionByStringId(id);\n if (envDef) return true;\n const envDefWithoutVersion = this.getEnvDefinitionByStringId(idWithoutVersion);\n if (envDefWithoutVersion) {\n isFoundWithoutVersion = true;\n return true;\n }\n const envComponent = await this.getEnvComponentByEnvId(id);\n const hasManifest = this.hasEnvManifest(envComponent);\n if (hasManifest) return true;\n const isUsingEnvEnv = this.isUsingEnvEnv(envComponent);\n return !!isUsingEnvEnv;\n });\n let finalEnvId;\n if (envId) {\n finalEnvId = isFoundWithoutVersion ? envId?.split('@')[0] : envId;\n this.envIds.add(envId);\n }\n return finalEnvId;\n }\n\n private getEnvDefinitionByLegacyExtension(extension: ExtensionDataEntry): EnvDefinition | undefined {\n const envDef = extension.newExtensionId\n ? this.getEnvDefinitionById(extension.newExtensionId)\n : this.getEnvDefinitionByStringId(extension.stringId);\n return envDef;\n }\n\n getEnvIdFromEnvsConfig(component: Component): string | undefined {\n const envsAspect = component.state.aspects.get(EnvsAspect.id);\n return envsAspect?.config.env;\n }\n\n getEnvDefinition(id: ComponentID) {\n const allVersions = this.envSlot.toArray();\n const all = allVersions.filter(([envId]) => envId.includes(id.toStringWithoutVersion()));\n const first = head(all);\n if (!first) return undefined;\n const [envId, env] = first;\n return new EnvDefinition(envId, env);\n }\n\n getEnvDefinitionById(id: ComponentID): EnvDefinition | undefined {\n const envDef =\n this.getEnvDefinitionByStringId(id.toString()) ||\n this.getEnvDefinitionByStringId(id.toString({ ignoreVersion: true }));\n return envDef;\n }\n\n async getEnvDefinitionByLegacyId(id: BitId): Promise<EnvDefinition | undefined> {\n const host = this.componentMain.getHost();\n const newId = await host.resolveComponentId(id);\n return this.getEnvDefinitionById(newId);\n }\n\n public getEnvDefinitionByStringId(envId: string): EnvDefinition | undefined {\n const env = this.envSlot.get(envId);\n if (env) {\n return new EnvDefinition(envId, env as Environment);\n }\n return undefined;\n }\n\n getEnvFromComponent(envComponent: Component): EnvDefinition | undefined {\n const env = this.getEnvDefinitionById(envComponent.id);\n return env;\n }\n\n /**\n * Return the env definition of teambit.envs/env\n */\n getEnvsEnvDefinition(): EnvDefinition {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return this.getEnvDefinitionByStringId('teambit.envs/env')!;\n }\n\n private printWarningIfFirstTime(envId: string, message: string) {\n if (!this.alreadyShownWarning[envId] && !this.failedToLoadEnvs.has(envId)) {\n this.alreadyShownWarning[envId] = true;\n this.logger.consoleWarning(message);\n this.addFailedToLoadEnvs(envId);\n }\n }\n\n /**\n * determines whether an env is registered.\n */\n public isEnvRegistered(id: string) {\n return Boolean(this.envSlot.get(id));\n }\n\n isUsingAspectEnv(component: Component): boolean {\n const data = this.getEnvData(component);\n if (!data) return false;\n return data.type === 'aspect';\n }\n\n isUsingEnvEnv(component: Component): boolean {\n const data = this.getEnvData(component);\n if (!data) return false;\n return data.type === 'env';\n }\n\n /**\n * Check if the given component is an env component.\n * @param component\n * @returns\n */\n isEnv(component: Component): boolean {\n return (\n this.isUsingEnvEnv(component) ||\n this.isEnvRegistered(component.id.toString()) ||\n this.isEnvRegistered(component.id.toStringWithoutVersion())\n );\n }\n\n /**\n * register a new environment service.\n */\n registerService(...envServices: EnvService<any>[]) {\n this.servicesRegistry.register(envServices);\n return this;\n }\n\n /**\n * get list of services enabled on an env.\n */\n getServices(env: EnvDefinition): EnvServiceList {\n const allServices = this.servicesRegistry.toArray();\n const services: [string, EnvService<any>][] = [];\n allServices.forEach(([id, currentServices]) => {\n currentServices.forEach((service) => {\n try {\n if (this.implements(env, service)) {\n services.push([id, service]);\n }\n } catch (err) {\n this.logger.warn(`failed loading service ${id} for env ${env.id}`);\n }\n });\n });\n return new EnvServiceList(env, services);\n }\n\n implements(env: EnvDefinition, service: EnvService<any>) {\n // TODO: remove this after refactoring everything and remove getDescriptor from being optional.\n if (!service.getDescriptor) return false;\n return !!service.getDescriptor(env);\n }\n\n /**\n * register an environment.\n */\n registerEnv(env: Environment) {\n return this.envSlot.register(env);\n }\n\n async addNonLoadedEnvAsComponentIssues(components: Component[]) {\n await pMapSeries(components, async (component) => {\n const envId = await this.calculateEnvId(component);\n const envIdStr = envId.toString();\n if (!this.isEnvRegistered(envIdStr)) {\n this.addFailedToLoadEnvs(envIdStr);\n // If there is no version and the env is not in the workspace this is not valid\n // you can't set external env without version\n if (!envIdStr.includes('@')) {\n const foundComp = components.find((c) => c.id.toStringWithoutVersion() === envIdStr);\n if (!foundComp) {\n component.state.issues.getOrCreate(IssuesClasses.ExternalEnvWithoutVersion).data = {\n envId: envIdStr,\n componentId: component.id.toString(),\n };\n } else {\n component.state.issues.getOrCreate(IssuesClasses.NonLoadedEnv).data = envIdStr;\n }\n } else {\n component.state.issues.getOrCreate(IssuesClasses.NonLoadedEnv).data = envIdStr;\n }\n }\n });\n }\n\n // refactor here\n private async createRuntime(components: Component[]): Promise<Runtime> {\n return new Runtime(await this.aggregateByDefs(components), this.logger);\n }\n\n // :TODO can be refactored to few utilities who will make repeating this very easy.\n private async aggregateByDefs(components: Component[]): Promise<EnvRuntime[]> {\n this.throwForDuplicateComponents(components);\n const envsMap = {};\n components.forEach((component: Component) => {\n const envDef = this.getEnv(component);\n const envId = envDef.id;\n const env = envDef.env;\n // handle config as well when aggregating envs.\n if (envsMap[envId]) envsMap[envId].components.push(component);\n else\n envsMap[envId] = {\n components: [component],\n env,\n };\n });\n\n return Promise.all(\n Object.keys(envsMap).map(async (key) => {\n const envAspectDef = await this.getEnvAspectDef(key);\n return new EnvRuntime(key, envsMap[key].env, envsMap[key].components, envAspectDef);\n })\n );\n }\n\n private async getEnvAspectDef(envId: string): Promise<AspectDefinition> {\n const host = this.componentMain.getHost();\n const id = await host.resolveComponentId(envId);\n // We don't want to filter by runtime here as we want to also get envs that configured as plugins. so they don't\n // contain the runtime path.\n const resolvedAspects = await host.resolveAspects(MainRuntime.name, [id], {\n requestedOnly: true,\n filterByRuntime: false,\n useScopeAspectsCapsule: true,\n });\n const def = resolvedAspects[0];\n\n return def;\n }\n\n private throwForDuplicateComponents(components: Component[]) {\n const idsStr = components.map((c) => c.id.toString());\n const duplications = findDuplications(idsStr);\n if (duplications.length) {\n throw new Error(`found duplicated components: ${duplications.join(', ')}`);\n }\n }\n\n static slots = [Slot.withType<Environment>(), Slot.withType<EnvService<any>>()];\n\n static dependencies = [GraphqlAspect, LoggerAspect, ComponentAspect, CLIAspect, WorkerAspect, IssuesAspect];\n\n static async provider(\n [graphql, loggerAspect, component, cli, worker, issues]: [\n GraphqlMain,\n LoggerMain,\n ComponentMain,\n CLIMain,\n WorkerMain,\n IssuesMain\n ],\n config: EnvsConfig,\n [envSlot, servicesRegistry]: [EnvsRegistry, ServicesRegistry],\n context: Harmony\n ) {\n const logger = loggerAspect.createLogger(EnvsAspect.id);\n const envs = new EnvsMain(config, context, envSlot, logger, servicesRegistry, component, loggerAspect, worker);\n component.registerShowFragments([new EnvFragment(envs)]);\n if (issues) issues.registerAddComponentsIssues(envs.addNonLoadedEnvAsComponentIssues.bind(envs));\n\n const envsCmd = new EnvsCmd(envs, component);\n envsCmd.commands = [new ListEnvsCmd(envs, component), new GetEnvCmd(envs, component)];\n cli.register(envsCmd);\n graphql.register(environmentsSchema(envs));\n return envs;\n }\n}\n\nEnvsAspect.addRuntime(EnvsMain);\n"],"mappings":"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"}
|
package/dist/envs.cmd.js
CHANGED
@@ -1,21 +1,9 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
-
require("core-js/modules/es.array.iterator.js");
|
5
|
-
require("core-js/modules/es.array.sort.js");
|
6
|
-
require("core-js/modules/es.promise.js");
|
7
|
-
require("core-js/modules/es.regexp.exec.js");
|
8
3
|
Object.defineProperty(exports, "__esModule", {
|
9
4
|
value: true
|
10
5
|
});
|
11
6
|
exports.ListEnvsCmd = exports.GetEnvCmd = exports.EnvsCmd = void 0;
|
12
|
-
function _defineProperty2() {
|
13
|
-
const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
14
|
-
_defineProperty2 = function () {
|
15
|
-
return data;
|
16
|
-
};
|
17
|
-
return data;
|
18
|
-
}
|
19
7
|
function _react() {
|
20
8
|
const data = _interopRequireDefault(require("react"));
|
21
9
|
_react = function () {
|
@@ -65,16 +53,18 @@ function _envOverview() {
|
|
65
53
|
};
|
66
54
|
return data;
|
67
55
|
}
|
68
|
-
|
69
|
-
|
56
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
57
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
58
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
59
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } // eslint-disable-next-line max-classes-per-file
|
70
60
|
class ListEnvsCmd {
|
71
61
|
constructor(envs, componentAspect) {
|
72
62
|
this.envs = envs;
|
73
63
|
this.componentAspect = componentAspect;
|
74
|
-
(
|
75
|
-
(
|
76
|
-
(
|
77
|
-
(
|
64
|
+
_defineProperty(this, "name", 'list');
|
65
|
+
_defineProperty(this, "description", 'list all envs currently used in the workspace');
|
66
|
+
_defineProperty(this, "options", []);
|
67
|
+
_defineProperty(this, "group", 'development');
|
78
68
|
}
|
79
69
|
async report() {
|
80
70
|
const allEnvs = this.envs.getAllRegisteredEnvs().join('\n');
|
@@ -87,15 +77,15 @@ class GetEnvCmd {
|
|
87
77
|
constructor(envs, componentAspect) {
|
88
78
|
this.envs = envs;
|
89
79
|
this.componentAspect = componentAspect;
|
90
|
-
(
|
91
|
-
(
|
92
|
-
(
|
80
|
+
_defineProperty(this, "name", 'get <component-name>');
|
81
|
+
_defineProperty(this, "description", "show config information from a component's env");
|
82
|
+
_defineProperty(this, "arguments", [{
|
93
83
|
name: 'component-name',
|
94
84
|
description: "the 'component name' or 'component id' of the component whose env you'd like to inspect"
|
95
85
|
}]);
|
96
|
-
(
|
97
|
-
(
|
98
|
-
(
|
86
|
+
_defineProperty(this, "examples", void 0);
|
87
|
+
_defineProperty(this, "options", [['', 'services <string>', 'show information about the specific services only. for multiple services, separate by a comma and wrap with quotes']]);
|
88
|
+
_defineProperty(this, "group", 'development');
|
99
89
|
}
|
100
90
|
async showEnv(id, host, servicesArr) {
|
101
91
|
const component = await host.get(await host.resolveComponentId(id));
|
@@ -139,14 +129,14 @@ class EnvsCmd {
|
|
139
129
|
constructor(envs, componentAspect) {
|
140
130
|
this.envs = envs;
|
141
131
|
this.componentAspect = componentAspect;
|
142
|
-
(
|
143
|
-
(
|
144
|
-
(
|
145
|
-
(
|
146
|
-
(
|
147
|
-
(
|
132
|
+
_defineProperty(this, "name", 'envs');
|
133
|
+
_defineProperty(this, "alias", 'env');
|
134
|
+
_defineProperty(this, "description", 'list all components maintained by the workspace and their corresponding envs');
|
135
|
+
_defineProperty(this, "options", []);
|
136
|
+
_defineProperty(this, "group", 'development');
|
137
|
+
_defineProperty(this, "commands", []);
|
148
138
|
// private showNonLoadedEnvsWarning = false;
|
149
|
-
(
|
139
|
+
_defineProperty(this, "nonLoadedEnvs", new Set());
|
150
140
|
}
|
151
141
|
async report() {
|
152
142
|
const host = this.componentAspect.getHost();
|
package/dist/envs.cmd.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_react","data","_interopRequireDefault","require","_pMapSeries","_ink","_chalk","_cliTable","_lodash","_envOverview","ListEnvsCmd","constructor","envs","componentAspect","_defineProperty2","default","report","allEnvs","getAllRegisteredEnvs","join","title","chalk","green","exports","GetEnvCmd","name","description","showEnv","id","host","servicesArr","component","get","resolveComponentId","Error","env","getEnv","envRuntime","createEnvironment","envExecutionContext","getEnvExecutionContext","services","getServices","allP","map","serviceId","service","includes","render","createElement","Text","bold","underline","color","Newline","key","all","compact","Promise","EnvOverview","envDef","item","getHost","split","undefined","EnvsCmd","Set","components","list","table","getTable","warning","getNonLoadedEnvsWarning","tableData","pMapSeries","envId","calculateEnvId","envIdStr","toString","isLoaded","isEnvRegistered","nonLoadedEnvs","add","envWithErr","red","header","value","CLITable","fromObject","sort","size","Array","from","values","yellow","cyan"],"sources":["envs.cmd.tsx"],"sourcesContent":["// eslint-disable-next-line max-classes-per-file\nimport React from 'react';\nimport pMapSeries from 'p-map-series';\nimport { Text, Newline } from 'ink';\nimport chalk from 'chalk';\nimport { CLITable } from '@teambit/cli-table';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { compact } from 'lodash';\nimport { ComponentMain, ComponentFactory, Component } from '@teambit/component';\nimport { EnvsMain } from './environments.main.runtime';\nimport { EnvOverview } from './components/env-overview';\n\nexport class ListEnvsCmd implements Command {\n name = 'list';\n description = 'list all envs currently used in the workspace';\n options = [];\n group = 'development';\n\n constructor(private envs: EnvsMain, private componentAspect: ComponentMain) {}\n\n async report() {\n const allEnvs = this.envs.getAllRegisteredEnvs().join('\\n');\n const title = chalk.green('the following envs are available in the workspace:');\n return `${title}\\n${allEnvs}`;\n }\n}\n\ntype GetEnvOpts = {\n services: string;\n};\n\nexport class GetEnvCmd implements Command {\n name = 'get <component-name>';\n description = \"show config information from a component's env\";\n arguments = [\n {\n name: 'component-name',\n description: \"the 'component name' or 'component id' of the component whose env you'd like to inspect\",\n },\n ];\n examples: [{ cmd: 'get ui/button'; description: 'show config information from the env configured for ui/button' }];\n options = [\n [\n '',\n 'services <string>',\n 'show information about the specific services only. for multiple services, separate by a comma and wrap with quotes',\n ],\n ] as CommandOptions;\n group = 'development';\n\n constructor(private envs: EnvsMain, private componentAspect: ComponentMain) {}\n\n async showEnv(id: string, host: ComponentFactory, servicesArr: string[] | undefined) {\n const component = await host.get(await host.resolveComponentId(id));\n if (!component) throw new Error(`component for env ${id} was not found`);\n const env = this.envs.getEnv(component);\n const envRuntime = await this.envs.createEnvironment([component]);\n const envExecutionContext = envRuntime.getEnvExecutionContext();\n const services = this.envs.getServices(env);\n const allP = services.services.map(async ([serviceId, service]) => {\n if (servicesArr && !servicesArr.includes(serviceId)) return null;\n if (service.render)\n return (\n <Text>\n <Text bold underline color=\"cyan\">\n {serviceId}\n </Text>\n <Newline />\n <Newline />\n {await service.render(env, envExecutionContext)}\n </Text>\n );\n return (\n <Text key={serviceId}>\n <Text bold underline>\n {serviceId}\n </Text>\n </Text>\n );\n });\n\n const all = compact(await Promise.all(allP));\n\n return (\n <Text>\n <EnvOverview envDef={env} />\n {all.map((item) => item)}\n </Text>\n );\n }\n\n async render([name]: [string], { services }: GetEnvOpts): Promise<JSX.Element> {\n const host = this.componentAspect.getHost();\n const servicesArr = services ? services.split(',') : undefined;\n\n // TODO: think what to do re this line with gilad.\n if (!host) throw new Error('error: workspace not found');\n return this.showEnv(name, host, servicesArr);\n }\n}\n\nexport class EnvsCmd implements Command {\n name = 'envs';\n alias = 'env';\n description = 'list all components maintained by the workspace and their corresponding envs';\n options = [];\n group = 'development';\n commands: Command[] = [];\n\n // private showNonLoadedEnvsWarning = false;\n private nonLoadedEnvs = new Set<string>();\n\n constructor(private envs: EnvsMain, private componentAspect: ComponentMain) {}\n\n async report(): Promise<string> {\n const host = this.componentAspect.getHost();\n // TODO: think what to do re this line with gilad.\n if (!host) throw new Error('error: workspace not found');\n const components = await host.list();\n const table = await this.getTable(components);\n const warning = this.getNonLoadedEnvsWarning();\n return warning ? `${table}\\n${warning}` : table;\n }\n\n private async getTable(components: Component[]) {\n const tableData = await pMapSeries(components, async (component) => {\n // const envId = this.envs.getEnvId(component);\n const envId = await this.envs.calculateEnvId(component);\n const envIdStr = envId.toString();\n const isLoaded = this.envs.isEnvRegistered(envIdStr);\n if (!isLoaded) {\n this.nonLoadedEnvs.add(envIdStr);\n }\n const envWithErr = isLoaded ? envIdStr : `${envIdStr} ${chalk.red('(not loaded)')}`;\n return {\n component: component.id.toString(),\n env: envWithErr,\n };\n });\n\n const header = [\n {\n value: 'component',\n },\n {\n value: 'env',\n },\n ];\n const table = CLITable.fromObject(header, tableData);\n table.sort();\n return table.render();\n }\n\n getNonLoadedEnvsWarning() {\n if (!this.nonLoadedEnvs.size) return '';\n const list = Array.from(this.nonLoadedEnvs.values()).join(',');\n return chalk.yellow(`warning: bit wasn't able to load the following envs: ${chalk.cyan(list)}.\nplease run ${chalk.cyan(\"'bit install'\")} to fix. if this doesn't help, run ${chalk.cyan(\n \"'bit status'\"\n )} to see if there are any additional issues`);\n }\n}\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["_react","data","_interopRequireDefault","require","_pMapSeries","_ink","_chalk","_cliTable","_lodash","_envOverview","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","ListEnvsCmd","constructor","envs","componentAspect","report","allEnvs","getAllRegisteredEnvs","join","title","chalk","green","exports","GetEnvCmd","name","description","showEnv","id","host","servicesArr","component","get","resolveComponentId","Error","env","getEnv","envRuntime","createEnvironment","envExecutionContext","getEnvExecutionContext","services","getServices","allP","map","serviceId","service","includes","render","createElement","Text","bold","underline","color","Newline","all","compact","Promise","EnvOverview","envDef","item","getHost","split","EnvsCmd","Set","components","list","table","getTable","warning","getNonLoadedEnvsWarning","tableData","pMapSeries","envId","calculateEnvId","envIdStr","toString","isLoaded","isEnvRegistered","nonLoadedEnvs","add","envWithErr","red","header","CLITable","fromObject","sort","size","Array","from","values","yellow","cyan"],"sources":["envs.cmd.tsx"],"sourcesContent":["// eslint-disable-next-line max-classes-per-file\nimport React from 'react';\nimport pMapSeries from 'p-map-series';\nimport { Text, Newline } from 'ink';\nimport chalk from 'chalk';\nimport { CLITable } from '@teambit/cli-table';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { compact } from 'lodash';\nimport { ComponentMain, ComponentFactory, Component } from '@teambit/component';\nimport { EnvsMain } from './environments.main.runtime';\nimport { EnvOverview } from './components/env-overview';\n\nexport class ListEnvsCmd implements Command {\n name = 'list';\n description = 'list all envs currently used in the workspace';\n options = [];\n group = 'development';\n\n constructor(private envs: EnvsMain, private componentAspect: ComponentMain) {}\n\n async report() {\n const allEnvs = this.envs.getAllRegisteredEnvs().join('\\n');\n const title = chalk.green('the following envs are available in the workspace:');\n return `${title}\\n${allEnvs}`;\n }\n}\n\ntype GetEnvOpts = {\n services: string;\n};\n\nexport class GetEnvCmd implements Command {\n name = 'get <component-name>';\n description = \"show config information from a component's env\";\n arguments = [\n {\n name: 'component-name',\n description: \"the 'component name' or 'component id' of the component whose env you'd like to inspect\",\n },\n ];\n examples: [{ cmd: 'get ui/button'; description: 'show config information from the env configured for ui/button' }];\n options = [\n [\n '',\n 'services <string>',\n 'show information about the specific services only. for multiple services, separate by a comma and wrap with quotes',\n ],\n ] as CommandOptions;\n group = 'development';\n\n constructor(private envs: EnvsMain, private componentAspect: ComponentMain) {}\n\n async showEnv(id: string, host: ComponentFactory, servicesArr: string[] | undefined) {\n const component = await host.get(await host.resolveComponentId(id));\n if (!component) throw new Error(`component for env ${id} was not found`);\n const env = this.envs.getEnv(component);\n const envRuntime = await this.envs.createEnvironment([component]);\n const envExecutionContext = envRuntime.getEnvExecutionContext();\n const services = this.envs.getServices(env);\n const allP = services.services.map(async ([serviceId, service]) => {\n if (servicesArr && !servicesArr.includes(serviceId)) return null;\n if (service.render)\n return (\n <Text>\n <Text bold underline color=\"cyan\">\n {serviceId}\n </Text>\n <Newline />\n <Newline />\n {await service.render(env, envExecutionContext)}\n </Text>\n );\n return (\n <Text key={serviceId}>\n <Text bold underline>\n {serviceId}\n </Text>\n </Text>\n );\n });\n\n const all = compact(await Promise.all(allP));\n\n return (\n <Text>\n <EnvOverview envDef={env} />\n {all.map((item) => item)}\n </Text>\n );\n }\n\n async render([name]: [string], { services }: GetEnvOpts): Promise<JSX.Element> {\n const host = this.componentAspect.getHost();\n const servicesArr = services ? services.split(',') : undefined;\n\n // TODO: think what to do re this line with gilad.\n if (!host) throw new Error('error: workspace not found');\n return this.showEnv(name, host, servicesArr);\n }\n}\n\nexport class EnvsCmd implements Command {\n name = 'envs';\n alias = 'env';\n description = 'list all components maintained by the workspace and their corresponding envs';\n options = [];\n group = 'development';\n commands: Command[] = [];\n\n // private showNonLoadedEnvsWarning = false;\n private nonLoadedEnvs = new Set<string>();\n\n constructor(private envs: EnvsMain, private componentAspect: ComponentMain) {}\n\n async report(): Promise<string> {\n const host = this.componentAspect.getHost();\n // TODO: think what to do re this line with gilad.\n if (!host) throw new Error('error: workspace not found');\n const components = await host.list();\n const table = await this.getTable(components);\n const warning = this.getNonLoadedEnvsWarning();\n return warning ? `${table}\\n${warning}` : table;\n }\n\n private async getTable(components: Component[]) {\n const tableData = await pMapSeries(components, async (component) => {\n // const envId = this.envs.getEnvId(component);\n const envId = await this.envs.calculateEnvId(component);\n const envIdStr = envId.toString();\n const isLoaded = this.envs.isEnvRegistered(envIdStr);\n if (!isLoaded) {\n this.nonLoadedEnvs.add(envIdStr);\n }\n const envWithErr = isLoaded ? envIdStr : `${envIdStr} ${chalk.red('(not loaded)')}`;\n return {\n component: component.id.toString(),\n env: envWithErr,\n };\n });\n\n const header = [\n {\n value: 'component',\n },\n {\n value: 'env',\n },\n ];\n const table = CLITable.fromObject(header, tableData);\n table.sort();\n return table.render();\n }\n\n getNonLoadedEnvsWarning() {\n if (!this.nonLoadedEnvs.size) return '';\n const list = Array.from(this.nonLoadedEnvs.values()).join(',');\n return chalk.yellow(`warning: bit wasn't able to load the following envs: ${chalk.cyan(list)}.\nplease run ${chalk.cyan(\"'bit install'\")} to fix. if this doesn't help, run ${chalk.cyan(\n \"'bit status'\"\n )} to see if there are any additional issues`);\n }\n}\n"],"mappings":"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"}
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.envs_envs@0.0.
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.envs_envs@0.0.
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.envs_envs@0.0.1160/dist/env.composition.js';
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.envs_envs@0.0.1160/dist/envs.docs.mdx';
|
3
3
|
|
4
4
|
export const compositions = [compositions_0];
|
5
5
|
export const overview = [overview_0];
|
package/dist/runtime/runtime.js
CHANGED
@@ -1,7 +1,5 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
-
require("core-js/modules/es.promise.js");
|
5
3
|
Object.defineProperty(exports, "__esModule", {
|
6
4
|
value: true
|
7
5
|
});
|
@@ -41,6 +39,7 @@ function _envsExecutionResult() {
|
|
41
39
|
};
|
42
40
|
return data;
|
43
41
|
}
|
42
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
44
43
|
class Runtime {
|
45
44
|
constructor(
|
46
45
|
/**
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_component","data","require","_pMapSeries","_interopRequireDefault","_exceptions","_context","_envsExecutionResult","Runtime","constructor","runtimeEnvs","logger","runEnv","envRuntimeId","service","options","envRuntime","find","runtime","id","ComponentID","fromString","withoutVersion","_legacy","toStringWithoutVersion","EnvNotFoundInRuntime","run","runOnce","Error","envsExecutionContext","getEnvExecutionContext","serviceResult","map","env","ExecutionContext","runtimes","errors","contexts","mapSeries","err","error","message","consoleFailure","name","push","EnvsExecutionResult","exports"],"sources":["runtime.ts"],"sourcesContent":["import { Logger } from '@teambit/logger';\nimport { ComponentID } from '@teambit/component';\nimport mapSeries from 'p-map-series';\nimport { EnvNotFoundInRuntime } from '../exceptions';\nimport { ExecutionContext } from '../context';\nimport { EnvService, ServiceExecutionResult } from '../services';\nimport { EnvRuntime } from './env-runtime';\nimport { EnvsExecutionResult } from './envs-execution-result';\n\nexport interface EnvResult<T extends ServiceExecutionResult> {\n env: EnvRuntime;\n data?: T;\n error?: Error;\n}\n\nexport class Runtime {\n constructor(\n /**\n * runtime instances of the environments.\n */\n readonly runtimeEnvs: EnvRuntime[],\n\n private logger: Logger\n ) {}\n\n /**\n * execute a service on a specific env.\n */\n runEnv<T extends ServiceExecutionResult>(\n envRuntimeId: string,\n service: EnvService<T>,\n options?: { [key: string]: any }\n ): Promise<EnvsExecutionResult<T>> {\n const envRuntime = this.runtimeEnvs.find((runtime) => {\n const id = ComponentID.fromString(runtime.id);\n const withoutVersion = id._legacy.toStringWithoutVersion();\n return withoutVersion === envRuntimeId;\n });\n if (!envRuntime) throw new EnvNotFoundInRuntime(envRuntimeId);\n return this.run(service, options, [envRuntime]);\n }\n\n /**\n * execute a service once for all environments.\n */\n async runOnce<T extends ServiceExecutionResult>(\n service: EnvService<T>,\n options?: { [key: string]: any }\n ): Promise<any> {\n if (!service.runOnce) throw new Error('a service must implement `runOnce()` in order to be executed');\n const envsExecutionContext = this.getEnvExecutionContext();\n const serviceResult = await service.runOnce(envsExecutionContext, options);\n return serviceResult;\n }\n\n getEnvExecutionContext(): ExecutionContext[] {\n const envsExecutionContext = this.runtimeEnvs.map((env) => new ExecutionContext(this, env));\n return envsExecutionContext;\n }\n\n /**\n * execute a service on each one of the environments.\n */\n async run<T extends ServiceExecutionResult>(\n /**\n * environment service to execute.\n */\n service: EnvService<T>,\n\n /**\n * options to proxy to the service upon execution.\n */\n options?: { [key: string]: any },\n runtimes?: EnvRuntime[]\n ): Promise<EnvsExecutionResult<T>> {\n if (!service.run) throw new Error('a service must implement `run()` in order to be executed');\n const errors: Error[] = [];\n const contexts: EnvResult<T>[] = await mapSeries(runtimes || this.runtimeEnvs, async (env) => {\n try {\n // @ts-ignore\n const serviceResult = await service.run(new ExecutionContext(this, env), options);\n\n return {\n env,\n data: serviceResult,\n };\n } catch (err: any) {\n this.logger.error(err.message, err);\n this.logger.consoleFailure(`service \"${service.name}\" of env \"${env.id}\" has failed. error: ${err.message}`);\n errors.push(err);\n return {\n env,\n error: err,\n };\n }\n });\n\n return new EnvsExecutionResult(contexts);\n }\n}\n"],"mappings":"
|
1
|
+
{"version":3,"names":["_component","data","require","_pMapSeries","_interopRequireDefault","_exceptions","_context","_envsExecutionResult","obj","__esModule","default","Runtime","constructor","runtimeEnvs","logger","runEnv","envRuntimeId","service","options","envRuntime","find","runtime","id","ComponentID","fromString","withoutVersion","_legacy","toStringWithoutVersion","EnvNotFoundInRuntime","run","runOnce","Error","envsExecutionContext","getEnvExecutionContext","serviceResult","map","env","ExecutionContext","runtimes","errors","contexts","mapSeries","err","error","message","consoleFailure","name","push","EnvsExecutionResult","exports"],"sources":["runtime.ts"],"sourcesContent":["import { Logger } from '@teambit/logger';\nimport { ComponentID } from '@teambit/component';\nimport mapSeries from 'p-map-series';\nimport { EnvNotFoundInRuntime } from '../exceptions';\nimport { ExecutionContext } from '../context';\nimport { EnvService, ServiceExecutionResult } from '../services';\nimport { EnvRuntime } from './env-runtime';\nimport { EnvsExecutionResult } from './envs-execution-result';\n\nexport interface EnvResult<T extends ServiceExecutionResult> {\n env: EnvRuntime;\n data?: T;\n error?: Error;\n}\n\nexport class Runtime {\n constructor(\n /**\n * runtime instances of the environments.\n */\n readonly runtimeEnvs: EnvRuntime[],\n\n private logger: Logger\n ) {}\n\n /**\n * execute a service on a specific env.\n */\n runEnv<T extends ServiceExecutionResult>(\n envRuntimeId: string,\n service: EnvService<T>,\n options?: { [key: string]: any }\n ): Promise<EnvsExecutionResult<T>> {\n const envRuntime = this.runtimeEnvs.find((runtime) => {\n const id = ComponentID.fromString(runtime.id);\n const withoutVersion = id._legacy.toStringWithoutVersion();\n return withoutVersion === envRuntimeId;\n });\n if (!envRuntime) throw new EnvNotFoundInRuntime(envRuntimeId);\n return this.run(service, options, [envRuntime]);\n }\n\n /**\n * execute a service once for all environments.\n */\n async runOnce<T extends ServiceExecutionResult>(\n service: EnvService<T>,\n options?: { [key: string]: any }\n ): Promise<any> {\n if (!service.runOnce) throw new Error('a service must implement `runOnce()` in order to be executed');\n const envsExecutionContext = this.getEnvExecutionContext();\n const serviceResult = await service.runOnce(envsExecutionContext, options);\n return serviceResult;\n }\n\n getEnvExecutionContext(): ExecutionContext[] {\n const envsExecutionContext = this.runtimeEnvs.map((env) => new ExecutionContext(this, env));\n return envsExecutionContext;\n }\n\n /**\n * execute a service on each one of the environments.\n */\n async run<T extends ServiceExecutionResult>(\n /**\n * environment service to execute.\n */\n service: EnvService<T>,\n\n /**\n * options to proxy to the service upon execution.\n */\n options?: { [key: string]: any },\n runtimes?: EnvRuntime[]\n ): Promise<EnvsExecutionResult<T>> {\n if (!service.run) throw new Error('a service must implement `run()` in order to be executed');\n const errors: Error[] = [];\n const contexts: EnvResult<T>[] = await mapSeries(runtimes || this.runtimeEnvs, async (env) => {\n try {\n // @ts-ignore\n const serviceResult = await service.run(new ExecutionContext(this, env), options);\n\n return {\n env,\n data: serviceResult,\n };\n } catch (err: any) {\n this.logger.error(err.message, err);\n this.logger.consoleFailure(`service \"${service.name}\" of env \"${env.id}\" has failed. error: ${err.message}`);\n errors.push(err);\n return {\n env,\n error: err,\n };\n }\n });\n\n return new EnvsExecutionResult(contexts);\n }\n}\n"],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
{
|
2
2
|
"name": "@teambit/envs",
|
3
|
-
"version": "0.0.
|
3
|
+
"version": "0.0.1160",
|
4
4
|
"homepage": "https://bit.cloud/teambit/envs/envs",
|
5
5
|
"main": "dist/index.js",
|
6
6
|
"componentId": {
|
7
7
|
"scope": "teambit.envs",
|
8
8
|
"name": "envs",
|
9
|
-
"version": "0.0.
|
9
|
+
"version": "0.0.1160"
|
10
10
|
},
|
11
11
|
"dependencies": {
|
12
12
|
"chalk": "2.4.2",
|
@@ -16,33 +16,31 @@
|
|
16
16
|
"p-locate": "5.0.0",
|
17
17
|
"p-map-series": "2.1.0",
|
18
18
|
"ink": "3.2.0",
|
19
|
-
"core-js": "^3.0.0",
|
20
|
-
"@babel/runtime": "7.20.0",
|
21
19
|
"@teambit/harmony": "0.4.6",
|
22
20
|
"@teambit/legacy-bit-id": "1.0.0",
|
23
|
-
"@teambit/component": "0.0.
|
24
|
-
"@teambit/aspect-loader": "0.0.
|
25
|
-
"@teambit/cli": "0.0.
|
26
|
-
"@teambit/logger": "0.0.
|
27
|
-
"@teambit/worker": "0.0.
|
28
|
-
"@teambit/builder": "0.0.
|
29
|
-
"@teambit/bundler": "0.0.
|
30
|
-
"@teambit/compiler": "0.0.
|
31
|
-
"@teambit/dependency-resolver": "0.0.
|
32
|
-
"@teambit/elements": "0.0.
|
33
|
-
"@teambit/formatter": "0.0.
|
34
|
-
"@teambit/isolator": "0.0.
|
35
|
-
"@teambit/linter": "0.0.
|
36
|
-
"@teambit/pkg": "0.0.
|
37
|
-
"@teambit/preview": "0.0.
|
38
|
-
"@teambit/schema": "0.0.
|
39
|
-
"@teambit/tester": "0.0.
|
40
|
-
"@teambit/webpack": "0.0.
|
41
|
-
"@teambit/graphql": "0.0.
|
21
|
+
"@teambit/component": "0.0.1160",
|
22
|
+
"@teambit/aspect-loader": "0.0.1160",
|
23
|
+
"@teambit/cli": "0.0.774",
|
24
|
+
"@teambit/logger": "0.0.867",
|
25
|
+
"@teambit/worker": "0.0.1078",
|
26
|
+
"@teambit/builder": "0.0.1160",
|
27
|
+
"@teambit/bundler": "0.0.1160",
|
28
|
+
"@teambit/compiler": "0.0.1160",
|
29
|
+
"@teambit/dependency-resolver": "0.0.1160",
|
30
|
+
"@teambit/elements": "0.0.613",
|
31
|
+
"@teambit/formatter": "0.0.711",
|
32
|
+
"@teambit/isolator": "0.0.1160",
|
33
|
+
"@teambit/linter": "0.0.1160",
|
34
|
+
"@teambit/pkg": "0.0.1160",
|
35
|
+
"@teambit/preview": "0.0.1160",
|
36
|
+
"@teambit/schema": "0.0.1160",
|
37
|
+
"@teambit/tester": "0.0.1160",
|
38
|
+
"@teambit/webpack": "0.0.1160",
|
39
|
+
"@teambit/graphql": "0.0.1160",
|
42
40
|
"@teambit/bit-error": "0.0.402",
|
43
|
-
"@teambit/bit": "0.2.
|
41
|
+
"@teambit/bit": "0.2.53",
|
44
42
|
"@teambit/component-issues": "0.0.95",
|
45
|
-
"@teambit/issues": "0.0.
|
43
|
+
"@teambit/issues": "0.0.468",
|
46
44
|
"@teambit/cli-table": "0.0.41"
|
47
45
|
},
|
48
46
|
"devDependencies": {
|
@@ -53,10 +51,10 @@
|
|
53
51
|
"@types/react-dom": "^17.0.5",
|
54
52
|
"@types/jest": "^26.0.0",
|
55
53
|
"@types/testing-library__jest-dom": "5.9.5",
|
56
|
-
"@teambit/envs.aspect-docs.envs": "0.0.
|
54
|
+
"@teambit/envs.aspect-docs.envs": "0.0.157"
|
57
55
|
},
|
58
56
|
"peerDependencies": {
|
59
|
-
"@teambit/legacy": "1.0.
|
57
|
+
"@teambit/legacy": "1.0.559",
|
60
58
|
"react": "^16.8.0 || ^17.0.0",
|
61
59
|
"react-dom": "^16.8.0 || ^17.0.0"
|
62
60
|
},
|