@teambit/preview 0.0.519 → 0.0.523

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.
@@ -17,5 +17,5 @@ export declare class PreviewStartPlugin implements StartPlugin {
17
17
  get whenReady(): Promise<void>;
18
18
  private initialState;
19
19
  private updateServers;
20
- render(): () => JSX.Element;
20
+ render: () => JSX.Element;
21
21
  }
@@ -61,6 +61,16 @@ function _previewCli2() {
61
61
  return data;
62
62
  }
63
63
 
64
+ function _compiler() {
65
+ const data = require("@teambit/compiler");
66
+
67
+ _compiler = function () {
68
+ return data;
69
+ };
70
+
71
+ return data;
72
+ }
73
+
64
74
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
65
75
 
66
76
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -83,6 +93,19 @@ class PreviewStartPlugin {
83
93
  this.initialState = typeof servers === 'function' ? servers(this.initialState) : servers;
84
94
  return servers;
85
95
  });
96
+ (0, _defineProperty2().default)(this, "render", () => {
97
+ const [servers, setServers] = (0, _react().useState)(this.initialState);
98
+ this.updateServers = setServers;
99
+ this.initialState = {};
100
+ (0, _react().useEffect)(() => {
101
+ const noneAreCompiling = Object.values(servers).every(x => !x.compiling);
102
+ if (noneAreCompiling) this.setReady();
103
+ }, [servers]);
104
+ return /*#__PURE__*/_react().default.createElement(_previewCli().PreviewServerStatus, {
105
+ previewServers: this.previewServers,
106
+ serverStats: servers
107
+ });
108
+ });
86
109
  }
87
110
 
88
111
  async initiate(options) {
@@ -103,7 +126,8 @@ class PreviewStartPlugin {
103
126
  onAdd: () => {},
104
127
  onError: () => {},
105
128
  onUnlink: () => {}
106
- }
129
+ },
130
+ initiator: _compiler().CompilationInitiator.Start
107
131
  });
108
132
  this.previewServers = this.previewServers.concat(previewServers);
109
133
  }
@@ -145,28 +169,6 @@ class PreviewStartPlugin {
145
169
  return this.readyPromise;
146
170
  }
147
171
 
148
- render() {
149
- const handleStart = setServers => {
150
- this.updateServers = setServers;
151
- this.initialState = {};
152
- };
153
-
154
- const PreviewPlugin = () => {
155
- const [servers, setServers] = (0, _react().useState)(this.initialState);
156
- handleStart(setServers);
157
- (0, _react().useEffect)(() => {
158
- const noneAreCompiling = Object.values(servers).every(x => !x.compiling);
159
- if (noneAreCompiling) this.setReady();
160
- }, [servers]);
161
- return /*#__PURE__*/_react().default.createElement(_previewCli().PreviewServerStatus, {
162
- previewServers: this.previewServers,
163
- serverStats: servers
164
- });
165
- };
166
-
167
- return PreviewPlugin;
168
- }
169
-
170
172
  }
171
173
 
172
174
  exports.PreviewStartPlugin = PreviewStartPlugin;
@@ -1 +1 @@
1
- {"version":3,"sources":["preview.start-plugin.tsx"],"names":["PreviewStartPlugin","constructor","workspace","bundler","ui","pubsub","Promise","resolve","setReady","servers","initialState","initiate","options","listenToDevServers","components","byPattern","pattern","previewServers","devServer","forEach","server","listen","watcher","watchAll","msgs","onAll","onStart","onReady","onChange","onAdd","onError","onUnlink","concat","getProxy","proxyConfigs","map","context","envRuntime","id","target","port","ws","updateServers","state","compiling","onDone","results","whenReady","readyPromise","render","handleStart","setServers","PreviewPlugin","noneAreCompiling","Object","values","every","x"],"mappings":"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","sourcesContent":["import React, { useState, useEffect, Dispatch, SetStateAction } from 'react';\nimport { flatten } from 'lodash';\nimport { PreviewServerStatus } from '@teambit/preview.cli.preview-server-status';\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';\n\ntype CompilationServers = Record<string, CompilationResult>;\ntype ServersSetter = Dispatch<SetStateAction<CompilationServers>>;\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 ) {}\n\n previewServers: ComponentServer[] = [];\n\n async initiate(options: StartPluginOptions) {\n this.listenToDevServers();\n\n const components = await this.workspace.byPattern(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 // eslint-disable-next-line @typescript-eslint/no-misused-promises\n previewServers.forEach((server) => server.listen());\n // DON'T add wait! this promise never resolve so it's stop all the start process!\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this.workspace.watcher.watchAll({\n msgs: {\n onAll: () => {},\n onStart: () => {},\n onReady: () => {},\n onChange: () => {},\n onAdd: () => {},\n onError: () => {},\n onUnlink: () => {},\n },\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.updateServers((state) => ({\n ...state,\n [id]: { compiling: true },\n }));\n },\n onDone: (id, results) => {\n this.updateServers((state) => ({\n ...state,\n [id]: results,\n }));\n },\n });\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 private initialState: CompilationServers = {};\n // implements react-like setter (value or updater)\n private updateServers: ServersSetter = (servers) => {\n this.initialState = typeof servers === 'function' ? servers(this.initialState) : servers;\n return servers;\n };\n\n render() {\n const handleStart = (setServers: ServersSetter) => {\n this.updateServers = setServers;\n this.initialState = {};\n };\n\n const PreviewPlugin = () => {\n const [servers, setServers] = useState<CompilationServers>(this.initialState);\n handleStart(setServers);\n\n useEffect(() => {\n const noneAreCompiling = Object.values(servers).every((x) => !x.compiling);\n if (noneAreCompiling) this.setReady();\n }, [servers]);\n\n return <PreviewServerStatus previewServers={this.previewServers} serverStats={servers} />;\n };\n\n return PreviewPlugin;\n }\n}\n"]}
1
+ {"version":3,"sources":["preview.start-plugin.tsx"],"names":["PreviewStartPlugin","constructor","workspace","bundler","ui","pubsub","Promise","resolve","setReady","servers","initialState","setServers","updateServers","noneAreCompiling","Object","values","every","x","compiling","previewServers","initiate","options","listenToDevServers","components","byPattern","pattern","devServer","forEach","server","listen","watcher","watchAll","msgs","onAll","onStart","onReady","onChange","onAdd","onError","onUnlink","initiator","CompilationInitiator","Start","concat","getProxy","proxyConfigs","map","context","envRuntime","id","target","port","ws","state","onDone","results","whenReady","readyPromise"],"mappings":"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","sourcesContent":["import React, { useState, useEffect, Dispatch, SetStateAction } from 'react';\nimport { flatten } from 'lodash';\nimport { PreviewServerStatus } from '@teambit/preview.cli.preview-server-status';\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';\n\ntype CompilationServers = Record<string, CompilationResult>;\ntype ServersSetter = Dispatch<SetStateAction<CompilationServers>>;\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 ) {}\n\n previewServers: ComponentServer[] = [];\n\n async initiate(options: StartPluginOptions) {\n this.listenToDevServers();\n\n const components = await this.workspace.byPattern(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 // eslint-disable-next-line @typescript-eslint/no-misused-promises\n previewServers.forEach((server) => server.listen());\n // DON'T add wait! this promise never resolve so it's stop all the start process!\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this.workspace.watcher.watchAll({\n msgs: {\n onAll: () => {},\n onStart: () => {},\n onReady: () => {},\n onChange: () => {},\n onAdd: () => {},\n onError: () => {},\n onUnlink: () => {},\n },\n initiator: CompilationInitiator.Start,\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.updateServers((state) => ({\n ...state,\n [id]: { compiling: true },\n }));\n },\n onDone: (id, results) => {\n this.updateServers((state) => ({\n ...state,\n [id]: results,\n }));\n },\n });\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 private initialState: CompilationServers = {};\n // implements react-like setter (value or updater)\n private updateServers: ServersSetter = (servers) => {\n this.initialState = typeof servers === 'function' ? servers(this.initialState) : servers;\n return servers;\n };\n\n render = () => {\n const [servers, setServers] = useState<CompilationServers>(this.initialState);\n this.updateServers = setServers;\n this.initialState = {};\n\n useEffect(() => {\n const noneAreCompiling = Object.values(servers).every((x) => !x.compiling);\n if (noneAreCompiling) this.setReady();\n }, [servers]);\n\n return <PreviewServerStatus previewServers={this.previewServers} serverStats={servers} />;\n };\n}\n"]}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/preview",
3
- "version": "0.0.519",
3
+ "version": "0.0.523",
4
4
  "homepage": "https://bit.dev/teambit/preview/preview",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.preview",
8
8
  "name": "preview",
9
- "version": "0.0.519"
9
+ "version": "0.0.523"
10
10
  },
11
11
  "dependencies": {
12
12
  "fs-extra": "10.0.0",
@@ -17,25 +17,25 @@
17
17
  "mime": "2.5.2",
18
18
  "@babel/runtime": "7.12.18",
19
19
  "core-js": "^3.0.0",
20
- "@teambit/builder": "0.0.519",
21
- "@teambit/bundler": "0.0.519",
22
- "@teambit/component": "0.0.519",
23
- "@teambit/envs": "0.0.519",
24
- "@teambit/toolbox.path.to-windows-compatible-path": "0.0.441",
25
- "@teambit/aspect-loader": "0.0.519",
20
+ "@teambit/builder": "0.0.523",
21
+ "@teambit/bundler": "0.0.523",
22
+ "@teambit/component": "0.0.523",
23
+ "@teambit/envs": "0.0.523",
24
+ "@teambit/toolbox.path.to-windows-compatible-path": "0.0.442",
25
+ "@teambit/aspect-loader": "0.0.523",
26
26
  "@teambit/cli": "0.0.379",
27
- "@teambit/logger": "0.0.448",
28
- "@teambit/pkg": "0.0.519",
29
- "@teambit/pubsub": "0.0.519",
30
- "@teambit/ui": "0.0.519",
31
- "@teambit/workspace": "0.0.519",
27
+ "@teambit/logger": "0.0.449",
28
+ "@teambit/pkg": "0.0.523",
29
+ "@teambit/pubsub": "0.0.523",
30
+ "@teambit/ui": "0.0.523",
31
+ "@teambit/workspace": "0.0.523",
32
32
  "@teambit/component-id": "0.0.369",
33
- "@teambit/express": "0.0.452",
34
- "@teambit/ui-foundation.ui.pages.static-error": "0.0.28",
35
- "@teambit/preview.cli.preview-server-status": "0.0.446",
36
- "@teambit/preview.cli.webpack-events-listener": "0.0.117",
37
- "@teambit/compiler": "0.0.519",
38
- "@teambit/isolator": "0.0.519",
33
+ "@teambit/express": "0.0.453",
34
+ "@teambit/ui-foundation.ui.pages.static-error": "0.0.29",
35
+ "@teambit/compiler": "0.0.523",
36
+ "@teambit/preview.cli.preview-server-status": "0.0.447",
37
+ "@teambit/preview.cli.webpack-events-listener": "0.0.118",
38
+ "@teambit/isolator": "0.0.523",
39
39
  "@teambit/bit-error": "0.0.365"
40
40
  },
41
41
  "devDependencies": {
@@ -49,7 +49,7 @@
49
49
  "@types/jest": "^26.0.0",
50
50
  "@types/react-dom": "^17.0.5",
51
51
  "@types/node": "12.20.4",
52
- "@teambit/preview.aspect-docs.preview": "0.0.84"
52
+ "@teambit/preview.aspect-docs.preview": "0.0.85"
53
53
  },
54
54
  "peerDependencies": {
55
55
  "@teambit/legacy": "1.0.76",
@@ -6,6 +6,7 @@ import { PubsubMain } from '@teambit/pubsub';
6
6
  import { ProxyEntry, StartPlugin, StartPluginOptions, UiMain } from '@teambit/ui';
7
7
  import { Workspace } from '@teambit/workspace';
8
8
  import { SubscribeToWebpackEvents, CompilationResult } from '@teambit/preview.cli.webpack-events-listener';
9
+ import { CompilationInitiator } from '@teambit/compiler';
9
10
 
10
11
  type CompilationServers = Record<string, CompilationResult>;
11
12
  type ServersSetter = Dispatch<SetStateAction<CompilationServers>>;
@@ -40,6 +41,7 @@ export class PreviewStartPlugin implements StartPlugin {
40
41
  onError: () => {},
41
42
  onUnlink: () => {},
42
43
  },
44
+ initiator: CompilationInitiator.Start,
43
45
  });
44
46
  this.previewServers = this.previewServers.concat(previewServers);
45
47
  }
@@ -94,24 +96,16 @@ export class PreviewStartPlugin implements StartPlugin {
94
96
  return servers;
95
97
  };
96
98
 
97
- render() {
98
- const handleStart = (setServers: ServersSetter) => {
99
- this.updateServers = setServers;
100
- this.initialState = {};
101
- };
99
+ render = () => {
100
+ const [servers, setServers] = useState<CompilationServers>(this.initialState);
101
+ this.updateServers = setServers;
102
+ this.initialState = {};
102
103
 
103
- const PreviewPlugin = () => {
104
- const [servers, setServers] = useState<CompilationServers>(this.initialState);
105
- handleStart(setServers);
104
+ useEffect(() => {
105
+ const noneAreCompiling = Object.values(servers).every((x) => !x.compiling);
106
+ if (noneAreCompiling) this.setReady();
107
+ }, [servers]);
106
108
 
107
- useEffect(() => {
108
- const noneAreCompiling = Object.values(servers).every((x) => !x.compiling);
109
- if (noneAreCompiling) this.setReady();
110
- }, [servers]);
111
-
112
- return <PreviewServerStatus previewServers={this.previewServers} serverStats={servers} />;
113
- };
114
-
115
- return PreviewPlugin;
116
- }
109
+ return <PreviewServerStatus previewServers={this.previewServers} serverStats={servers} />;
110
+ };
117
111
  }