@teambit/bundler 0.0.945 → 0.0.947
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/bundler.service.tsx +20 -0
- package/dev-server.service.tsx +31 -1
- package/dist/bundler.main.runtime.js +8 -1
- package/dist/bundler.main.runtime.js.map +1 -1
- package/dist/bundler.service.d.ts +11 -0
- package/dist/bundler.service.js +30 -0
- package/dist/bundler.service.js.map +1 -0
- package/dist/dev-server.service.d.ts +16 -1
- package/dist/dev-server.service.js +13 -0
- package/dist/dev-server.service.js.map +1 -1
- package/dist/{preview-1672284308356.js → preview-1672370816000.js} +2 -2
- package/package-tar/teambit-bundler-0.0.947.tgz +0 -0
- package/package.json +10 -10
- package/package-tar/teambit-bundler-0.0.945.tgz +0 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { EnvService, Env, EnvContext, ServiceTransformationMap } from '@teambit/envs';
|
|
2
|
+
import { Bundler } from './bundler';
|
|
3
|
+
import { BundlerContext } from './bundler-context';
|
|
4
|
+
|
|
5
|
+
type BundlerTransformationMap = ServiceTransformationMap & {
|
|
6
|
+
getBundler?: (context: BundlerContext) => Promise<Bundler>;
|
|
7
|
+
}
|
|
8
|
+
export class BundlerService implements EnvService<any> {
|
|
9
|
+
name = 'bundler';
|
|
10
|
+
|
|
11
|
+
transform(env: Env, envContext: EnvContext): BundlerTransformationMap | undefined {
|
|
12
|
+
// Old env
|
|
13
|
+
if (!env?.preview) return undefined;
|
|
14
|
+
const preview = env.preview()(envContext);
|
|
15
|
+
|
|
16
|
+
return {
|
|
17
|
+
getBundler: (context) => preview.getBundler(context)(envContext),
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
package/dev-server.service.tsx
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EnvService, ExecutionContext, EnvDefinition } from '@teambit/envs';
|
|
1
|
+
import { EnvService, ExecutionContext, EnvDefinition, Env, EnvContext, ServiceTransformationMap } from '@teambit/envs';
|
|
2
2
|
import { PubsubMain } from '@teambit/pubsub';
|
|
3
3
|
import { flatten } from 'lodash';
|
|
4
4
|
import React from 'react';
|
|
@@ -15,6 +15,21 @@ import { getEntry } from './get-entry';
|
|
|
15
15
|
|
|
16
16
|
export type DevServerServiceOptions = { dedicatedEnvDevServers?: string[] };
|
|
17
17
|
|
|
18
|
+
type DevServiceTransformationMap = ServiceTransformationMap & {
|
|
19
|
+
/**
|
|
20
|
+
* Required for `bit start`
|
|
21
|
+
*/
|
|
22
|
+
getDevEnvId?: (context?: any) => string;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Returns and configures the dev server
|
|
26
|
+
* Required for `bit start`
|
|
27
|
+
*/
|
|
28
|
+
getDevServer?: (
|
|
29
|
+
context: DevServerContext,
|
|
30
|
+
) => DevServer | Promise<DevServer>;
|
|
31
|
+
}
|
|
32
|
+
|
|
18
33
|
export type DevServerDescriptor = {
|
|
19
34
|
/**
|
|
20
35
|
* id of the dev server (e.g. jest/mocha)
|
|
@@ -95,6 +110,21 @@ export class DevServerService implements EnvService<ComponentServer, DevServerDe
|
|
|
95
110
|
};
|
|
96
111
|
}
|
|
97
112
|
|
|
113
|
+
transform(env: Env, envContext: EnvContext): DevServiceTransformationMap | undefined {
|
|
114
|
+
// Old env
|
|
115
|
+
if (!env?.preview) return undefined;
|
|
116
|
+
const preview = env.preview()(envContext);
|
|
117
|
+
|
|
118
|
+
return {
|
|
119
|
+
getDevEnvId: () => {
|
|
120
|
+
return preview.getDevEnvId();
|
|
121
|
+
},
|
|
122
|
+
getDevServer: (context) => {
|
|
123
|
+
return preview.getDevServer(context)(envContext);
|
|
124
|
+
},
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
|
|
98
128
|
// async run(context: ExecutionContext): Promise<ComponentServer[]> {
|
|
99
129
|
// const devServerContext = await this.buildContext(context);
|
|
100
130
|
// const devServer: DevServer = context.env.getDevServer(devServerContext);
|
|
@@ -84,6 +84,13 @@ function _devServer2() {
|
|
|
84
84
|
};
|
|
85
85
|
return data;
|
|
86
86
|
}
|
|
87
|
+
function _bundler2() {
|
|
88
|
+
const data = require("./bundler.service");
|
|
89
|
+
_bundler2 = function () {
|
|
90
|
+
return data;
|
|
91
|
+
};
|
|
92
|
+
return data;
|
|
93
|
+
}
|
|
87
94
|
/**
|
|
88
95
|
* bundler extension.
|
|
89
96
|
*/
|
|
@@ -171,7 +178,7 @@ class BundlerMain {
|
|
|
171
178
|
static async provider([pubsub, envs, graphql, dependencyResolver], config, [runtimeSlot]) {
|
|
172
179
|
const devServerService = new (_devServer2().DevServerService)(pubsub, dependencyResolver, runtimeSlot);
|
|
173
180
|
const bundler = new BundlerMain(config, pubsub, envs, devServerService, runtimeSlot);
|
|
174
|
-
envs.registerService(devServerService);
|
|
181
|
+
envs.registerService(devServerService, new (_bundler2().BundlerService)());
|
|
175
182
|
graphql.register((0, _devServer().devServerSchema)(bundler));
|
|
176
183
|
return bundler;
|
|
177
184
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BundlerMain","constructor","config","pubsub","envs","devService","runtimeSlot","devServer","components","envRuntime","createEnvironment","servers","runOnce","dedicatedEnvDevServers","_componentServers","indexByComponent","getComponentServer","component","undefined","envId","getEnvId","server","find","componentServer","context","relatedContexts","includes","id","computeEntries","slotEntries","Promise","all","values","map","browserRuntime","entry","slotPaths","reduce","acc","current","concat","registerTarget","runtime","register","provider","graphql","dependencyResolver","devServerService","DevServerService","bundler","registerService","devServerSchema","Slot","withType","MainRuntime","PubsubAspect","EnvsAspect","GraphqlAspect","DependencyResolverAspect","ComponentAspect","BundlerAspect","addRuntime"],"sources":["bundler.main.runtime.ts"],"sourcesContent":["import PubsubAspect, { PubsubMain } from '@teambit/pubsub';\nimport { MainRuntime } from '@teambit/cli';\nimport { Component, ComponentAspect } from '@teambit/component';\nimport { DependencyResolverAspect, DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { EnvsAspect, EnvsMain } from '@teambit/envs';\nimport { GraphqlAspect, GraphqlMain } from '@teambit/graphql';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport { BrowserRuntime } from './browser-runtime';\nimport { BundlerAspect } from './bundler.aspect';\nimport { ComponentServer } from './component-server';\nimport { BundlerContext } from './bundler-context';\nimport { devServerSchema } from './dev-server.graphql';\nimport { DevServerService } from './dev-server.service';\n\nexport type BrowserRuntimeSlot = SlotRegistry<BrowserRuntime>;\n\nexport type BundlerConfig = {\n dedicatedEnvDevServers: string[];\n};\n\n/**\n * bundler extension.\n */\nexport class BundlerMain {\n constructor(\n readonly config: BundlerConfig,\n /**\n * Pubsub extension.\n */\n private pubsub: PubsubMain,\n\n /**\n * environments extension.\n */\n private envs: EnvsMain,\n\n /**\n * dev server service.\n */\n private devService: DevServerService,\n\n /**\n * browser runtime slot.\n */\n private runtimeSlot: BrowserRuntimeSlot\n ) {}\n\n /**\n * load all given components in corresponding dev servers.\n * @param components defaults to all components in the workspace.\n */\n async devServer(components: Component[]): Promise<ComponentServer[]> {\n const envRuntime = await this.envs.createEnvironment(components);\n // TODO: this must be refactored away from here. this logic should be in the Preview.\n // @ts-ignore\n const servers: ComponentServer[] = await envRuntime.runOnce<ComponentServer[]>(this.devService, {\n dedicatedEnvDevServers: this.config.dedicatedEnvDevServers,\n });\n this._componentServers = servers;\n\n this.indexByComponent();\n\n return this._componentServers;\n }\n\n /**\n * get a dev server instance containing a component.\n * @param component\n */\n getComponentServer(component: Component): undefined | ComponentServer {\n if (!this._componentServers) return undefined;\n const envId = this.envs.getEnvId(component);\n const server = this._componentServers.find(\n (componentServer) =>\n componentServer.context.relatedContexts.includes(envId) || componentServer.context.id === envId\n );\n\n return server;\n }\n\n /**\n * compute entry files for bundling components in a given execution context.\n */\n async computeEntries(context: BundlerContext) {\n const slotEntries = await Promise.all(\n this.runtimeSlot.values().map(async (browserRuntime) => browserRuntime.entry(context))\n );\n\n const slotPaths = slotEntries.reduce((acc, current) => {\n acc = acc.concat(current);\n return acc;\n });\n\n return slotPaths;\n }\n\n /**\n * register a new browser runtime environment.\n * @param browserRuntime\n */\n registerTarget(browserRuntime: BrowserRuntime[]) {\n browserRuntime.map((runtime) => {\n return this.runtimeSlot.register(runtime);\n });\n\n return this;\n }\n\n /**\n * component servers.\n */\n private _componentServers: null | ComponentServer[];\n\n private indexByComponent() {}\n\n static slots = [Slot.withType<BrowserRuntime>()];\n\n static runtime = MainRuntime;\n static dependencies = [PubsubAspect, EnvsAspect, GraphqlAspect, DependencyResolverAspect, ComponentAspect];\n\n static defaultConfig = {\n dedicatedEnvDevServers: [],\n };\n\n static async provider(\n [pubsub, envs, graphql, dependencyResolver]: [PubsubMain, EnvsMain, GraphqlMain, DependencyResolverMain],\n config,\n [runtimeSlot]: [BrowserRuntimeSlot]\n ) {\n const devServerService = new DevServerService(pubsub, dependencyResolver, runtimeSlot);\n const bundler = new BundlerMain(config, pubsub, envs, devServerService, runtimeSlot);\n envs.registerService(devServerService);\n\n graphql.register(devServerSchema(bundler));\n\n return bundler;\n }\n}\n\nBundlerAspect.addRuntime(BundlerMain);\n"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["BundlerMain","constructor","config","pubsub","envs","devService","runtimeSlot","devServer","components","envRuntime","createEnvironment","servers","runOnce","dedicatedEnvDevServers","_componentServers","indexByComponent","getComponentServer","component","undefined","envId","getEnvId","server","find","componentServer","context","relatedContexts","includes","id","computeEntries","slotEntries","Promise","all","values","map","browserRuntime","entry","slotPaths","reduce","acc","current","concat","registerTarget","runtime","register","provider","graphql","dependencyResolver","devServerService","DevServerService","bundler","registerService","BundlerService","devServerSchema","Slot","withType","MainRuntime","PubsubAspect","EnvsAspect","GraphqlAspect","DependencyResolverAspect","ComponentAspect","BundlerAspect","addRuntime"],"sources":["bundler.main.runtime.ts"],"sourcesContent":["import PubsubAspect, { PubsubMain } from '@teambit/pubsub';\nimport { MainRuntime } from '@teambit/cli';\nimport { Component, ComponentAspect } from '@teambit/component';\nimport { DependencyResolverAspect, DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { EnvsAspect, EnvsMain } from '@teambit/envs';\nimport { GraphqlAspect, GraphqlMain } from '@teambit/graphql';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport { BrowserRuntime } from './browser-runtime';\nimport { BundlerAspect } from './bundler.aspect';\nimport { ComponentServer } from './component-server';\nimport { BundlerContext } from './bundler-context';\nimport { devServerSchema } from './dev-server.graphql';\nimport { DevServerService } from './dev-server.service';\nimport { BundlerService } from './bundler.service';\n\nexport type BrowserRuntimeSlot = SlotRegistry<BrowserRuntime>;\n\nexport type BundlerConfig = {\n dedicatedEnvDevServers: string[];\n};\n\n/**\n * bundler extension.\n */\nexport class BundlerMain {\n constructor(\n readonly config: BundlerConfig,\n /**\n * Pubsub extension.\n */\n private pubsub: PubsubMain,\n\n /**\n * environments extension.\n */\n private envs: EnvsMain,\n\n /**\n * dev server service.\n */\n private devService: DevServerService,\n\n /**\n * browser runtime slot.\n */\n private runtimeSlot: BrowserRuntimeSlot\n ) {}\n\n /**\n * load all given components in corresponding dev servers.\n * @param components defaults to all components in the workspace.\n */\n async devServer(components: Component[]): Promise<ComponentServer[]> {\n const envRuntime = await this.envs.createEnvironment(components);\n // TODO: this must be refactored away from here. this logic should be in the Preview.\n // @ts-ignore\n const servers: ComponentServer[] = await envRuntime.runOnce<ComponentServer[]>(this.devService, {\n dedicatedEnvDevServers: this.config.dedicatedEnvDevServers,\n });\n this._componentServers = servers;\n\n this.indexByComponent();\n\n return this._componentServers;\n }\n\n /**\n * get a dev server instance containing a component.\n * @param component\n */\n getComponentServer(component: Component): undefined | ComponentServer {\n if (!this._componentServers) return undefined;\n const envId = this.envs.getEnvId(component);\n const server = this._componentServers.find(\n (componentServer) =>\n componentServer.context.relatedContexts.includes(envId) || componentServer.context.id === envId\n );\n\n return server;\n }\n\n /**\n * compute entry files for bundling components in a given execution context.\n */\n async computeEntries(context: BundlerContext) {\n const slotEntries = await Promise.all(\n this.runtimeSlot.values().map(async (browserRuntime) => browserRuntime.entry(context))\n );\n\n const slotPaths = slotEntries.reduce((acc, current) => {\n acc = acc.concat(current);\n return acc;\n });\n\n return slotPaths;\n }\n\n /**\n * register a new browser runtime environment.\n * @param browserRuntime\n */\n registerTarget(browserRuntime: BrowserRuntime[]) {\n browserRuntime.map((runtime) => {\n return this.runtimeSlot.register(runtime);\n });\n\n return this;\n }\n\n /**\n * component servers.\n */\n private _componentServers: null | ComponentServer[];\n\n private indexByComponent() {}\n\n static slots = [Slot.withType<BrowserRuntime>()];\n\n static runtime = MainRuntime;\n static dependencies = [PubsubAspect, EnvsAspect, GraphqlAspect, DependencyResolverAspect, ComponentAspect];\n\n static defaultConfig = {\n dedicatedEnvDevServers: [],\n };\n\n static async provider(\n [pubsub, envs, graphql, dependencyResolver]: [PubsubMain, EnvsMain, GraphqlMain, DependencyResolverMain],\n config,\n [runtimeSlot]: [BrowserRuntimeSlot]\n ) {\n const devServerService = new DevServerService(pubsub, dependencyResolver, runtimeSlot);\n const bundler = new BundlerMain(config, pubsub, envs, devServerService, runtimeSlot);\n envs.registerService(devServerService, new BundlerService());\n\n graphql.register(devServerSchema(bundler));\n\n return bundler;\n }\n}\n\nBundlerAspect.addRuntime(BundlerMain);\n"],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { EnvService, Env, EnvContext, ServiceTransformationMap } from '@teambit/envs';
|
|
2
|
+
import { Bundler } from './bundler';
|
|
3
|
+
import { BundlerContext } from './bundler-context';
|
|
4
|
+
declare type BundlerTransformationMap = ServiceTransformationMap & {
|
|
5
|
+
getBundler?: (context: BundlerContext) => Promise<Bundler>;
|
|
6
|
+
};
|
|
7
|
+
export declare class BundlerService implements EnvService<any> {
|
|
8
|
+
name: string;
|
|
9
|
+
transform(env: Env, envContext: EnvContext): BundlerTransformationMap | undefined;
|
|
10
|
+
}
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.BundlerService = void 0;
|
|
8
|
+
function _defineProperty2() {
|
|
9
|
+
const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
|
+
_defineProperty2 = function () {
|
|
11
|
+
return data;
|
|
12
|
+
};
|
|
13
|
+
return data;
|
|
14
|
+
}
|
|
15
|
+
class BundlerService {
|
|
16
|
+
constructor() {
|
|
17
|
+
(0, _defineProperty2().default)(this, "name", 'bundler');
|
|
18
|
+
}
|
|
19
|
+
transform(env, envContext) {
|
|
20
|
+
// Old env
|
|
21
|
+
if (!(env !== null && env !== void 0 && env.preview)) return undefined;
|
|
22
|
+
const preview = env.preview()(envContext);
|
|
23
|
+
return {
|
|
24
|
+
getBundler: context => preview.getBundler(context)(envContext)
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.BundlerService = BundlerService;
|
|
29
|
+
|
|
30
|
+
//# sourceMappingURL=bundler.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["BundlerService","transform","env","envContext","preview","undefined","getBundler","context"],"sources":["bundler.service.tsx"],"sourcesContent":["import { EnvService, Env, EnvContext, ServiceTransformationMap } from '@teambit/envs';\nimport { Bundler } from './bundler';\nimport { BundlerContext } from './bundler-context';\n\ntype BundlerTransformationMap = ServiceTransformationMap & {\n getBundler?: (context: BundlerContext) => Promise<Bundler>;\n}\nexport class BundlerService implements EnvService<any> {\n name = 'bundler';\n\n transform(env: Env, envContext: EnvContext): BundlerTransformationMap | undefined {\n // Old env\n if (!env?.preview) return undefined;\n const preview = env.preview()(envContext);\n\n return {\n getBundler: (context) => preview.getBundler(context)(envContext),\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;AAOO,MAAMA,cAAc,CAA4B;EAAA;IAAA,8CAC9C,SAAS;EAAA;EAEhBC,SAAS,CAACC,GAAQ,EAAEC,UAAsB,EAAwC;IAChF;IACA,IAAI,EAACD,GAAG,aAAHA,GAAG,eAAHA,GAAG,CAAEE,OAAO,GAAE,OAAOC,SAAS;IACnC,MAAMD,OAAO,GAAGF,GAAG,CAACE,OAAO,EAAE,CAACD,UAAU,CAAC;IAEzC,OAAO;MACLG,UAAU,EAAGC,OAAO,IAAKH,OAAO,CAACE,UAAU,CAACC,OAAO,CAAC,CAACJ,UAAU;IACjE,CAAC;EACH;AACF;AAAC"}
|
|
@@ -1,12 +1,25 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { EnvService, ExecutionContext, EnvDefinition } from '@teambit/envs';
|
|
2
|
+
import { EnvService, ExecutionContext, EnvDefinition, Env, EnvContext, ServiceTransformationMap } from '@teambit/envs';
|
|
3
3
|
import { PubsubMain } from '@teambit/pubsub';
|
|
4
4
|
import { DependencyResolverMain } from '@teambit/dependency-resolver';
|
|
5
5
|
import { BrowserRuntimeSlot } from './bundler.main.runtime';
|
|
6
6
|
import { ComponentServer } from './component-server';
|
|
7
|
+
import { DevServer } from './dev-server';
|
|
8
|
+
import { DevServerContext } from './dev-server-context';
|
|
7
9
|
export declare type DevServerServiceOptions = {
|
|
8
10
|
dedicatedEnvDevServers?: string[];
|
|
9
11
|
};
|
|
12
|
+
declare type DevServiceTransformationMap = ServiceTransformationMap & {
|
|
13
|
+
/**
|
|
14
|
+
* Required for `bit start`
|
|
15
|
+
*/
|
|
16
|
+
getDevEnvId?: (context?: any) => string;
|
|
17
|
+
/**
|
|
18
|
+
* Returns and configures the dev server
|
|
19
|
+
* Required for `bit start`
|
|
20
|
+
*/
|
|
21
|
+
getDevServer?: (context: DevServerContext) => DevServer | Promise<DevServer>;
|
|
22
|
+
};
|
|
10
23
|
export declare type DevServerDescriptor = {
|
|
11
24
|
/**
|
|
12
25
|
* id of the dev server (e.g. jest/mocha)
|
|
@@ -48,6 +61,7 @@ export declare class DevServerService implements EnvService<ComponentServer, Dev
|
|
|
48
61
|
runtimeSlot: BrowserRuntimeSlot);
|
|
49
62
|
render(env: EnvDefinition, context: ExecutionContext[]): Promise<JSX.Element>;
|
|
50
63
|
getDescriptor(environment: EnvDefinition, context?: ExecutionContext[]): Promise<DevServerDescriptor | undefined>;
|
|
64
|
+
transform(env: Env, envContext: EnvContext): DevServiceTransformationMap | undefined;
|
|
51
65
|
runOnce(contexts: ExecutionContext[], { dedicatedEnvDevServers }: DevServerServiceOptions): Promise<ComponentServer[]>;
|
|
52
66
|
mergeContext(): void;
|
|
53
67
|
private getComponentsFromContexts;
|
|
@@ -56,3 +70,4 @@ export declare class DevServerService implements EnvService<ComponentServer, Dev
|
|
|
56
70
|
*/
|
|
57
71
|
private buildContext;
|
|
58
72
|
}
|
|
73
|
+
export {};
|
|
@@ -111,6 +111,19 @@ class DevServerService {
|
|
|
111
111
|
version: devServer.version ? devServer.version() : '?'
|
|
112
112
|
};
|
|
113
113
|
}
|
|
114
|
+
transform(env, envContext) {
|
|
115
|
+
// Old env
|
|
116
|
+
if (!(env !== null && env !== void 0 && env.preview)) return undefined;
|
|
117
|
+
const preview = env.preview()(envContext);
|
|
118
|
+
return {
|
|
119
|
+
getDevEnvId: () => {
|
|
120
|
+
return preview.getDevEnvId();
|
|
121
|
+
},
|
|
122
|
+
getDevServer: context => {
|
|
123
|
+
return preview.getDevServer(context)(envContext);
|
|
124
|
+
}
|
|
125
|
+
};
|
|
126
|
+
}
|
|
114
127
|
|
|
115
128
|
// async run(context: ExecutionContext): Promise<ComponentServer[]> {
|
|
116
129
|
// const devServerContext = await this.buildContext(context);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DevServerService","constructor","pubsub","dependencyResolver","runtimeSlot","render","env","context","descriptor","getDescriptor","id","displayName","version","highlight","config","language","ignoreIllegals","environment","getDevServer","undefined","mergedContext","buildContext","devServer","icon","displayConfig","runOnce","contexts","dedicatedEnvDevServers","groupedEnvs","dedupEnvs","servers","Promise","all","Object","entries","map","contextList","mainContext","find","envDefinition","additionalContexts","filter","devServerContext","envRuntime","ComponentServer","mergeContext","getComponentsFromContexts","flatten","components","relatedContexts","ctx","concat","peers","getPreviewHostDependenciesFromEnv","hostRootDir","envAspectDefinition","aspectPath","assign","entry","getEntry","rootPath","publicPath","sep","hostDependencies","aliasHostDependencies"],"sources":["dev-server.service.tsx"],"sourcesContent":["import { EnvService, ExecutionContext, EnvDefinition } from '@teambit/envs';\nimport { PubsubMain } from '@teambit/pubsub';\nimport { flatten } from 'lodash';\nimport React from 'react';\nimport { Text, Newline } from 'ink';\nimport { DependencyResolverMain } from '@teambit/dependency-resolver';\nimport highlight from 'cli-highlight';\nimport { sep } from 'path';\nimport { BrowserRuntimeSlot } from './bundler.main.runtime';\nimport { ComponentServer } from './component-server';\nimport { dedupEnvs } from './dedup-envs';\nimport { DevServer } from './dev-server';\nimport { DevServerContext } from './dev-server-context';\nimport { getEntry } from './get-entry';\n\nexport type DevServerServiceOptions = { dedicatedEnvDevServers?: string[] };\n\nexport type DevServerDescriptor = {\n /**\n * id of the dev server (e.g. jest/mocha)\n */\n id: string;\n\n /**\n * display name of the dev server (e.g. Jest / Mocha)\n */\n displayName: string;\n\n /**\n * icon of the configured dev server.\n */\n icon: string;\n\n /**\n * string containing the config for display.\n */\n config: string;\n\n version?: string;\n};\n\nexport class DevServerService implements EnvService<ComponentServer, DevServerDescriptor> {\n name = 'dev server';\n\n constructor(\n /**\n * browser runtime slot\n */\n private pubsub: PubsubMain,\n\n private dependencyResolver: DependencyResolverMain,\n\n /**\n * browser runtime slot\n */\n private runtimeSlot: BrowserRuntimeSlot\n ) {}\n\n async render(env: EnvDefinition, context: ExecutionContext[]) {\n const descriptor = await this.getDescriptor(env, context);\n return (\n <Text key={descriptor?.id}>\n <Text color=\"cyan\">configured dev server: </Text>\n <Text>\n {descriptor?.id} ({descriptor?.displayName} @ {descriptor?.version})\n </Text>\n <Newline />\n <Text underline color=\"cyan\">\n dev server config:\n </Text>\n <Newline />\n <Text>\n {/* refactor a separate component which highlights for cli */}\n {highlight(descriptor?.config || '', { language: 'javascript', ignoreIllegals: true })}\n </Text>\n <Newline />\n </Text>\n );\n }\n\n async getDescriptor(\n environment: EnvDefinition,\n context?: ExecutionContext[]\n ): Promise<DevServerDescriptor | undefined> {\n if (!environment.env.getDevServer || !context) return undefined;\n const mergedContext = await this.buildContext(context[0], []);\n const devServer: DevServer = environment.env.getDevServer(mergedContext);\n\n return {\n id: devServer.id || '',\n displayName: devServer.displayName || '',\n icon: devServer.icon || '',\n config: devServer.displayConfig ? devServer.displayConfig() : '',\n version: devServer.version ? devServer.version() : '?',\n };\n }\n\n // async run(context: ExecutionContext): Promise<ComponentServer[]> {\n // const devServerContext = await this.buildContext(context);\n // const devServer: DevServer = context.env.getDevServer(devServerContext);\n // const port = await selectPort();\n // // TODO: refactor to replace with a component server instance.\n // return new ComponentServer(this.pubsub, context, port, devServer);\n // }\n\n async runOnce(\n contexts: ExecutionContext[],\n { dedicatedEnvDevServers }: DevServerServiceOptions\n ): Promise<ComponentServer[]> {\n const groupedEnvs = await dedupEnvs(contexts, this.dependencyResolver, dedicatedEnvDevServers);\n\n const servers = await Promise.all(\n Object.entries(groupedEnvs).map(async ([id, contextList]) => {\n const mainContext = contextList.find((context) => context.envDefinition.id === id) || contextList[0];\n const additionalContexts = contextList.filter((context) => context.envDefinition.id !== id);\n\n const devServerContext = await this.buildContext(mainContext, additionalContexts);\n const devServer: DevServer = await devServerContext.envRuntime.env.getDevServer(devServerContext);\n\n return new ComponentServer(this.pubsub, devServerContext, [3300, 3400], devServer);\n })\n );\n\n return servers;\n }\n\n mergeContext() {}\n\n private getComponentsFromContexts(contexts: ExecutionContext[]) {\n return flatten(\n contexts.map((context) => {\n return context.components;\n })\n );\n }\n\n /**\n * builds the execution context for the dev server.\n */\n private async buildContext(\n context: ExecutionContext,\n additionalContexts: ExecutionContext[] = []\n ): Promise<DevServerContext> {\n context.relatedContexts = additionalContexts.map((ctx) => ctx.envDefinition.id);\n context.components = context.components.concat(this.getComponentsFromContexts(additionalContexts));\n const peers = await this.dependencyResolver.getPreviewHostDependenciesFromEnv(context.envDefinition.env);\n const hostRootDir = context.envRuntime.envAspectDefinition?.aspectPath;\n\n return Object.assign(context, {\n entry: await getEntry(context, this.runtimeSlot),\n // don't start with a leading \"/\" because it generates errors on Windows\n rootPath: `preview/${context.envRuntime.id}`,\n publicPath: `${sep}public`,\n hostRootDir,\n hostDependencies: peers,\n aliasHostDependencies: true,\n });\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["DevServerService","constructor","pubsub","dependencyResolver","runtimeSlot","render","env","context","descriptor","getDescriptor","id","displayName","version","highlight","config","language","ignoreIllegals","environment","getDevServer","undefined","mergedContext","buildContext","devServer","icon","displayConfig","transform","envContext","preview","getDevEnvId","runOnce","contexts","dedicatedEnvDevServers","groupedEnvs","dedupEnvs","servers","Promise","all","Object","entries","map","contextList","mainContext","find","envDefinition","additionalContexts","filter","devServerContext","envRuntime","ComponentServer","mergeContext","getComponentsFromContexts","flatten","components","relatedContexts","ctx","concat","peers","getPreviewHostDependenciesFromEnv","hostRootDir","envAspectDefinition","aspectPath","assign","entry","getEntry","rootPath","publicPath","sep","hostDependencies","aliasHostDependencies"],"sources":["dev-server.service.tsx"],"sourcesContent":["import { EnvService, ExecutionContext, EnvDefinition, Env, EnvContext, ServiceTransformationMap } from '@teambit/envs';\nimport { PubsubMain } from '@teambit/pubsub';\nimport { flatten } from 'lodash';\nimport React from 'react';\nimport { Text, Newline } from 'ink';\nimport { DependencyResolverMain } from '@teambit/dependency-resolver';\nimport highlight from 'cli-highlight';\nimport { sep } from 'path';\nimport { BrowserRuntimeSlot } from './bundler.main.runtime';\nimport { ComponentServer } from './component-server';\nimport { dedupEnvs } from './dedup-envs';\nimport { DevServer } from './dev-server';\nimport { DevServerContext } from './dev-server-context';\nimport { getEntry } from './get-entry';\n\nexport type DevServerServiceOptions = { dedicatedEnvDevServers?: string[] };\n\ntype DevServiceTransformationMap = ServiceTransformationMap & {\n /**\n * Required for `bit start`\n */\n getDevEnvId?: (context?: any) => string;\n\n /**\n * Returns and configures the dev server\n * Required for `bit start`\n */\n getDevServer?: (\n context: DevServerContext,\n ) => DevServer | Promise<DevServer>;\n}\n\nexport type DevServerDescriptor = {\n /**\n * id of the dev server (e.g. jest/mocha)\n */\n id: string;\n\n /**\n * display name of the dev server (e.g. Jest / Mocha)\n */\n displayName: string;\n\n /**\n * icon of the configured dev server.\n */\n icon: string;\n\n /**\n * string containing the config for display.\n */\n config: string;\n\n version?: string;\n};\n\nexport class DevServerService implements EnvService<ComponentServer, DevServerDescriptor> {\n name = 'dev server';\n\n constructor(\n /**\n * browser runtime slot\n */\n private pubsub: PubsubMain,\n\n private dependencyResolver: DependencyResolverMain,\n\n /**\n * browser runtime slot\n */\n private runtimeSlot: BrowserRuntimeSlot\n ) {}\n\n async render(env: EnvDefinition, context: ExecutionContext[]) {\n const descriptor = await this.getDescriptor(env, context);\n return (\n <Text key={descriptor?.id}>\n <Text color=\"cyan\">configured dev server: </Text>\n <Text>\n {descriptor?.id} ({descriptor?.displayName} @ {descriptor?.version})\n </Text>\n <Newline />\n <Text underline color=\"cyan\">\n dev server config:\n </Text>\n <Newline />\n <Text>\n {/* refactor a separate component which highlights for cli */}\n {highlight(descriptor?.config || '', { language: 'javascript', ignoreIllegals: true })}\n </Text>\n <Newline />\n </Text>\n );\n }\n\n async getDescriptor(\n environment: EnvDefinition,\n context?: ExecutionContext[]\n ): Promise<DevServerDescriptor | undefined> {\n if (!environment.env.getDevServer || !context) return undefined;\n const mergedContext = await this.buildContext(context[0], []);\n const devServer: DevServer = environment.env.getDevServer(mergedContext);\n\n return {\n id: devServer.id || '',\n displayName: devServer.displayName || '',\n icon: devServer.icon || '',\n config: devServer.displayConfig ? devServer.displayConfig() : '',\n version: devServer.version ? devServer.version() : '?',\n };\n }\n\n transform(env: Env, envContext: EnvContext): DevServiceTransformationMap | undefined {\n // Old env\n if (!env?.preview) return undefined;\n const preview = env.preview()(envContext);\n\n return {\n getDevEnvId: () => {\n return preview.getDevEnvId();\n },\n getDevServer: (context) => {\n return preview.getDevServer(context)(envContext);\n },\n }\n }\n\n // async run(context: ExecutionContext): Promise<ComponentServer[]> {\n // const devServerContext = await this.buildContext(context);\n // const devServer: DevServer = context.env.getDevServer(devServerContext);\n // const port = await selectPort();\n // // TODO: refactor to replace with a component server instance.\n // return new ComponentServer(this.pubsub, context, port, devServer);\n // }\n\n async runOnce(\n contexts: ExecutionContext[],\n { dedicatedEnvDevServers }: DevServerServiceOptions\n ): Promise<ComponentServer[]> {\n const groupedEnvs = await dedupEnvs(contexts, this.dependencyResolver, dedicatedEnvDevServers);\n\n const servers = await Promise.all(\n Object.entries(groupedEnvs).map(async ([id, contextList]) => {\n const mainContext = contextList.find((context) => context.envDefinition.id === id) || contextList[0];\n const additionalContexts = contextList.filter((context) => context.envDefinition.id !== id);\n\n const devServerContext = await this.buildContext(mainContext, additionalContexts);\n const devServer: DevServer = await devServerContext.envRuntime.env.getDevServer(devServerContext);\n\n return new ComponentServer(this.pubsub, devServerContext, [3300, 3400], devServer);\n })\n );\n\n return servers;\n }\n\n mergeContext() {}\n\n private getComponentsFromContexts(contexts: ExecutionContext[]) {\n return flatten(\n contexts.map((context) => {\n return context.components;\n })\n );\n }\n\n /**\n * builds the execution context for the dev server.\n */\n private async buildContext(\n context: ExecutionContext,\n additionalContexts: ExecutionContext[] = []\n ): Promise<DevServerContext> {\n context.relatedContexts = additionalContexts.map((ctx) => ctx.envDefinition.id);\n context.components = context.components.concat(this.getComponentsFromContexts(additionalContexts));\n const peers = await this.dependencyResolver.getPreviewHostDependenciesFromEnv(context.envDefinition.env);\n const hostRootDir = context.envRuntime.envAspectDefinition?.aspectPath;\n\n return Object.assign(context, {\n entry: await getEntry(context, this.runtimeSlot),\n // don't start with a leading \"/\" because it generates errors on Windows\n rootPath: `preview/${context.envRuntime.id}`,\n publicPath: `${sep}public`,\n hostRootDir,\n hostDependencies: peers,\n aliasHostDependencies: true,\n });\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.compilation_bundler@0.0.
|
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.compilation_bundler@0.0.
|
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.compilation_bundler@0.0.947/dist/bundler.composition.js';
|
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.compilation_bundler@0.0.947/dist/bundler.docs.mdx';
|
|
3
3
|
|
|
4
4
|
export const compositions = [compositions_0];
|
|
5
5
|
export const overview = [overview_0];
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/bundler",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.947",
|
|
4
4
|
"homepage": "https://bit.dev/teambit/compilation/bundler",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.compilation",
|
|
8
8
|
"name": "bundler",
|
|
9
|
-
"version": "0.0.
|
|
9
|
+
"version": "0.0.947"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"cli-highlight": "2.1.9",
|
|
@@ -15,13 +15,13 @@
|
|
|
15
15
|
"core-js": "^3.0.0",
|
|
16
16
|
"@babel/runtime": "7.20.0",
|
|
17
17
|
"@teambit/harmony": "0.4.6",
|
|
18
|
-
"@teambit/envs": "0.0.
|
|
19
|
-
"@teambit/builder": "0.0.
|
|
20
|
-
"@teambit/component": "0.0.
|
|
21
|
-
"@teambit/cli": "0.0.
|
|
22
|
-
"@teambit/dependency-resolver": "0.0.
|
|
23
|
-
"@teambit/graphql": "0.0.
|
|
24
|
-
"@teambit/pubsub": "0.0.
|
|
18
|
+
"@teambit/envs": "0.0.947",
|
|
19
|
+
"@teambit/builder": "0.0.947",
|
|
20
|
+
"@teambit/component": "0.0.947",
|
|
21
|
+
"@teambit/cli": "0.0.634",
|
|
22
|
+
"@teambit/dependency-resolver": "0.0.947",
|
|
23
|
+
"@teambit/graphql": "0.0.947",
|
|
24
|
+
"@teambit/pubsub": "0.0.947",
|
|
25
25
|
"@teambit/toolbox.network.get-port": "0.0.121"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
},
|
|
36
36
|
"peerDependencies": {
|
|
37
37
|
"@apollo/client": "^3.6.0",
|
|
38
|
-
"@teambit/legacy": "1.0.
|
|
38
|
+
"@teambit/legacy": "1.0.415",
|
|
39
39
|
"react": "^16.8.0 || ^17.0.0",
|
|
40
40
|
"react-dom": "^16.8.0 || ^17.0.0"
|
|
41
41
|
},
|
|
Binary file
|