@teambit/preview 1.0.1110 → 1.0.1113

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.
@@ -6,5 +6,11 @@
6
6
  "entrypoints": [
7
7
  "static/css/main.4ca1b6f6.css",
8
8
  "static/js/main.38bed1c2.cjs"
9
- ]
9
+ ],
10
+ "entrypointsByName": {
11
+ "main": [
12
+ "static/css/main.4ca1b6f6.css",
13
+ "static/js/main.38bed1c2.cjs"
14
+ ]
15
+ }
10
16
  }
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Same switch and output format as the UI bundle's `rspack/bundle-stats.ts`, so one build with
3
+ * `BIT_UI_BUNDLE_STATS=1` produces stats for the ui and preview bundles together and
4
+ * `scripts/analyze-bundle.mjs` reads them the same way.
5
+ *
6
+ * Deliberately a small copy rather than an import from `@teambit/ui`: that package's index is
7
+ * imported by browser code, and pulling a node-only module through it drags `fs` polyfills into
8
+ * the UI bundle.
9
+ */
10
+ export declare const BUNDLE_STATS_ENV_VAR = "BIT_UI_BUNDLE_STATS";
11
+ /**
12
+ * Write an rspack stats file for a finished compilation. Written outside the output directory: the
13
+ * build task's artifact glob matches everything under it, so a stats file placed there would ship.
14
+ */
15
+ export declare function writeBundleStats(stats: any, name: string): string | undefined;
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.BUNDLE_STATS_ENV_VAR = void 0;
7
+ exports.writeBundleStats = writeBundleStats;
8
+ function _path() {
9
+ const data = require("path");
10
+ _path = function () {
11
+ return data;
12
+ };
13
+ return data;
14
+ }
15
+ function _fsExtra() {
16
+ const data = require("fs-extra");
17
+ _fsExtra = function () {
18
+ return data;
19
+ };
20
+ return data;
21
+ }
22
+ /**
23
+ * Same switch and output format as the UI bundle's `rspack/bundle-stats.ts`, so one build with
24
+ * `BIT_UI_BUNDLE_STATS=1` produces stats for the ui and preview bundles together and
25
+ * `scripts/analyze-bundle.mjs` reads them the same way.
26
+ *
27
+ * Deliberately a small copy rather than an import from `@teambit/ui`: that package's index is
28
+ * imported by browser code, and pulling a node-only module through it drags `fs` polyfills into
29
+ * the UI bundle.
30
+ */
31
+ const BUNDLE_STATS_ENV_VAR = exports.BUNDLE_STATS_ENV_VAR = 'BIT_UI_BUNDLE_STATS';
32
+ function bundleStatsDir() {
33
+ const value = process.env[BUNDLE_STATS_ENV_VAR];
34
+ if (!value) return undefined;
35
+ if (value === '1' || value === 'true') return (0, _path().join)(process.cwd(), 'bundle-stats');
36
+ return value;
37
+ }
38
+
39
+ /**
40
+ * Write an rspack stats file for a finished compilation. Written outside the output directory: the
41
+ * build task's artifact glob matches everything under it, so a stats file placed there would ship.
42
+ */
43
+ function writeBundleStats(stats, name) {
44
+ const dir = bundleStatsDir();
45
+ if (!dir || !stats) return undefined;
46
+ const json = stats.toJson({
47
+ all: false,
48
+ assets: true,
49
+ chunks: true,
50
+ chunkModules: true,
51
+ modules: true,
52
+ reasons: false,
53
+ source: false,
54
+ // rspack otherwise collapses assets and modules into summary rows ("assets by status", …) that
55
+ // carry a size but no name, which reads as one large unattributable bucket in any analysis.
56
+ cachedAssets: true,
57
+ cachedModules: true,
58
+ orphanModules: true,
59
+ nestedModules: true,
60
+ groupAssetsByStatus: false,
61
+ groupAssetsByEmitStatus: false,
62
+ groupAssetsByInfo: false,
63
+ groupAssetsByPath: false,
64
+ groupAssetsByExtension: false,
65
+ groupAssetsByChunk: false,
66
+ groupModulesByStatus: false,
67
+ groupModulesByAttributes: false,
68
+ groupModulesByPath: false,
69
+ groupModulesByExtension: false,
70
+ groupModulesByType: false,
71
+ groupModulesByCacheStatus: false,
72
+ groupModulesByLayer: false
73
+ });
74
+ (0, _fsExtra().mkdirpSync)(dir);
75
+ // sanitized for the same reason as the ui twin: a name carrying a path separator would point the
76
+ // write at a directory that does not exist and fail with ENOENT.
77
+ const filePath = (0, _path().join)(dir, `${name.replace(/[^a-zA-Z0-9._-]+/g, '-')}.stats.json`);
78
+ (0, _fsExtra().writeFileSync)(filePath, JSON.stringify(json));
79
+ return filePath;
80
+ }
81
+
82
+ //# sourceMappingURL=bundle-stats.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_path","data","require","_fsExtra","BUNDLE_STATS_ENV_VAR","exports","bundleStatsDir","value","process","env","undefined","join","cwd","writeBundleStats","stats","name","dir","json","toJson","all","assets","chunks","chunkModules","modules","reasons","source","cachedAssets","cachedModules","orphanModules","nestedModules","groupAssetsByStatus","groupAssetsByEmitStatus","groupAssetsByInfo","groupAssetsByPath","groupAssetsByExtension","groupAssetsByChunk","groupModulesByStatus","groupModulesByAttributes","groupModulesByPath","groupModulesByExtension","groupModulesByType","groupModulesByCacheStatus","groupModulesByLayer","mkdirpSync","filePath","replace","writeFileSync","JSON","stringify"],"sources":["bundle-stats.ts"],"sourcesContent":["import { join } from 'path';\nimport { mkdirpSync, writeFileSync } from 'fs-extra';\n\n/**\n * Same switch and output format as the UI bundle's `rspack/bundle-stats.ts`, so one build with\n * `BIT_UI_BUNDLE_STATS=1` produces stats for the ui and preview bundles together and\n * `scripts/analyze-bundle.mjs` reads them the same way.\n *\n * Deliberately a small copy rather than an import from `@teambit/ui`: that package's index is\n * imported by browser code, and pulling a node-only module through it drags `fs` polyfills into\n * the UI bundle.\n */\nexport const BUNDLE_STATS_ENV_VAR = 'BIT_UI_BUNDLE_STATS';\n\nfunction bundleStatsDir(): string | undefined {\n const value = process.env[BUNDLE_STATS_ENV_VAR];\n if (!value) return undefined;\n if (value === '1' || value === 'true') return join(process.cwd(), 'bundle-stats');\n return value;\n}\n\n/**\n * Write an rspack stats file for a finished compilation. Written outside the output directory: the\n * build task's artifact glob matches everything under it, so a stats file placed there would ship.\n */\nexport function writeBundleStats(stats: any, name: string): string | undefined {\n const dir = bundleStatsDir();\n if (!dir || !stats) return undefined;\n const json = stats.toJson({\n all: false,\n assets: true,\n chunks: true,\n chunkModules: true,\n modules: true,\n reasons: false,\n source: false,\n // rspack otherwise collapses assets and modules into summary rows (\"assets by status\", …) that\n // carry a size but no name, which reads as one large unattributable bucket in any analysis.\n cachedAssets: true,\n cachedModules: true,\n orphanModules: true,\n nestedModules: true,\n groupAssetsByStatus: false,\n groupAssetsByEmitStatus: false,\n groupAssetsByInfo: false,\n groupAssetsByPath: false,\n groupAssetsByExtension: false,\n groupAssetsByChunk: false,\n groupModulesByStatus: false,\n groupModulesByAttributes: false,\n groupModulesByPath: false,\n groupModulesByExtension: false,\n groupModulesByType: false,\n groupModulesByCacheStatus: false,\n groupModulesByLayer: false,\n });\n mkdirpSync(dir);\n // sanitized for the same reason as the ui twin: a name carrying a path separator would point the\n // write at a directory that does not exist and fail with ENOENT.\n const filePath = join(dir, `${name.replace(/[^a-zA-Z0-9._-]+/g, '-')}.stats.json`);\n writeFileSync(filePath, JSON.stringify(json));\n return filePath;\n}\n"],"mappings":";;;;;;;AAAA,SAAAA,MAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,KAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,SAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,QAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMG,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,GAAG,qBAAqB;AAEzD,SAASE,cAAcA,CAAA,EAAuB;EAC5C,MAAMC,KAAK,GAAGC,OAAO,CAACC,GAAG,CAACL,oBAAoB,CAAC;EAC/C,IAAI,CAACG,KAAK,EAAE,OAAOG,SAAS;EAC5B,IAAIH,KAAK,KAAK,GAAG,IAAIA,KAAK,KAAK,MAAM,EAAE,OAAO,IAAAI,YAAI,EAACH,OAAO,CAACI,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC;EACjF,OAAOL,KAAK;AACd;;AAEA;AACA;AACA;AACA;AACO,SAASM,gBAAgBA,CAACC,KAAU,EAAEC,IAAY,EAAsB;EAC7E,MAAMC,GAAG,GAAGV,cAAc,CAAC,CAAC;EAC5B,IAAI,CAACU,GAAG,IAAI,CAACF,KAAK,EAAE,OAAOJ,SAAS;EACpC,MAAMO,IAAI,GAAGH,KAAK,CAACI,MAAM,CAAC;IACxBC,GAAG,EAAE,KAAK;IACVC,MAAM,EAAE,IAAI;IACZC,MAAM,EAAE,IAAI;IACZC,YAAY,EAAE,IAAI;IAClBC,OAAO,EAAE,IAAI;IACbC,OAAO,EAAE,KAAK;IACdC,MAAM,EAAE,KAAK;IACb;IACA;IACAC,YAAY,EAAE,IAAI;IAClBC,aAAa,EAAE,IAAI;IACnBC,aAAa,EAAE,IAAI;IACnBC,aAAa,EAAE,IAAI;IACnBC,mBAAmB,EAAE,KAAK;IAC1BC,uBAAuB,EAAE,KAAK;IAC9BC,iBAAiB,EAAE,KAAK;IACxBC,iBAAiB,EAAE,KAAK;IACxBC,sBAAsB,EAAE,KAAK;IAC7BC,kBAAkB,EAAE,KAAK;IACzBC,oBAAoB,EAAE,KAAK;IAC3BC,wBAAwB,EAAE,KAAK;IAC/BC,kBAAkB,EAAE,KAAK;IACzBC,uBAAuB,EAAE,KAAK;IAC9BC,kBAAkB,EAAE,KAAK;IACzBC,yBAAyB,EAAE,KAAK;IAChCC,mBAAmB,EAAE;EACvB,CAAC,CAAC;EACF,IAAAC,qBAAU,EAAC3B,GAAG,CAAC;EACf;EACA;EACA,MAAM4B,QAAQ,GAAG,IAAAjC,YAAI,EAACK,GAAG,EAAE,GAAGD,IAAI,CAAC8B,OAAO,CAAC,mBAAmB,EAAE,GAAG,CAAC,aAAa,CAAC;EAClF,IAAAC,wBAAa,EAACF,QAAQ,EAAEG,IAAI,CAACC,SAAS,CAAC/B,IAAI,CAAC,CAAC;EAC7C,OAAO2B,QAAQ;AACjB","ignoreList":[]}
@@ -84,6 +84,13 @@ function _mkTempDir() {
84
84
  };
85
85
  return data;
86
86
  }
87
+ function _bundleStats() {
88
+ const data = require("./bundle-stats");
89
+ _bundleStats = function () {
90
+ return data;
91
+ };
92
+ return data;
93
+ }
87
94
  function _rspack() {
88
95
  const data = require("./rspack/rspack.config");
89
96
  _rspack = function () {
@@ -175,6 +182,12 @@ async function buildPreBundlePreview(resolvedAspects, customOutputDir) {
175
182
  (0, _preBundleUtils().clearConsole)();
176
183
  throw new Error(results?.toString({}));
177
184
  }
185
+ // opt-in, same switch the ui bundle uses - see `BUNDLE_STATS_ENV_VAR`. never fails the build.
186
+ try {
187
+ (0, _bundleStats().writeBundleStats)(results, 'preview');
188
+ } catch (err) {
189
+ _legacy().logger.debug(`failed writing preview bundle stats: ${err?.message || err}`);
190
+ }
178
191
  return results;
179
192
  } finally {
180
193
  await closeRspackCompiler(compiler);
@@ -1 +1 @@
1
- {"version":3,"names":["_path","data","require","_util","_core","_fsExtra","_interopRequireWildcard","_legacy","_harmonyModules","_toolboxCrypto","_normalizePath","_interopRequireDefault","_preview","_preBundleUtils","_mkTempDir","_rspack","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","previewDistDir","getPreviewDistDir","RUNTIME_NAME","exports","PUBLIC_DIR","join","UIROOT_ASPECT_ID","ENTRY_CONTENT_TEMPLATE","generatePreBundlePreviewEntry","aspectDefs","rootExtensionName","runtimeName","rootAspectId","dir","harmonyImport","createHarmonyImports","imports","createImports","identifiers","getIdentifiers","idSetters","getIdSetters","contents","replace","replaceAll","JSON","stringify","entryPath","resolve","sha1","fs","existsSync","outputFileSync","buildPreBundlePreview","resolvedAspects","customOutputDir","outputDir","mainEntry","PreviewAspect","id","__dirname","config","createRspackConfig","compiler","rspack","compilerRun","promisify","run","bind","results","Error","hasErrors","clearConsole","toString","closeRspackCompiler","close","Promise","done","err","logger","debug","message","generateBundlePreviewEntry","previewPreBundlePath","manifestPath","manifest","readJsonSync","entrypoints","map","entry","normalizePath","endsWith","previewRuntime"],"sources":["pre-bundle.ts"],"sourcesContent":["import { join, resolve } from 'path';\nimport { promisify } from 'util';\nimport { rspack } from '@rspack/core';\nimport fs, { existsSync, outputFileSync, readJsonSync } from 'fs-extra';\nimport type { AspectDefinition } from '@teambit/aspect-loader';\nimport { logger } from '@teambit/legacy.logger';\nimport {\n createHarmonyImports,\n createImports,\n getIdSetters,\n getIdentifiers,\n} from '@teambit/harmony.modules.harmony-root-generator';\nimport { sha1 } from '@teambit/toolbox.crypto.sha1';\nimport normalizePath from 'normalize-path';\nimport { PreviewAspect } from './preview.aspect';\nimport { clearConsole } from './pre-bundle-utils';\nimport { getPreviewDistDir } from './mk-temp-dir';\nimport { createRspackConfig } from './rspack/rspack.config';\n\nconst previewDistDir = getPreviewDistDir();\n\nexport const RUNTIME_NAME = 'preview';\nexport const PUBLIC_DIR = join('public', 'bit-preview');\nexport const UIROOT_ASPECT_ID = 'teambit.workspace/workspace';\n\nconst ENTRY_CONTENT_TEMPLATE = `__IMPORTS__\n\nexport const run = (config, customAspects = []) => {\n const isBrowser = typeof window !== \"undefined\";\n const windowConfig = isBrowser ? window.harmonyAppConfig : undefined;\n const mergedConfig = { ...config, ...windowConfig };\n __ID_SETTERS__\n function render(...props) {\n return Harmony.load(\n [\n ...customAspects,\n __IDENTIFIERS__,\n ],\n __RUNTIME_NAME__,\n mergedConfig\n ).then((harmony) => {\n return harmony\n .run()\n .then(() => harmony.get(__ROOT_ASPECT__))\n .then((rootExtension) => {\n const ssrSetup = !isBrowser && rootExtension.setupSsr;\n const setup = rootExtension.setup;\n const setupFunc = (ssrSetup || setup || function noop() {}).bind(\n rootExtension\n );\n return Promise.resolve(setupFunc()).then(\n () => {\n return rootExtension\n }\n );\n })\n .then((rootExtension) => {\n if (isBrowser) {\n return rootExtension.render(\n __ROOT_EXTENSION_NAME__,\n ...props\n );\n } else {\n return rootExtension.renderSsr(\n __ROOT_EXTENSION_NAME__,\n ...props\n );\n }\n })\n .catch((err) => {\n throw err;\n });\n });\n }\n if (isBrowser || __RUNTIME_NAME__ === \"main\") render();\n};\n`;\n\nexport const generatePreBundlePreviewEntry = (\n aspectDefs: AspectDefinition[],\n rootExtensionName: string,\n runtimeName: string,\n rootAspectId: string,\n dir: string\n) => {\n const harmonyImport = createHarmonyImports();\n const imports = createImports(aspectDefs);\n const identifiers = getIdentifiers(aspectDefs, 'Aspect');\n const idSetters = getIdSetters(aspectDefs, 'Aspect');\n const contents = ENTRY_CONTENT_TEMPLATE.replace('__IMPORTS__', [harmonyImport, imports].join('\\n'))\n .replace('__IDENTIFIERS__', identifiers.join(', '))\n .replace('__ID_SETTERS__', idSetters.join('\\n'))\n .replaceAll('__RUNTIME_NAME__', JSON.stringify(runtimeName))\n .replaceAll('__ROOT_ASPECT__', JSON.stringify(rootAspectId))\n .replaceAll('__ROOT_EXTENSION_NAME__', JSON.stringify(rootExtensionName));\n const entryPath = resolve(join(dir, `ui-bundle-entry.${sha1(contents)}.js`));\n if (!fs.existsSync(entryPath)) {\n fs.outputFileSync(entryPath, contents);\n }\n return entryPath;\n};\n\nexport async function buildPreBundlePreview(resolvedAspects: AspectDefinition[], customOutputDir?: string) {\n const outputDir = customOutputDir || resolve(PUBLIC_DIR);\n const mainEntry = generatePreBundlePreviewEntry(\n resolvedAspects,\n UIROOT_ASPECT_ID,\n RUNTIME_NAME,\n PreviewAspect.id,\n __dirname\n );\n const config = createRspackConfig(outputDir, mainEntry);\n const compiler = rspack(config as any);\n try {\n const compilerRun = promisify(compiler.run.bind(compiler));\n const results = await compilerRun();\n if (!results) throw new Error();\n if (results?.hasErrors()) {\n clearConsole();\n throw new Error(results?.toString({}));\n }\n return results;\n } finally {\n await closeRspackCompiler(compiler);\n }\n}\n\n/**\n * Release the compiler's module graph, and rspack's native side of it, as soon as the bundle is\n * done. Both callers keep the process alive well past this point: the PreBundlePreview build task\n * runs once per env inside a `bit build` that runs every task in one process, and `bit start`\n * pre-bundles on demand in a server that then keeps running.\n *\n * Never throws - it runs from a `finally`, and a cleanup failure must not replace the build error\n * that sent us there. A failure is logged rather than swallowed, otherwise a compiler that never\n * releases looks exactly like one that does.\n */\nasync function closeRspackCompiler(compiler: { close?: (callback: (err?: Error | null) => void) => void }) {\n const close = compiler.close;\n if (typeof close !== 'function') return;\n try {\n await new Promise<void>((done) => {\n close.call(compiler, (err) => {\n if (err) logger.debug(`failed closing the preview rspack compiler: ${err.message || err}`);\n done();\n });\n });\n } catch (err: any) {\n logger.debug(`failed closing the preview rspack compiler: ${err?.message || err}`);\n }\n}\n\nexport async function generateBundlePreviewEntry(rootAspectId: string, previewPreBundlePath: string, config: object) {\n const manifestPath = join(previewPreBundlePath, 'asset-manifest.json');\n const manifest = readJsonSync(manifestPath);\n const imports = manifest.entrypoints\n .map((entry: string) => {\n const entryPath = normalizePath(join(previewPreBundlePath, entry));\n return entry.endsWith('.js') || entry.endsWith('.cjs') || entry.endsWith('.mjs')\n ? `import { run } from '${entryPath}';`\n : `import '${entryPath}';`;\n })\n .join('\\n');\n config['teambit.harmony/bit'] = rootAspectId;\n\n const contents = [imports, `run(${JSON.stringify(config, null, 2)});`].join('\\n');\n const previewRuntime = resolve(join(previewDistDir, `preview.entry.${sha1(contents)}.js`));\n\n if (!existsSync(previewRuntime)) {\n outputFileSync(previewRuntime, contents);\n }\n\n return previewRuntime;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_path","data","require","_util","_core","_fsExtra","_interopRequireWildcard","_legacy","_harmonyModules","_toolboxCrypto","_normalizePath","_interopRequireDefault","_preview","_preBundleUtils","_mkTempDir","_bundleStats","_rspack","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","previewDistDir","getPreviewDistDir","RUNTIME_NAME","exports","PUBLIC_DIR","join","UIROOT_ASPECT_ID","ENTRY_CONTENT_TEMPLATE","generatePreBundlePreviewEntry","aspectDefs","rootExtensionName","runtimeName","rootAspectId","dir","harmonyImport","createHarmonyImports","imports","createImports","identifiers","getIdentifiers","idSetters","getIdSetters","contents","replace","replaceAll","JSON","stringify","entryPath","resolve","sha1","fs","existsSync","outputFileSync","buildPreBundlePreview","resolvedAspects","customOutputDir","outputDir","mainEntry","PreviewAspect","id","__dirname","config","createRspackConfig","compiler","rspack","compilerRun","promisify","run","bind","results","Error","hasErrors","clearConsole","toString","writeBundleStats","err","logger","debug","message","closeRspackCompiler","close","Promise","done","generateBundlePreviewEntry","previewPreBundlePath","manifestPath","manifest","readJsonSync","entrypoints","map","entry","normalizePath","endsWith","previewRuntime"],"sources":["pre-bundle.ts"],"sourcesContent":["import { join, resolve } from 'path';\nimport { promisify } from 'util';\nimport { rspack } from '@rspack/core';\nimport fs, { existsSync, outputFileSync, readJsonSync } from 'fs-extra';\nimport type { AspectDefinition } from '@teambit/aspect-loader';\nimport { logger } from '@teambit/legacy.logger';\nimport {\n createHarmonyImports,\n createImports,\n getIdSetters,\n getIdentifiers,\n} from '@teambit/harmony.modules.harmony-root-generator';\nimport { sha1 } from '@teambit/toolbox.crypto.sha1';\nimport normalizePath from 'normalize-path';\nimport { PreviewAspect } from './preview.aspect';\nimport { clearConsole } from './pre-bundle-utils';\nimport { getPreviewDistDir } from './mk-temp-dir';\nimport { writeBundleStats } from './bundle-stats';\nimport { createRspackConfig } from './rspack/rspack.config';\n\nconst previewDistDir = getPreviewDistDir();\n\nexport const RUNTIME_NAME = 'preview';\nexport const PUBLIC_DIR = join('public', 'bit-preview');\nexport const UIROOT_ASPECT_ID = 'teambit.workspace/workspace';\n\nconst ENTRY_CONTENT_TEMPLATE = `__IMPORTS__\n\nexport const run = (config, customAspects = []) => {\n const isBrowser = typeof window !== \"undefined\";\n const windowConfig = isBrowser ? window.harmonyAppConfig : undefined;\n const mergedConfig = { ...config, ...windowConfig };\n __ID_SETTERS__\n function render(...props) {\n return Harmony.load(\n [\n ...customAspects,\n __IDENTIFIERS__,\n ],\n __RUNTIME_NAME__,\n mergedConfig\n ).then((harmony) => {\n return harmony\n .run()\n .then(() => harmony.get(__ROOT_ASPECT__))\n .then((rootExtension) => {\n const ssrSetup = !isBrowser && rootExtension.setupSsr;\n const setup = rootExtension.setup;\n const setupFunc = (ssrSetup || setup || function noop() {}).bind(\n rootExtension\n );\n return Promise.resolve(setupFunc()).then(\n () => {\n return rootExtension\n }\n );\n })\n .then((rootExtension) => {\n if (isBrowser) {\n return rootExtension.render(\n __ROOT_EXTENSION_NAME__,\n ...props\n );\n } else {\n return rootExtension.renderSsr(\n __ROOT_EXTENSION_NAME__,\n ...props\n );\n }\n })\n .catch((err) => {\n throw err;\n });\n });\n }\n if (isBrowser || __RUNTIME_NAME__ === \"main\") render();\n};\n`;\n\nexport const generatePreBundlePreviewEntry = (\n aspectDefs: AspectDefinition[],\n rootExtensionName: string,\n runtimeName: string,\n rootAspectId: string,\n dir: string\n) => {\n const harmonyImport = createHarmonyImports();\n const imports = createImports(aspectDefs);\n const identifiers = getIdentifiers(aspectDefs, 'Aspect');\n const idSetters = getIdSetters(aspectDefs, 'Aspect');\n const contents = ENTRY_CONTENT_TEMPLATE.replace('__IMPORTS__', [harmonyImport, imports].join('\\n'))\n .replace('__IDENTIFIERS__', identifiers.join(', '))\n .replace('__ID_SETTERS__', idSetters.join('\\n'))\n .replaceAll('__RUNTIME_NAME__', JSON.stringify(runtimeName))\n .replaceAll('__ROOT_ASPECT__', JSON.stringify(rootAspectId))\n .replaceAll('__ROOT_EXTENSION_NAME__', JSON.stringify(rootExtensionName));\n const entryPath = resolve(join(dir, `ui-bundle-entry.${sha1(contents)}.js`));\n if (!fs.existsSync(entryPath)) {\n fs.outputFileSync(entryPath, contents);\n }\n return entryPath;\n};\n\nexport async function buildPreBundlePreview(resolvedAspects: AspectDefinition[], customOutputDir?: string) {\n const outputDir = customOutputDir || resolve(PUBLIC_DIR);\n const mainEntry = generatePreBundlePreviewEntry(\n resolvedAspects,\n UIROOT_ASPECT_ID,\n RUNTIME_NAME,\n PreviewAspect.id,\n __dirname\n );\n const config = createRspackConfig(outputDir, mainEntry);\n const compiler = rspack(config as any);\n try {\n const compilerRun = promisify(compiler.run.bind(compiler));\n const results = await compilerRun();\n if (!results) throw new Error();\n if (results?.hasErrors()) {\n clearConsole();\n throw new Error(results?.toString({}));\n }\n // opt-in, same switch the ui bundle uses - see `BUNDLE_STATS_ENV_VAR`. never fails the build.\n try {\n writeBundleStats(results, 'preview');\n } catch (err: any) {\n logger.debug(`failed writing preview bundle stats: ${err?.message || err}`);\n }\n return results;\n } finally {\n await closeRspackCompiler(compiler);\n }\n}\n\n/**\n * Release the compiler's module graph, and rspack's native side of it, as soon as the bundle is\n * done. Both callers keep the process alive well past this point: the PreBundlePreview build task\n * runs once per env inside a `bit build` that runs every task in one process, and `bit start`\n * pre-bundles on demand in a server that then keeps running.\n *\n * Never throws - it runs from a `finally`, and a cleanup failure must not replace the build error\n * that sent us there. A failure is logged rather than swallowed, otherwise a compiler that never\n * releases looks exactly like one that does.\n */\nasync function closeRspackCompiler(compiler: { close?: (callback: (err?: Error | null) => void) => void }) {\n const close = compiler.close;\n if (typeof close !== 'function') return;\n try {\n await new Promise<void>((done) => {\n close.call(compiler, (err) => {\n if (err) logger.debug(`failed closing the preview rspack compiler: ${err.message || err}`);\n done();\n });\n });\n } catch (err: any) {\n logger.debug(`failed closing the preview rspack compiler: ${err?.message || err}`);\n }\n}\n\nexport async function generateBundlePreviewEntry(rootAspectId: string, previewPreBundlePath: string, config: object) {\n const manifestPath = join(previewPreBundlePath, 'asset-manifest.json');\n const manifest = readJsonSync(manifestPath);\n const imports = manifest.entrypoints\n .map((entry: string) => {\n const entryPath = normalizePath(join(previewPreBundlePath, entry));\n return entry.endsWith('.js') || entry.endsWith('.cjs') || entry.endsWith('.mjs')\n ? `import { run } from '${entryPath}';`\n : `import '${entryPath}';`;\n })\n .join('\\n');\n config['teambit.harmony/bit'] = rootAspectId;\n\n const contents = [imports, `run(${JSON.stringify(config, null, 2)});`].join('\\n');\n const previewRuntime = resolve(join(previewDistDir, `preview.entry.${sha1(contents)}.js`));\n\n if (!existsSync(previewRuntime)) {\n outputFileSync(previewRuntime, contents);\n }\n\n return previewRuntime;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.preview_preview@1.0.1110/dist/preview.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.preview_preview@1.0.1110/dist/preview.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.preview_preview@1.0.1113/dist/preview.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.preview_preview@1.0.1113/dist/preview.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/preview",
3
- "version": "1.0.1110",
3
+ "version": "1.0.1113",
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.1110"
9
+ "version": "1.0.1113"
10
10
  },
11
11
  "dependencies": {
12
12
  "mime": "2.5.2",
@@ -45,29 +45,29 @@
45
45
  "@teambit/preview.cli.webpack-events-listener": "0.0.188",
46
46
  "@teambit/lanes.entities.lane-diff": "0.0.199",
47
47
  "@teambit/mdx.modules.mdx-v3-options": "0.0.3",
48
- "@teambit/rspack.modules.generate-asset-manifest": "0.0.9",
49
48
  "@teambit/webpack.modules.exclude-node-modules-js": "0.0.1",
50
- "@teambit/express": "0.0.1467",
51
- "@teambit/logger": "0.0.1461",
52
- "@teambit/builder": "1.0.1110",
53
- "@teambit/bundler": "1.0.1110",
54
- "@teambit/component": "1.0.1110",
55
- "@teambit/aspect-loader": "1.0.1110",
56
- "@teambit/cli": "0.0.1368",
57
- "@teambit/dependency-resolver": "1.0.1110",
58
- "@teambit/envs": "1.0.1110",
59
- "@teambit/ui": "1.0.1110",
60
- "@teambit/isolator": "1.0.1110",
61
- "@teambit/cache": "0.0.1461",
62
- "@teambit/graphql": "1.0.1110",
63
- "@teambit/pkg": "1.0.1110",
64
- "@teambit/pubsub": "1.0.1110",
65
- "@teambit/scope": "1.0.1110",
66
- "@teambit/watcher": "1.0.1110",
67
- "@teambit/workspace": "1.0.1110",
68
- "@teambit/compiler": "1.0.1110",
69
- "@teambit/react": "1.0.1110",
70
- "@teambit/webpack": "1.0.1110"
49
+ "@teambit/express": "0.0.1470",
50
+ "@teambit/logger": "0.0.1464",
51
+ "@teambit/builder": "1.0.1113",
52
+ "@teambit/bundler": "1.0.1113",
53
+ "@teambit/component": "1.0.1113",
54
+ "@teambit/aspect-loader": "1.0.1113",
55
+ "@teambit/cli": "0.0.1371",
56
+ "@teambit/dependency-resolver": "1.0.1113",
57
+ "@teambit/envs": "1.0.1113",
58
+ "@teambit/ui": "1.0.1113",
59
+ "@teambit/isolator": "1.0.1113",
60
+ "@teambit/cache": "0.0.1464",
61
+ "@teambit/graphql": "1.0.1113",
62
+ "@teambit/pkg": "1.0.1113",
63
+ "@teambit/pubsub": "1.0.1113",
64
+ "@teambit/scope": "1.0.1113",
65
+ "@teambit/watcher": "1.0.1113",
66
+ "@teambit/workspace": "1.0.1113",
67
+ "@teambit/compiler": "1.0.1113",
68
+ "@teambit/react": "1.0.1113",
69
+ "@teambit/rspack.modules.generate-asset-manifest": "0.0.13",
70
+ "@teambit/webpack": "1.0.1113"
71
71
  },
72
72
  "devDependencies": {
73
73
  "@types/mime": "2.0.3",