@teambit/preview 1.0.451 → 1.0.453
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/artifacts/__bit_junit.xml +2 -2
- package/artifacts/preview/teambit_preview_preview-preview.js +1 -1
- package/artifacts/schema.json +897 -205
- package/dist/{preview-1730517501720.js → preview-1730863230957.js} +2 -2
- package/dist/preview.start-plugin.js +21 -18
- package/dist/preview.start-plugin.js.map +1 -1
- package/package.json +22 -22
- package/preview.start-plugin.tsx +15 -12
@@ -1,5 +1,5 @@
|
|
1
|
-
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.preview_preview@1.0.
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.preview_preview@1.0.
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.preview_preview@1.0.453/dist/preview.composition.js';
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.preview_preview@1.0.453/dist/preview.docs.mdx';
|
3
3
|
|
4
4
|
export const compositions = [compositions_0];
|
5
5
|
export const overview = [overview_0];
|
@@ -129,24 +129,27 @@ class PreviewStartPlugin {
|
|
129
129
|
};
|
130
130
|
const previewServer = this.serversMap[id];
|
131
131
|
const spinnerId = getSpinnerId(id);
|
132
|
-
const
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
this.
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
132
|
+
const spinner = this.logger.multiSpinner.spinners[spinnerId];
|
133
|
+
if (spinner && spinner.isActive()) {
|
134
|
+
const errors = results.errors || [];
|
135
|
+
const hasErrors = !!errors.length;
|
136
|
+
const warnings = getWarningsWithoutIgnored(results.warnings);
|
137
|
+
const hasWarnings = !!warnings.length;
|
138
|
+
const url = `http://localhost:${previewServer.port}`;
|
139
|
+
const text = getSpinnerDoneMessage(this.serversMap[id], errors, warnings, url);
|
140
|
+
if (hasErrors) {
|
141
|
+
this.logger.multiSpinner.fail(spinnerId, {
|
142
|
+
text
|
143
|
+
});
|
144
|
+
} else if (hasWarnings) {
|
145
|
+
this.logger.multiSpinner.warn(spinnerId, {
|
146
|
+
text
|
147
|
+
});
|
148
|
+
} else {
|
149
|
+
this.logger.multiSpinner.succeed(spinnerId, {
|
150
|
+
text
|
151
|
+
});
|
152
|
+
}
|
150
153
|
}
|
151
154
|
const noneAreCompiling = Object.values(this.serversState).every(x => !x.isCompiling);
|
152
155
|
if (noneAreCompiling) this.setReady();
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_lodash","data","require","_previewCli","_compiler","_watcher","_chalk","_interopRequireDefault","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","PreviewStartPlugin","constructor","workspace","bundler","ui","pubsub","logger","watcher","Promise","resolve","setReady","initiate","options","listenToDevServers","components","getComponentsByUserInput","pattern","previewServers","devServer","forEach","server","serversMap","context","envRuntime","id","listen","watch","spawnTSServer","checkTypes","CheckTypes","None","preCompile","compile","initiator","CompilationInitiator","Start","catch","err","msg","error","console","message","concat","getProxy","proxyConfigs","map","target","port","ws","flatten","SubscribeToWebpackEvents","onStart","handleOnStartCompiling","onDone","results","handleOnDoneCompiling","serversState","isCompiling","spinnerId","getSpinnerId","text","getSpinnerCompilingMessage","exists","multiSpinner","spinners","add","isReady","errors","warnings","previewServer","hasErrors","length","getWarningsWithoutIgnored","hasWarnings","url","getSpinnerDoneMessage","fail","warn","succeed","noneAreCompiling","values","every","x","whenReady","readyPromise","exports","IGNORE_WARNINGS","filter","warning","find","reg","match","envId","verbose","prefix","chalk","cyan","includedEnvs","relatedContexts","stringifyIncludedEnvs","errorsTxt","join","errorsTxtWithTitle","red","warningsTxt","warningsTxtWithTitle","yellow","urlMessage"],"sources":["preview.start-plugin.tsx"],"sourcesContent":["import { flatten } from 'lodash';\nimport { BundlerMain, ComponentServer } from '@teambit/bundler';\nimport { PubsubMain } from '@teambit/pubsub';\nimport { ProxyEntry, StartPlugin, StartPluginOptions, UiMain } from '@teambit/ui';\nimport { Workspace } from '@teambit/workspace';\nimport { SubscribeToWebpackEvents, CompilationResult } from '@teambit/preview.cli.webpack-events-listener';\nimport { CompilationInitiator } from '@teambit/compiler';\nimport { Logger } from '@teambit/logger';\nimport { CheckTypes, WatcherMain } from '@teambit/watcher';\nimport chalk from 'chalk';\n\ntype ServerState = {\n isCompiling?: boolean;\n isReady?: boolean;\n errors?: Error[];\n warnings?: Error[];\n results?: any[];\n};\n\ntype ServerStateMap = Record<string, ServerState>;\n\nexport class PreviewStartPlugin implements StartPlugin {\n constructor(\n private workspace: Workspace,\n private bundler: BundlerMain,\n private ui: UiMain,\n private pubsub: PubsubMain,\n private logger: Logger,\n private watcher: WatcherMain\n ) {}\n\n previewServers: ComponentServer[] = [];\n serversState: ServerStateMap = {};\n serversMap: Record<string, ComponentServer> = {};\n\n async initiate(options: StartPluginOptions) {\n this.listenToDevServers();\n\n const components = await this.workspace.getComponentsByUserInput(!options.pattern, options.pattern);\n // TODO: logic for creating preview servers must be refactored to this aspect from the DevServer aspect.\n const previewServers = await this.bundler.devServer(components);\n previewServers.forEach((server) => {\n this.serversMap[server.context.envRuntime.id] = server;\n // DON'T add wait! this promise never resolves, so it would stop the start process!\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n server.listen();\n });\n this.watcher\n .watch({\n spawnTSServer: true,\n checkTypes: CheckTypes.None,\n preCompile: false,\n compile: true,\n initiator: CompilationInitiator.Start,\n })\n .catch((err) => {\n const msg = `watcher found an error`;\n this.logger.error(msg, err);\n this.logger.console(`${msg}, ${err.message}`);\n });\n this.previewServers = this.previewServers.concat(previewServers);\n }\n\n getProxy(): ProxyEntry[] {\n const proxyConfigs = this.previewServers.map<ProxyEntry[]>((server) => {\n return [\n {\n context: [`/preview/${server.context.envRuntime.id}`],\n target: `http://localhost:${server.port}`,\n },\n {\n context: [`/_hmr/${server.context.envRuntime.id}`],\n target: `http://localhost:${server.port}`,\n ws: true,\n },\n ];\n });\n\n return flatten(proxyConfigs);\n }\n\n // TODO: this should be a part of the devServer\n private listenToDevServers() {\n // keep state changes immutable!\n SubscribeToWebpackEvents(this.pubsub, {\n onStart: (id) => {\n this.handleOnStartCompiling(id);\n },\n onDone: (id, results) => {\n this.handleOnDoneCompiling(id, results);\n },\n });\n }\n\n private handleOnStartCompiling(id: string) {\n this.serversState[id] = { isCompiling: true };\n const spinnerId = getSpinnerId(id);\n const text = getSpinnerCompilingMessage(this.serversMap[id]);\n const exists = this.logger.multiSpinner.spinners[spinnerId];\n if (!exists) {\n this.logger.multiSpinner.add(spinnerId, { text });\n }\n }\n\n private handleOnDoneCompiling(id: string, results: CompilationResult) {\n this.serversState[id] = {\n isCompiling: false,\n isReady: true,\n errors: results.errors,\n warnings: results.warnings,\n };\n const previewServer = this.serversMap[id];\n const spinnerId = getSpinnerId(id);\n const errors = results.errors || [];\n const hasErrors = !!errors.length;\n const warnings = getWarningsWithoutIgnored(results.warnings);\n const hasWarnings = !!warnings.length;\n const url = `http://localhost:${previewServer.port}`;\n const text = getSpinnerDoneMessage(this.serversMap[id], errors, warnings, url);\n if (hasErrors) {\n this.logger.multiSpinner.fail(spinnerId, { text });\n } else if (hasWarnings) {\n this.logger.multiSpinner.warn(spinnerId, { text });\n } else {\n this.logger.multiSpinner.succeed(spinnerId, { text });\n }\n\n const noneAreCompiling = Object.values(this.serversState).every((x) => !x.isCompiling);\n if (noneAreCompiling) this.setReady();\n }\n\n private setReady: () => void;\n private readyPromise = new Promise<void>((resolve) => (this.setReady = resolve));\n get whenReady(): Promise<void> {\n return this.readyPromise;\n }\n}\n\nfunction getWarningsWithoutIgnored(warnings?: Error[]): Error[] {\n if (!warnings || !warnings.length) return [];\n const IGNORE_WARNINGS = [\n // Webpack 5+ has no facility to disable this warning.\n // System.import is used in @angular/core for deprecated string-form lazy routes\n /System.import\\(\\) is deprecated and will be removed soon/i,\n // We need to include all the files in the compilation because we don't know what people will use in their compositions\n /is part of the TypeScript compilation but it's unused/i,\n // https://github.com/webpack-contrib/source-map-loader/blob/b2de4249c7431dd8432da607e08f0f65e9d64219/src/index.js#L83\n /Failed to parse source map from/,\n ];\n warnings.filter((warning) => !IGNORE_WARNINGS.find((reg) => warning?.message?.match(reg)));\n return warnings;\n}\n\nfunction getSpinnerId(envId: string) {\n return `preview-${envId}`;\n}\n\nfunction getSpinnerCompilingMessage(server: ComponentServer, verbose = false) {\n const prefix = 'COMPILING';\n const envId = chalk.cyan(server.context.envRuntime.id);\n let includedEnvs = '';\n if (server.context.relatedContexts && server.context.relatedContexts.length > 1) {\n includedEnvs = `on behalf of ${chalk.cyan(stringifyIncludedEnvs(server.context.relatedContexts, verbose))}`;\n }\n return `${prefix} ${envId} ${includedEnvs}`;\n}\n\nfunction getSpinnerDoneMessage(\n server: ComponentServer,\n errors: Error[],\n warnings: Error[],\n url: string,\n verbose = false\n) {\n const hasErrors = !!errors.length;\n const hasWarnings = !!warnings.length;\n const prefix = hasErrors ? 'FAILED' : 'RUNNING';\n const envId = chalk.cyan(server.context.envRuntime.id);\n let includedEnvs = '';\n if (server.context.relatedContexts && server.context.relatedContexts.length > 1) {\n includedEnvs = ` on behalf of ${chalk.cyan(stringifyIncludedEnvs(server.context.relatedContexts, verbose))}`;\n }\n const errorsTxt = hasErrors ? errors.map((err) => err.message).join('\\n') : '';\n const errorsTxtWithTitle = hasErrors ? chalk.red(`\\nErrors:\\n${errorsTxt}`) : '';\n const warningsTxt = hasWarnings ? warnings.map((warning) => warning.message).join('\\n') : '';\n const warningsTxtWithTitle = hasWarnings ? chalk.yellow(`\\nWarnings:\\n${warningsTxt}`) : '';\n\n const urlMessage = hasErrors ? '' : `at ${chalk.cyan(url)}`;\n return `${prefix} ${envId}${includedEnvs} ${urlMessage} ${errorsTxtWithTitle} ${warningsTxtWithTitle}`;\n}\n\nfunction stringifyIncludedEnvs(includedEnvs: string[] = [], verbose = false) {\n if (includedEnvs.length < 2) return '';\n if (includedEnvs.length > 2 && !verbose) return ` ${includedEnvs.length} other envs`;\n return includedEnvs.join(', ');\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["_lodash","data","require","_previewCli","_compiler","_watcher","_chalk","_interopRequireDefault","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","PreviewStartPlugin","constructor","workspace","bundler","ui","pubsub","logger","watcher","Promise","resolve","setReady","initiate","options","listenToDevServers","components","getComponentsByUserInput","pattern","previewServers","devServer","forEach","server","serversMap","context","envRuntime","id","listen","watch","spawnTSServer","checkTypes","CheckTypes","None","preCompile","compile","initiator","CompilationInitiator","Start","catch","err","msg","error","console","message","concat","getProxy","proxyConfigs","map","target","port","ws","flatten","SubscribeToWebpackEvents","onStart","handleOnStartCompiling","onDone","results","handleOnDoneCompiling","serversState","isCompiling","spinnerId","getSpinnerId","text","getSpinnerCompilingMessage","exists","multiSpinner","spinners","add","isReady","errors","warnings","previewServer","spinner","isActive","hasErrors","length","getWarningsWithoutIgnored","hasWarnings","url","getSpinnerDoneMessage","fail","warn","succeed","noneAreCompiling","values","every","x","whenReady","readyPromise","exports","IGNORE_WARNINGS","filter","warning","find","reg","match","envId","verbose","prefix","chalk","cyan","includedEnvs","relatedContexts","stringifyIncludedEnvs","errorsTxt","join","errorsTxtWithTitle","red","warningsTxt","warningsTxtWithTitle","yellow","urlMessage"],"sources":["preview.start-plugin.tsx"],"sourcesContent":["import { flatten } from 'lodash';\nimport { BundlerMain, ComponentServer } from '@teambit/bundler';\nimport { PubsubMain } from '@teambit/pubsub';\nimport { ProxyEntry, StartPlugin, StartPluginOptions, UiMain } from '@teambit/ui';\nimport { Workspace } from '@teambit/workspace';\nimport { SubscribeToWebpackEvents, CompilationResult } from '@teambit/preview.cli.webpack-events-listener';\nimport { CompilationInitiator } from '@teambit/compiler';\nimport { Logger } from '@teambit/logger';\nimport { CheckTypes, WatcherMain } from '@teambit/watcher';\nimport chalk from 'chalk';\n\ntype ServerState = {\n isCompiling?: boolean;\n isReady?: boolean;\n errors?: Error[];\n warnings?: Error[];\n results?: any[];\n};\n\ntype ServerStateMap = Record<string, ServerState>;\n\nexport class PreviewStartPlugin implements StartPlugin {\n constructor(\n private workspace: Workspace,\n private bundler: BundlerMain,\n private ui: UiMain,\n private pubsub: PubsubMain,\n private logger: Logger,\n private watcher: WatcherMain\n ) {}\n\n previewServers: ComponentServer[] = [];\n serversState: ServerStateMap = {};\n serversMap: Record<string, ComponentServer> = {};\n\n async initiate(options: StartPluginOptions) {\n this.listenToDevServers();\n\n const components = await this.workspace.getComponentsByUserInput(!options.pattern, options.pattern);\n // TODO: logic for creating preview servers must be refactored to this aspect from the DevServer aspect.\n const previewServers = await this.bundler.devServer(components);\n previewServers.forEach((server) => {\n this.serversMap[server.context.envRuntime.id] = server;\n // DON'T add wait! this promise never resolves, so it would stop the start process!\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n server.listen();\n });\n this.watcher\n .watch({\n spawnTSServer: true,\n checkTypes: CheckTypes.None,\n preCompile: false,\n compile: true,\n initiator: CompilationInitiator.Start,\n })\n .catch((err) => {\n const msg = `watcher found an error`;\n this.logger.error(msg, err);\n this.logger.console(`${msg}, ${err.message}`);\n });\n this.previewServers = this.previewServers.concat(previewServers);\n }\n\n getProxy(): ProxyEntry[] {\n const proxyConfigs = this.previewServers.map<ProxyEntry[]>((server) => {\n return [\n {\n context: [`/preview/${server.context.envRuntime.id}`],\n target: `http://localhost:${server.port}`,\n },\n {\n context: [`/_hmr/${server.context.envRuntime.id}`],\n target: `http://localhost:${server.port}`,\n ws: true,\n },\n ];\n });\n\n return flatten(proxyConfigs);\n }\n\n // TODO: this should be a part of the devServer\n private listenToDevServers() {\n // keep state changes immutable!\n SubscribeToWebpackEvents(this.pubsub, {\n onStart: (id) => {\n this.handleOnStartCompiling(id);\n },\n onDone: (id, results) => {\n this.handleOnDoneCompiling(id, results);\n },\n });\n }\n\n private handleOnStartCompiling(id: string) {\n this.serversState[id] = { isCompiling: true };\n const spinnerId = getSpinnerId(id);\n const text = getSpinnerCompilingMessage(this.serversMap[id]);\n const exists = this.logger.multiSpinner.spinners[spinnerId];\n if (!exists) {\n this.logger.multiSpinner.add(spinnerId, { text });\n }\n }\n\n private handleOnDoneCompiling(id: string, results: CompilationResult) {\n this.serversState[id] = {\n isCompiling: false,\n isReady: true,\n errors: results.errors,\n warnings: results.warnings,\n };\n const previewServer = this.serversMap[id];\n const spinnerId = getSpinnerId(id);\n const spinner = this.logger.multiSpinner.spinners[spinnerId];\n if (spinner && spinner.isActive()) {\n const errors = results.errors || [];\n const hasErrors = !!errors.length;\n const warnings = getWarningsWithoutIgnored(results.warnings);\n const hasWarnings = !!warnings.length;\n const url = `http://localhost:${previewServer.port}`;\n const text = getSpinnerDoneMessage(this.serversMap[id], errors, warnings, url);\n if (hasErrors) {\n this.logger.multiSpinner.fail(spinnerId, { text });\n } else if (hasWarnings) {\n this.logger.multiSpinner.warn(spinnerId, { text });\n } else {\n this.logger.multiSpinner.succeed(spinnerId, { text });\n }\n }\n\n const noneAreCompiling = Object.values(this.serversState).every((x) => !x.isCompiling);\n if (noneAreCompiling) this.setReady();\n }\n\n private setReady: () => void;\n private readyPromise = new Promise<void>((resolve) => (this.setReady = resolve));\n get whenReady(): Promise<void> {\n return this.readyPromise;\n }\n}\n\nfunction getWarningsWithoutIgnored(warnings?: Error[]): Error[] {\n if (!warnings || !warnings.length) return [];\n const IGNORE_WARNINGS = [\n // Webpack 5+ has no facility to disable this warning.\n // System.import is used in @angular/core for deprecated string-form lazy routes\n /System.import\\(\\) is deprecated and will be removed soon/i,\n // We need to include all the files in the compilation because we don't know what people will use in their compositions\n /is part of the TypeScript compilation but it's unused/i,\n // https://github.com/webpack-contrib/source-map-loader/blob/b2de4249c7431dd8432da607e08f0f65e9d64219/src/index.js#L83\n /Failed to parse source map from/,\n ];\n warnings.filter((warning) => !IGNORE_WARNINGS.find((reg) => warning?.message?.match(reg)));\n return warnings;\n}\n\nfunction getSpinnerId(envId: string) {\n return `preview-${envId}`;\n}\n\nfunction getSpinnerCompilingMessage(server: ComponentServer, verbose = false) {\n const prefix = 'COMPILING';\n const envId = chalk.cyan(server.context.envRuntime.id);\n let includedEnvs = '';\n if (server.context.relatedContexts && server.context.relatedContexts.length > 1) {\n includedEnvs = `on behalf of ${chalk.cyan(stringifyIncludedEnvs(server.context.relatedContexts, verbose))}`;\n }\n return `${prefix} ${envId} ${includedEnvs}`;\n}\n\nfunction getSpinnerDoneMessage(\n server: ComponentServer,\n errors: Error[],\n warnings: Error[],\n url: string,\n verbose = false\n) {\n const hasErrors = !!errors.length;\n const hasWarnings = !!warnings.length;\n const prefix = hasErrors ? 'FAILED' : 'RUNNING';\n const envId = chalk.cyan(server.context.envRuntime.id);\n let includedEnvs = '';\n if (server.context.relatedContexts && server.context.relatedContexts.length > 1) {\n includedEnvs = ` on behalf of ${chalk.cyan(stringifyIncludedEnvs(server.context.relatedContexts, verbose))}`;\n }\n const errorsTxt = hasErrors ? errors.map((err) => err.message).join('\\n') : '';\n const errorsTxtWithTitle = hasErrors ? chalk.red(`\\nErrors:\\n${errorsTxt}`) : '';\n const warningsTxt = hasWarnings ? warnings.map((warning) => warning.message).join('\\n') : '';\n const warningsTxtWithTitle = hasWarnings ? chalk.yellow(`\\nWarnings:\\n${warningsTxt}`) : '';\n\n const urlMessage = hasErrors ? '' : `at ${chalk.cyan(url)}`;\n return `${prefix} ${envId}${includedEnvs} ${urlMessage} ${errorsTxtWithTitle} ${warningsTxtWithTitle}`;\n}\n\nfunction stringifyIncludedEnvs(includedEnvs: string[] = [], verbose = false) {\n if (includedEnvs.length < 2) return '';\n if (includedEnvs.length > 2 && !verbose) return ` ${includedEnvs.length} other envs`;\n return includedEnvs.join(', ');\n}\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
{
|
2
2
|
"name": "@teambit/preview",
|
3
|
-
"version": "1.0.
|
3
|
+
"version": "1.0.453",
|
4
4
|
"homepage": "https://bit.cloud/teambit/preview/preview",
|
5
5
|
"main": "dist/index.js",
|
6
6
|
"componentId": {
|
7
7
|
"scope": "teambit.preview",
|
8
8
|
"name": "preview",
|
9
|
-
"version": "1.0.
|
9
|
+
"version": "1.0.453"
|
10
10
|
},
|
11
11
|
"dependencies": {
|
12
12
|
"mime": "2.5.2",
|
@@ -28,35 +28,35 @@
|
|
28
28
|
"@teambit/component-id": "1.2.2",
|
29
29
|
"@teambit/bit-error": "0.0.404",
|
30
30
|
"@teambit/react.webpack.react-webpack": "1.0.37",
|
31
|
-
"@teambit/express": "0.0.
|
32
|
-
"@teambit/logger": "0.0.
|
31
|
+
"@teambit/express": "0.0.1129",
|
32
|
+
"@teambit/logger": "0.0.1123",
|
33
33
|
"@teambit/ui-foundation.ui.pages.static-error": "0.0.105",
|
34
|
-
"@teambit/builder": "1.0.
|
35
|
-
"@teambit/bundler": "1.0.
|
36
|
-
"@teambit/component": "1.0.
|
34
|
+
"@teambit/builder": "1.0.453",
|
35
|
+
"@teambit/bundler": "1.0.453",
|
36
|
+
"@teambit/component": "1.0.453",
|
37
37
|
"@teambit/preview.ui.component-preview": "1.0.16",
|
38
|
-
"@teambit/aspect-loader": "1.0.
|
39
|
-
"@teambit/cli": "0.0.
|
40
|
-
"@teambit/dependency-resolver": "1.0.
|
41
|
-
"@teambit/envs": "1.0.
|
38
|
+
"@teambit/aspect-loader": "1.0.453",
|
39
|
+
"@teambit/cli": "0.0.1030",
|
40
|
+
"@teambit/dependency-resolver": "1.0.453",
|
41
|
+
"@teambit/envs": "1.0.453",
|
42
42
|
"@teambit/toolbox.path.to-windows-compatible-path": "0.0.496",
|
43
43
|
"@teambit/toolbox.crypto.sha1": "0.0.2",
|
44
|
-
"@teambit/ui": "1.0.
|
45
|
-
"@teambit/isolator": "1.0.
|
44
|
+
"@teambit/ui": "1.0.453",
|
45
|
+
"@teambit/isolator": "1.0.453",
|
46
46
|
"@teambit/harmony.modules.harmony-root-generator": "0.0.7",
|
47
47
|
"@teambit/component.sources": "0.0.42",
|
48
48
|
"@teambit/toolbox.path.path": "0.0.4",
|
49
|
-
"@teambit/cache": "0.0.
|
50
|
-
"@teambit/graphql": "1.0.
|
49
|
+
"@teambit/cache": "0.0.1123",
|
50
|
+
"@teambit/graphql": "1.0.453",
|
51
51
|
"@teambit/harmony.modules.feature-toggle": "0.0.6",
|
52
|
-
"@teambit/pkg": "1.0.
|
53
|
-
"@teambit/pubsub": "1.0.
|
54
|
-
"@teambit/scope": "1.0.
|
55
|
-
"@teambit/watcher": "1.0.
|
56
|
-
"@teambit/workspace": "1.0.
|
57
|
-
"@teambit/compiler": "1.0.
|
52
|
+
"@teambit/pkg": "1.0.453",
|
53
|
+
"@teambit/pubsub": "1.0.453",
|
54
|
+
"@teambit/scope": "1.0.453",
|
55
|
+
"@teambit/watcher": "1.0.453",
|
56
|
+
"@teambit/workspace": "1.0.453",
|
57
|
+
"@teambit/compiler": "1.0.453",
|
58
58
|
"@teambit/preview.cli.webpack-events-listener": "0.0.175",
|
59
|
-
"@teambit/webpack": "1.0.
|
59
|
+
"@teambit/webpack": "1.0.453"
|
60
60
|
},
|
61
61
|
"devDependencies": {
|
62
62
|
"@types/mime": "2.0.3",
|
package/preview.start-plugin.tsx
CHANGED
@@ -111,18 +111,21 @@ export class PreviewStartPlugin implements StartPlugin {
|
|
111
111
|
};
|
112
112
|
const previewServer = this.serversMap[id];
|
113
113
|
const spinnerId = getSpinnerId(id);
|
114
|
-
const
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
this.
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
114
|
+
const spinner = this.logger.multiSpinner.spinners[spinnerId];
|
115
|
+
if (spinner && spinner.isActive()) {
|
116
|
+
const errors = results.errors || [];
|
117
|
+
const hasErrors = !!errors.length;
|
118
|
+
const warnings = getWarningsWithoutIgnored(results.warnings);
|
119
|
+
const hasWarnings = !!warnings.length;
|
120
|
+
const url = `http://localhost:${previewServer.port}`;
|
121
|
+
const text = getSpinnerDoneMessage(this.serversMap[id], errors, warnings, url);
|
122
|
+
if (hasErrors) {
|
123
|
+
this.logger.multiSpinner.fail(spinnerId, { text });
|
124
|
+
} else if (hasWarnings) {
|
125
|
+
this.logger.multiSpinner.warn(spinnerId, { text });
|
126
|
+
} else {
|
127
|
+
this.logger.multiSpinner.succeed(spinnerId, { text });
|
128
|
+
}
|
126
129
|
}
|
127
130
|
|
128
131
|
const noneAreCompiling = Object.values(this.serversState).every((x) => !x.isCompiling);
|