@teambit/preview 0.0.880 → 0.0.882

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.
Files changed (84) hide show
  1. package/dist/artifact-file-middleware.js +2 -22
  2. package/dist/artifact-file-middleware.js.map +1 -1
  3. package/dist/bundler/chunks.js +1 -9
  4. package/dist/bundler/chunks.js.map +1 -1
  5. package/dist/bundler/create-peer-link.spec.js +0 -3
  6. package/dist/bundler/create-peer-link.spec.js.map +1 -1
  7. package/dist/bundler/create-peers-link.js +3 -20
  8. package/dist/bundler/create-peers-link.js.map +1 -1
  9. package/dist/bundler/html-plugin.js +0 -13
  10. package/dist/bundler/html-plugin.js.map +1 -1
  11. package/dist/bundler/html-template.js +0 -1
  12. package/dist/bundler/html-template.js.map +1 -1
  13. package/dist/component-preview.js +0 -3
  14. package/dist/component-preview.js.map +1 -1
  15. package/dist/component-preview.route.js +8 -23
  16. package/dist/component-preview.route.js.map +1 -1
  17. package/dist/env-preview-template.task.js +9 -75
  18. package/dist/env-preview-template.task.js.map +1 -1
  19. package/dist/env-template.route.js +6 -22
  20. package/dist/env-template.route.js.map +1 -1
  21. package/dist/events/click-inside-an-iframe.js +1 -12
  22. package/dist/events/click-inside-an-iframe.js.map +1 -1
  23. package/dist/events/index.js +0 -2
  24. package/dist/events/index.js.map +1 -1
  25. package/dist/exceptions/bundling-strategy-not-found.js +0 -3
  26. package/dist/exceptions/bundling-strategy-not-found.js.map +1 -1
  27. package/dist/exceptions/index.js +0 -12
  28. package/dist/exceptions/index.js.map +1 -1
  29. package/dist/exceptions/preview-artifact-not-found.js +0 -6
  30. package/dist/exceptions/preview-artifact-not-found.js.map +1 -1
  31. package/dist/exceptions/preview-not-found.js +0 -3
  32. package/dist/exceptions/preview-not-found.js.map +1 -1
  33. package/dist/exceptions/preview-output-file-not-found.js +0 -6
  34. package/dist/exceptions/preview-output-file-not-found.js.map +1 -1
  35. package/dist/execution-ref.js +0 -11
  36. package/dist/execution-ref.js.map +1 -1
  37. package/dist/generate-link.js +2 -7
  38. package/dist/generate-link.js.map +1 -1
  39. package/dist/gql/fetch-component-aspects.js +0 -6
  40. package/dist/gql/fetch-component-aspects.js.map +1 -1
  41. package/dist/html-utils.js +0 -9
  42. package/dist/html-utils.js.map +1 -1
  43. package/dist/index.js +0 -8
  44. package/dist/index.js.map +1 -1
  45. package/dist/mk-temp-dir.js +0 -10
  46. package/dist/mk-temp-dir.js.map +1 -1
  47. package/dist/preview-artifact.js +0 -12
  48. package/dist/preview-artifact.js.map +1 -1
  49. package/dist/preview-assets.route.js +2 -13
  50. package/dist/preview-assets.route.js.map +1 -1
  51. package/dist/preview-modules.js +0 -11
  52. package/dist/preview-modules.js.map +1 -1
  53. package/dist/preview.aspect.js +0 -6
  54. package/dist/preview.aspect.js.map +1 -1
  55. package/dist/preview.composition.js +0 -6
  56. package/dist/preview.composition.js.map +1 -1
  57. package/dist/preview.graphql.js +0 -5
  58. package/dist/preview.graphql.js.map +1 -1
  59. package/dist/preview.main.runtime.js +53 -226
  60. package/dist/preview.main.runtime.js.map +1 -1
  61. package/dist/preview.preview.runtime.js +18 -108
  62. package/dist/preview.preview.runtime.js.map +1 -1
  63. package/dist/preview.route.js +6 -21
  64. package/dist/preview.route.js.map +1 -1
  65. package/dist/preview.start-plugin.js +8 -42
  66. package/dist/preview.start-plugin.js.map +1 -1
  67. package/dist/preview.task.js +1 -20
  68. package/dist/preview.task.js.map +1 -1
  69. package/dist/rendering-context.js +1 -5
  70. package/dist/rendering-context.js.map +1 -1
  71. package/dist/size-event.js +0 -10
  72. package/dist/size-event.js.map +1 -1
  73. package/dist/strategies/component-strategy.js +19 -69
  74. package/dist/strategies/component-strategy.js.map +1 -1
  75. package/dist/strategies/env-strategy.js +1 -40
  76. package/dist/strategies/env-strategy.js.map +1 -1
  77. package/dist/strategies/generate-component-link.js +4 -7
  78. package/dist/strategies/generate-component-link.js.map +1 -1
  79. package/dist/strategies/index.js +0 -6
  80. package/dist/strategies/index.js.map +1 -1
  81. package/package-tar/teambit-preview-0.0.882.tgz +0 -0
  82. package/package.json +19 -19
  83. package/{preview-1666312873430.js → preview-1666496165706.js} +2 -2
  84. package/package-tar/teambit-preview-0.0.880.tgz +0 -0
@@ -1,147 +1,105 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  require("core-js/modules/es.array.iterator.js");
6
-
7
5
  require("core-js/modules/es.promise.js");
8
-
9
6
  Object.defineProperty(exports, "__esModule", {
10
7
  value: true
11
8
  });
12
9
  exports.GENERATE_ENV_TEMPLATE_TASK_NAME = exports.EnvPreviewTemplateTask = void 0;
13
10
  exports.getArtifactDef = getArtifactDef;
14
11
  exports.getArtifactDirectory = getArtifactDirectory;
15
-
16
12
  function _objectWithoutProperties2() {
17
13
  const data = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
18
-
19
14
  _objectWithoutProperties2 = function () {
20
15
  return data;
21
16
  };
22
-
23
17
  return data;
24
18
  }
25
-
26
19
  function _defineProperty2() {
27
20
  const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
28
-
29
21
  _defineProperty2 = function () {
30
22
  return data;
31
23
  };
32
-
33
24
  return data;
34
25
  }
35
-
36
26
  function _builder() {
37
27
  const data = require("@teambit/builder");
38
-
39
28
  _builder = function () {
40
29
  return data;
41
30
  };
42
-
43
31
  return data;
44
32
  }
45
-
46
33
  function _cli() {
47
34
  const data = require("@teambit/cli");
48
-
49
35
  _cli = function () {
50
36
  return data;
51
37
  };
52
-
53
38
  return data;
54
39
  }
55
-
56
40
  function _pMapSeries() {
57
41
  const data = _interopRequireDefault(require("p-map-series"));
58
-
59
42
  _pMapSeries = function () {
60
43
  return data;
61
44
  };
62
-
63
45
  return data;
64
46
  }
65
-
66
47
  function _component() {
67
48
  const data = require("@teambit/component");
68
-
69
49
  _component = function () {
70
50
  return data;
71
51
  };
72
-
73
52
  return data;
74
53
  }
75
-
76
54
  function _path() {
77
55
  const data = require("path");
78
-
79
56
  _path = function () {
80
57
  return data;
81
58
  };
82
-
83
59
  return data;
84
60
  }
85
-
86
61
  function _lodash() {
87
62
  const data = require("lodash");
88
-
89
63
  _lodash = function () {
90
64
  return data;
91
65
  };
92
-
93
66
  return data;
94
67
  }
95
-
96
68
  function _fsExtra() {
97
69
  const data = require("fs-extra");
98
-
99
70
  _fsExtra = function () {
100
71
  return data;
101
72
  };
102
-
103
73
  return data;
104
74
  }
105
-
106
75
  function _chunks() {
107
76
  const data = require("./bundler/chunks");
108
-
109
77
  _chunks = function () {
110
78
  return data;
111
79
  };
112
-
113
80
  return data;
114
81
  }
115
-
116
82
  function _htmlPlugin() {
117
83
  const data = require("./bundler/html-plugin");
118
-
119
84
  _htmlPlugin = function () {
120
85
  return data;
121
86
  };
122
-
123
87
  return data;
124
88
  }
125
-
126
89
  function _createPeersLink() {
127
90
  const data = require("./bundler/create-peers-link");
128
-
129
91
  _createPeersLink = function () {
130
92
  return data;
131
93
  };
132
-
133
94
  return data;
134
95
  }
135
-
136
96
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
137
-
138
97
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2().default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
139
-
140
98
  const GENERATE_ENV_TEMPLATE_TASK_NAME = 'GenerateEnvTemplate';
141
99
  exports.GENERATE_ENV_TEMPLATE_TASK_NAME = GENERATE_ENV_TEMPLATE_TASK_NAME;
142
-
143
100
  class EnvPreviewTemplateTask {
144
101
  // readonly dependencies = [CompilerAspect.id];
102
+
145
103
  constructor(preview, envs, aspectLoader, dependencyResolver, logger) {
146
104
  this.preview = preview;
147
105
  this.envs = envs;
@@ -152,7 +110,6 @@ class EnvPreviewTemplateTask {
152
110
  (0, _defineProperty2().default)(this, "name", GENERATE_ENV_TEMPLATE_TASK_NAME);
153
111
  (0, _defineProperty2().default)(this, "location", 'end');
154
112
  }
155
-
156
113
  async execute(context) {
157
114
  const previewDefs = this.preview.getDefs();
158
115
  const htmlConfig = previewDefs.map(previewModule => (0, _htmlPlugin().generateHtmlConfig)(previewModule, {
@@ -165,27 +122,22 @@ class EnvPreviewTemplateTask {
165
122
  if (originalSeedersIds && originalSeedersIds.length && !originalSeedersIds.includes(component.id.toString())) {
166
123
  return undefined;
167
124
  }
168
-
169
125
  const envDef = this.envs.getEnvFromComponent(component);
170
126
  if (!envDef) return undefined;
171
127
  const env = envDef.env;
172
128
  const bundlingStrategy = this.preview.getBundlingStrategy(envDef.env);
173
-
174
129
  if (bundlingStrategy.name === 'env') {
175
130
  return undefined;
176
131
  }
177
-
178
132
  const target = await this.getEnvTargetFromComponent(context, component, envDef, htmlConfig);
179
133
  if (!target) return undefined;
180
134
  const shouldUseDefaultBundler = this.shouldUseDefaultBundler(envDef);
181
135
  let envToGetBundler = this.envs.getEnvsEnvDefinition().env;
182
136
  let groupEnvId = 'default';
183
-
184
137
  if (!shouldUseDefaultBundler) {
185
138
  envToGetBundler = env;
186
139
  groupEnvId = envDef.id;
187
140
  }
188
-
189
141
  if (!grouped[groupEnvId]) {
190
142
  grouped[groupEnvId] = {
191
143
  env,
@@ -195,19 +147,15 @@ class EnvPreviewTemplateTask {
195
147
  } else {
196
148
  grouped[groupEnvId].targets.push(target);
197
149
  }
198
-
199
150
  return undefined;
200
151
  }));
201
-
202
152
  if ((0, _lodash().isEmpty)(grouped)) {
203
153
  return {
204
154
  componentsResults: []
205
155
  };
206
156
  }
207
-
208
157
  return this.runBundlerForGroups(context, grouped);
209
158
  }
210
-
211
159
  async runBundlerForGroups(context, groups) {
212
160
  const bundlerContext = Object.assign(context, {
213
161
  targets: [],
@@ -227,26 +175,23 @@ class EnvPreviewTemplateTask {
227
175
  const results = await this.computeResults(bundlerContext, (0, _lodash().flatten)(bundlerResults));
228
176
  return results;
229
177
  }
230
-
231
178
  shouldUseDefaultBundler(envDef) {
232
179
  if (this.aspectLoader.isCoreEnv(envDef.id) && envDef.id !== 'teambit.react/react-native') return true;
233
180
  const env = envDef.env;
234
181
  if (env.getTemplateBundler && typeof env.getTemplateBundler === 'function') return false;
235
182
  return true;
236
183
  }
237
-
238
184
  async getEnvTargetFromComponent(context, envComponent, envDef, htmlConfig) {
239
185
  var _envPreviewConfig$spl;
240
-
241
186
  const env = envDef.env;
242
187
  const envPreviewConfig = this.preview.getEnvPreviewConfig(envDef.env);
243
- const peers = await this.dependencyResolver.getPeerDependenciesListFromEnv(env); // const module = await this.getPreviewModule(envComponent);
188
+ const peers = await this.dependencyResolver.getPeerDependenciesListFromEnv(env);
189
+ // const module = await this.getPreviewModule(envComponent);
244
190
  // const entries = Object.keys(module).map((key) => module.exposes[key]);
245
-
246
191
  const capsule = context.capsuleNetwork.graphCapsules.getCapsule(envComponent.id);
247
- if (!capsule) throw new Error('no capsule found'); // Passing here the env itself to make sure it's preview runtime will be part of the preview root file
192
+ if (!capsule) throw new Error('no capsule found');
193
+ // Passing here the env itself to make sure it's preview runtime will be part of the preview root file
248
194
  // that's needed to make sure the providers register there are running correctly
249
-
250
195
  const previewRoot = await this.preview.writePreviewRuntime(context, [envComponent.id.toString()]);
251
196
  const entries = await this.generateEntries({
252
197
  envDef,
@@ -262,11 +207,9 @@ class EnvPreviewTemplateTask {
262
207
  });
263
208
  const resolvedEnv = resolvedEnvAspects[0];
264
209
  const hostRootDir = resolvedEnv === null || resolvedEnv === void 0 ? void 0 : resolvedEnv.aspectPath;
265
-
266
210
  if (!hostRootDir) {
267
211
  this.logger.warn(`env preview template task, hostRootDir is not defined, for env ${envComponent.id.toString()}`);
268
212
  }
269
-
270
213
  return {
271
214
  peers,
272
215
  html: htmlConfig,
@@ -276,14 +219,12 @@ class EnvPreviewTemplateTask {
276
219
  },
277
220
  components: [envComponent],
278
221
  outputPath,
279
-
280
222
  /* It's a path to the root of the host component. */
281
223
  hostRootDir,
282
224
  hostDependencies: peers,
283
225
  aliasHostDependencies: true
284
226
  };
285
227
  }
286
-
287
228
  async generateEntries({
288
229
  previewRoot,
289
230
  workDir,
@@ -294,10 +235,10 @@ class EnvPreviewTemplateTask {
294
235
  const previewModules = await this.getPreviewModules(envDef);
295
236
  const previewEntries = previewModules.map(_ref => {
296
237
  let {
297
- name,
298
- path
299
- } = _ref,
300
- rest = (0, _objectWithoutProperties2().default)(_ref, ["name", "path"]);
238
+ name,
239
+ path
240
+ } = _ref,
241
+ rest = (0, _objectWithoutProperties2().default)(_ref, ["name", "path"]);
301
242
  const linkFile = this.preview.writeLink(name, _component().ComponentMap.create([]), path, workDir, splitComponentBundle);
302
243
  return _objectSpread(_objectSpread({
303
244
  name,
@@ -314,7 +255,6 @@ class EnvPreviewTemplateTask {
314
255
  });
315
256
  return entries;
316
257
  }
317
-
318
258
  async computeResults(context, results) {
319
259
  const allResults = results.map(result => {
320
260
  const componentsResults = result.components.map(component => {
@@ -335,7 +275,6 @@ class EnvPreviewTemplateTask {
335
275
  artifacts
336
276
  };
337
277
  }
338
-
339
278
  async getPreviewModules(envDef) {
340
279
  const previewDefs = this.preview.getDefs();
341
280
  const modules = (0, _lodash().compact)(await Promise.all(previewDefs.map(async def => {
@@ -348,21 +287,16 @@ class EnvPreviewTemplateTask {
348
287
  })));
349
288
  return modules;
350
289
  }
351
-
352
290
  computeOutputPath(context, component) {
353
291
  const capsule = context.capsuleNetwork.graphCapsules.getCapsule(component.id);
354
292
  if (!capsule) throw new Error('no capsule found');
355
293
  return (0, _path().join)(capsule.path, getArtifactDirectory());
356
294
  }
357
-
358
295
  }
359
-
360
296
  exports.EnvPreviewTemplateTask = EnvPreviewTemplateTask;
361
-
362
297
  function getArtifactDirectory() {
363
298
  return (0, _path().join)(_builder().CAPSULE_ARTIFACTS_DIR, 'env-template');
364
299
  }
365
-
366
300
  function getArtifactDef() {
367
301
  return [{
368
302
  name: 'env-template',
@@ -1 +1 @@
1
- {"version":3,"names":["GENERATE_ENV_TEMPLATE_TASK_NAME","EnvPreviewTemplateTask","constructor","preview","envs","aspectLoader","dependencyResolver","logger","execute","context","previewDefs","getDefs","htmlConfig","map","previewModule","generateHtmlConfig","dev","originalSeedersIds","capsuleNetwork","originalSeedersCapsules","c","component","id","toString","grouped","Promise","all","components","length","includes","undefined","envDef","getEnvFromComponent","env","bundlingStrategy","getBundlingStrategy","name","target","getEnvTargetFromComponent","shouldUseDefaultBundler","envToGetBundler","getEnvsEnvDefinition","groupEnvId","targets","push","isEmpty","componentsResults","runBundlerForGroups","groups","bundlerContext","Object","assign","entry","development","metaData","initiator","envId","bundlerResults","mapSeries","entries","targetsGroup","bundler","getTemplateBundler","bundlerResult","run","results","computeResults","flatten","isCoreEnv","envComponent","envPreviewConfig","getEnvPreviewConfig","peers","getPeerDependenciesListFromEnv","capsule","graphCapsules","getCapsule","Error","previewRoot","writePreviewRuntime","generateEntries","splitComponentBundle","workDir","path","outputPath","computeOutputPath","existsSync","mkdirpSync","resolvedEnvAspects","resolveAspects","MainRuntime","requestedOnly","resolvedEnv","hostRootDir","aspectPath","warn","html","chunking","splitChunks","hostDependencies","aliasHostDependencies","previewModules","getPreviewModules","previewEntries","rest","linkFile","writeLink","ComponentMap","create","peerLink","writePeerLink","generateTemplateEntries","previewRootPath","allResults","result","errors","err","message","warning","warnings","startTime","endTime","artifacts","getArtifactDef","modules","compact","def","renderTemplatePathByEnv","prefix","include","join","getArtifactDirectory","CAPSULE_ARTIFACTS_DIR","globPatterns","rootDir"],"sources":["env-preview-template.task.ts"],"sourcesContent":["import {\n BuildContext,\n BuiltTaskResult,\n BuildTask,\n TaskLocation,\n ComponentResult,\n CAPSULE_ARTIFACTS_DIR,\n} from '@teambit/builder';\nimport { MainRuntime } from '@teambit/cli';\nimport mapSeries from 'p-map-series';\nimport { Component, ComponentMap } from '@teambit/component';\nimport { AspectLoaderMain } from '@teambit/aspect-loader';\nimport { Bundler, BundlerContext, BundlerHtmlConfig, BundlerResult, Target } from '@teambit/bundler';\nimport type { EnvDefinition, Environment, EnvsMain } from '@teambit/envs';\nimport { join } from 'path';\nimport { compact, flatten, isEmpty } from 'lodash';\nimport { Logger } from '@teambit/logger';\nimport { DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { existsSync, mkdirpSync } from 'fs-extra';\nimport type { PreviewMain } from './preview.main.runtime';\nimport { generateTemplateEntries } from './bundler/chunks';\nimport { generateHtmlConfig } from './bundler/html-plugin';\nimport { writePeerLink } from './bundler/create-peers-link';\n\nexport type ModuleExpose = {\n name: string;\n path: string;\n include?: string[];\n};\n\ntype TargetsGroup = {\n env: Environment;\n envToGetBundler: Environment;\n targets: Target[];\n};\ntype TargetsGroupMap = {\n [envId: string]: TargetsGroup;\n};\n\nexport const GENERATE_ENV_TEMPLATE_TASK_NAME = 'GenerateEnvTemplate';\n\nexport class EnvPreviewTemplateTask implements BuildTask {\n aspectId = 'teambit.preview/preview';\n name = GENERATE_ENV_TEMPLATE_TASK_NAME;\n location: TaskLocation = 'end';\n // readonly dependencies = [CompilerAspect.id];\n\n constructor(\n private preview: PreviewMain,\n private envs: EnvsMain,\n private aspectLoader: AspectLoaderMain,\n private dependencyResolver: DependencyResolverMain,\n private logger: Logger\n ) {}\n\n async execute(context: BuildContext): Promise<BuiltTaskResult> {\n const previewDefs = this.preview.getDefs();\n const htmlConfig = previewDefs.map((previewModule) => generateHtmlConfig(previewModule, { dev: context.dev }));\n const originalSeedersIds = context.capsuleNetwork.originalSeedersCapsules.map((c) => c.component.id.toString());\n const grouped: TargetsGroupMap = {};\n await Promise.all(\n context.components.map(async (component) => {\n // Do not run over other components in the graph. it make the process much longer with no need\n if (originalSeedersIds && originalSeedersIds.length && !originalSeedersIds.includes(component.id.toString())) {\n return undefined;\n }\n const envDef = this.envs.getEnvFromComponent(component);\n if (!envDef) return undefined;\n const env = envDef.env;\n const bundlingStrategy = this.preview.getBundlingStrategy(envDef.env);\n if (bundlingStrategy.name === 'env') {\n return undefined;\n }\n const target = await this.getEnvTargetFromComponent(context, component, envDef, htmlConfig);\n if (!target) return undefined;\n const shouldUseDefaultBundler = this.shouldUseDefaultBundler(envDef);\n let envToGetBundler = this.envs.getEnvsEnvDefinition().env;\n let groupEnvId = 'default';\n if (!shouldUseDefaultBundler) {\n envToGetBundler = env;\n groupEnvId = envDef.id;\n }\n if (!grouped[groupEnvId]) {\n grouped[groupEnvId] = {\n env,\n envToGetBundler,\n targets: [target],\n };\n } else {\n grouped[groupEnvId].targets.push(target);\n }\n return undefined;\n })\n );\n if (isEmpty(grouped)) {\n return { componentsResults: [] };\n }\n\n return this.runBundlerForGroups(context, grouped);\n }\n\n private async runBundlerForGroups(context: BuildContext, groups: TargetsGroupMap): Promise<BuiltTaskResult> {\n const bundlerContext: BundlerContext = Object.assign(context, {\n targets: [],\n entry: [],\n development: context.dev,\n metaData: {\n initiator: `${GENERATE_ENV_TEMPLATE_TASK_NAME} task`,\n envId: context.id,\n },\n });\n const bundlerResults = await mapSeries(Object.entries(groups), async ([, targetsGroup]) => {\n bundlerContext.targets = targetsGroup.targets;\n const bundler: Bundler = await targetsGroup.envToGetBundler.getTemplateBundler(bundlerContext);\n const bundlerResult = await bundler.run();\n return bundlerResult;\n });\n\n const results = await this.computeResults(bundlerContext, flatten(bundlerResults));\n return results;\n }\n\n private shouldUseDefaultBundler(envDef: EnvDefinition): boolean {\n if (this.aspectLoader.isCoreEnv(envDef.id) && envDef.id !== 'teambit.react/react-native') return true;\n const env = envDef.env;\n if (env.getTemplateBundler && typeof env.getTemplateBundler === 'function') return false;\n return true;\n }\n\n private async getEnvTargetFromComponent(\n context: BuildContext,\n envComponent: Component,\n envDef: EnvDefinition,\n htmlConfig: BundlerHtmlConfig[]\n ): Promise<Target | undefined> {\n const env = envDef.env;\n const envPreviewConfig = this.preview.getEnvPreviewConfig(envDef.env);\n\n const peers = await this.dependencyResolver.getPeerDependenciesListFromEnv(env);\n // const module = await this.getPreviewModule(envComponent);\n // const entries = Object.keys(module).map((key) => module.exposes[key]);\n const capsule = context.capsuleNetwork.graphCapsules.getCapsule(envComponent.id);\n if (!capsule) throw new Error('no capsule found');\n // Passing here the env itself to make sure it's preview runtime will be part of the preview root file\n // that's needed to make sure the providers register there are running correctly\n const previewRoot = await this.preview.writePreviewRuntime(context, [envComponent.id.toString()]);\n const entries = await this.generateEntries({\n envDef,\n splitComponentBundle: envPreviewConfig.splitComponentBundle ?? false,\n workDir: capsule.path,\n peers,\n previewRoot,\n });\n\n const outputPath = this.computeOutputPath(context, envComponent);\n if (!existsSync(outputPath)) mkdirpSync(outputPath);\n const resolvedEnvAspects = await this.preview.resolveAspects(MainRuntime.name, [envComponent.id], undefined, {\n requestedOnly: true,\n });\n const resolvedEnv = resolvedEnvAspects[0];\n const hostRootDir = resolvedEnv?.aspectPath;\n\n if (!hostRootDir) {\n this.logger.warn(`env preview template task, hostRootDir is not defined, for env ${envComponent.id.toString()}`);\n }\n\n return {\n peers,\n html: htmlConfig,\n entries,\n chunking: { splitChunks: true },\n components: [envComponent],\n outputPath,\n /* It's a path to the root of the host component. */\n hostRootDir,\n hostDependencies: peers,\n aliasHostDependencies: true,\n };\n }\n\n private async generateEntries({\n previewRoot,\n workDir,\n peers,\n envDef,\n splitComponentBundle,\n }: {\n previewRoot: string;\n workDir: string;\n peers: string[];\n envDef: EnvDefinition;\n splitComponentBundle: boolean;\n }) {\n const previewModules = await this.getPreviewModules(envDef);\n const previewEntries = previewModules.map(({ name, path, ...rest }) => {\n const linkFile = this.preview.writeLink(name, ComponentMap.create([]), path, workDir, splitComponentBundle);\n\n return { name, path, ...rest, entry: linkFile };\n });\n const peerLink = await writePeerLink(peers, workDir);\n\n const entries = generateTemplateEntries({\n peers: peerLink,\n previewRootPath: previewRoot,\n previewModules: previewEntries,\n });\n return entries;\n }\n\n async computeResults(context: BundlerContext, results: BundlerResult[]) {\n const allResults = results.map((result) => {\n const componentsResults: ComponentResult[] = result.components.map((component) => {\n return {\n component,\n errors: result.errors.map((err) => (typeof err === 'string' ? err : err.message)),\n warning: result.warnings,\n startTime: result.startTime,\n endTime: result.endTime,\n };\n });\n return componentsResults;\n });\n\n const componentsResults = flatten(allResults);\n\n const artifacts = getArtifactDef();\n\n return {\n componentsResults,\n artifacts,\n };\n }\n\n private async getPreviewModules(envDef: EnvDefinition): Promise<ModuleExpose[]> {\n const previewDefs = this.preview.getDefs();\n\n const modules = compact(\n await Promise.all(\n previewDefs.map(async (def) => {\n if (!def.renderTemplatePathByEnv) return undefined;\n return {\n name: def.prefix,\n path: await def.renderTemplatePathByEnv(envDef.env),\n include: def.include,\n };\n })\n )\n );\n\n return modules;\n }\n\n private computeOutputPath(context: BuildContext, component: Component) {\n const capsule = context.capsuleNetwork.graphCapsules.getCapsule(component.id);\n if (!capsule) throw new Error('no capsule found');\n return join(capsule.path, getArtifactDirectory());\n }\n}\n\nexport function getArtifactDirectory() {\n return join(CAPSULE_ARTIFACTS_DIR, 'env-template');\n}\n\nexport function getArtifactDef() {\n return [\n {\n name: 'env-template',\n globPatterns: ['**'],\n rootDir: getArtifactDirectory(),\n },\n ];\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["GENERATE_ENV_TEMPLATE_TASK_NAME","EnvPreviewTemplateTask","constructor","preview","envs","aspectLoader","dependencyResolver","logger","execute","context","previewDefs","getDefs","htmlConfig","map","previewModule","generateHtmlConfig","dev","originalSeedersIds","capsuleNetwork","originalSeedersCapsules","c","component","id","toString","grouped","Promise","all","components","length","includes","undefined","envDef","getEnvFromComponent","env","bundlingStrategy","getBundlingStrategy","name","target","getEnvTargetFromComponent","shouldUseDefaultBundler","envToGetBundler","getEnvsEnvDefinition","groupEnvId","targets","push","isEmpty","componentsResults","runBundlerForGroups","groups","bundlerContext","Object","assign","entry","development","metaData","initiator","envId","bundlerResults","mapSeries","entries","targetsGroup","bundler","getTemplateBundler","bundlerResult","run","results","computeResults","flatten","isCoreEnv","envComponent","envPreviewConfig","getEnvPreviewConfig","peers","getPeerDependenciesListFromEnv","capsule","graphCapsules","getCapsule","Error","previewRoot","writePreviewRuntime","generateEntries","splitComponentBundle","workDir","path","outputPath","computeOutputPath","existsSync","mkdirpSync","resolvedEnvAspects","resolveAspects","MainRuntime","requestedOnly","resolvedEnv","hostRootDir","aspectPath","warn","html","chunking","splitChunks","hostDependencies","aliasHostDependencies","previewModules","getPreviewModules","previewEntries","rest","linkFile","writeLink","ComponentMap","create","peerLink","writePeerLink","generateTemplateEntries","previewRootPath","allResults","result","errors","err","message","warning","warnings","startTime","endTime","artifacts","getArtifactDef","modules","compact","def","renderTemplatePathByEnv","prefix","include","join","getArtifactDirectory","CAPSULE_ARTIFACTS_DIR","globPatterns","rootDir"],"sources":["env-preview-template.task.ts"],"sourcesContent":["import {\n BuildContext,\n BuiltTaskResult,\n BuildTask,\n TaskLocation,\n ComponentResult,\n CAPSULE_ARTIFACTS_DIR,\n} from '@teambit/builder';\nimport { MainRuntime } from '@teambit/cli';\nimport mapSeries from 'p-map-series';\nimport { Component, ComponentMap } from '@teambit/component';\nimport { AspectLoaderMain } from '@teambit/aspect-loader';\nimport { Bundler, BundlerContext, BundlerHtmlConfig, BundlerResult, Target } from '@teambit/bundler';\nimport type { EnvDefinition, Environment, EnvsMain } from '@teambit/envs';\nimport { join } from 'path';\nimport { compact, flatten, isEmpty } from 'lodash';\nimport { Logger } from '@teambit/logger';\nimport { DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { existsSync, mkdirpSync } from 'fs-extra';\nimport type { PreviewMain } from './preview.main.runtime';\nimport { generateTemplateEntries } from './bundler/chunks';\nimport { generateHtmlConfig } from './bundler/html-plugin';\nimport { writePeerLink } from './bundler/create-peers-link';\n\nexport type ModuleExpose = {\n name: string;\n path: string;\n include?: string[];\n};\n\ntype TargetsGroup = {\n env: Environment;\n envToGetBundler: Environment;\n targets: Target[];\n};\ntype TargetsGroupMap = {\n [envId: string]: TargetsGroup;\n};\n\nexport const GENERATE_ENV_TEMPLATE_TASK_NAME = 'GenerateEnvTemplate';\n\nexport class EnvPreviewTemplateTask implements BuildTask {\n aspectId = 'teambit.preview/preview';\n name = GENERATE_ENV_TEMPLATE_TASK_NAME;\n location: TaskLocation = 'end';\n // readonly dependencies = [CompilerAspect.id];\n\n constructor(\n private preview: PreviewMain,\n private envs: EnvsMain,\n private aspectLoader: AspectLoaderMain,\n private dependencyResolver: DependencyResolverMain,\n private logger: Logger\n ) {}\n\n async execute(context: BuildContext): Promise<BuiltTaskResult> {\n const previewDefs = this.preview.getDefs();\n const htmlConfig = previewDefs.map((previewModule) => generateHtmlConfig(previewModule, { dev: context.dev }));\n const originalSeedersIds = context.capsuleNetwork.originalSeedersCapsules.map((c) => c.component.id.toString());\n const grouped: TargetsGroupMap = {};\n await Promise.all(\n context.components.map(async (component) => {\n // Do not run over other components in the graph. it make the process much longer with no need\n if (originalSeedersIds && originalSeedersIds.length && !originalSeedersIds.includes(component.id.toString())) {\n return undefined;\n }\n const envDef = this.envs.getEnvFromComponent(component);\n if (!envDef) return undefined;\n const env = envDef.env;\n const bundlingStrategy = this.preview.getBundlingStrategy(envDef.env);\n if (bundlingStrategy.name === 'env') {\n return undefined;\n }\n const target = await this.getEnvTargetFromComponent(context, component, envDef, htmlConfig);\n if (!target) return undefined;\n const shouldUseDefaultBundler = this.shouldUseDefaultBundler(envDef);\n let envToGetBundler = this.envs.getEnvsEnvDefinition().env;\n let groupEnvId = 'default';\n if (!shouldUseDefaultBundler) {\n envToGetBundler = env;\n groupEnvId = envDef.id;\n }\n if (!grouped[groupEnvId]) {\n grouped[groupEnvId] = {\n env,\n envToGetBundler,\n targets: [target],\n };\n } else {\n grouped[groupEnvId].targets.push(target);\n }\n return undefined;\n })\n );\n if (isEmpty(grouped)) {\n return { componentsResults: [] };\n }\n\n return this.runBundlerForGroups(context, grouped);\n }\n\n private async runBundlerForGroups(context: BuildContext, groups: TargetsGroupMap): Promise<BuiltTaskResult> {\n const bundlerContext: BundlerContext = Object.assign(context, {\n targets: [],\n entry: [],\n development: context.dev,\n metaData: {\n initiator: `${GENERATE_ENV_TEMPLATE_TASK_NAME} task`,\n envId: context.id,\n },\n });\n const bundlerResults = await mapSeries(Object.entries(groups), async ([, targetsGroup]) => {\n bundlerContext.targets = targetsGroup.targets;\n const bundler: Bundler = await targetsGroup.envToGetBundler.getTemplateBundler(bundlerContext);\n const bundlerResult = await bundler.run();\n return bundlerResult;\n });\n\n const results = await this.computeResults(bundlerContext, flatten(bundlerResults));\n return results;\n }\n\n private shouldUseDefaultBundler(envDef: EnvDefinition): boolean {\n if (this.aspectLoader.isCoreEnv(envDef.id) && envDef.id !== 'teambit.react/react-native') return true;\n const env = envDef.env;\n if (env.getTemplateBundler && typeof env.getTemplateBundler === 'function') return false;\n return true;\n }\n\n private async getEnvTargetFromComponent(\n context: BuildContext,\n envComponent: Component,\n envDef: EnvDefinition,\n htmlConfig: BundlerHtmlConfig[]\n ): Promise<Target | undefined> {\n const env = envDef.env;\n const envPreviewConfig = this.preview.getEnvPreviewConfig(envDef.env);\n\n const peers = await this.dependencyResolver.getPeerDependenciesListFromEnv(env);\n // const module = await this.getPreviewModule(envComponent);\n // const entries = Object.keys(module).map((key) => module.exposes[key]);\n const capsule = context.capsuleNetwork.graphCapsules.getCapsule(envComponent.id);\n if (!capsule) throw new Error('no capsule found');\n // Passing here the env itself to make sure it's preview runtime will be part of the preview root file\n // that's needed to make sure the providers register there are running correctly\n const previewRoot = await this.preview.writePreviewRuntime(context, [envComponent.id.toString()]);\n const entries = await this.generateEntries({\n envDef,\n splitComponentBundle: envPreviewConfig.splitComponentBundle ?? false,\n workDir: capsule.path,\n peers,\n previewRoot,\n });\n\n const outputPath = this.computeOutputPath(context, envComponent);\n if (!existsSync(outputPath)) mkdirpSync(outputPath);\n const resolvedEnvAspects = await this.preview.resolveAspects(MainRuntime.name, [envComponent.id], undefined, {\n requestedOnly: true,\n });\n const resolvedEnv = resolvedEnvAspects[0];\n const hostRootDir = resolvedEnv?.aspectPath;\n\n if (!hostRootDir) {\n this.logger.warn(`env preview template task, hostRootDir is not defined, for env ${envComponent.id.toString()}`);\n }\n\n return {\n peers,\n html: htmlConfig,\n entries,\n chunking: { splitChunks: true },\n components: [envComponent],\n outputPath,\n /* It's a path to the root of the host component. */\n hostRootDir,\n hostDependencies: peers,\n aliasHostDependencies: true,\n };\n }\n\n private async generateEntries({\n previewRoot,\n workDir,\n peers,\n envDef,\n splitComponentBundle,\n }: {\n previewRoot: string;\n workDir: string;\n peers: string[];\n envDef: EnvDefinition;\n splitComponentBundle: boolean;\n }) {\n const previewModules = await this.getPreviewModules(envDef);\n const previewEntries = previewModules.map(({ name, path, ...rest }) => {\n const linkFile = this.preview.writeLink(name, ComponentMap.create([]), path, workDir, splitComponentBundle);\n\n return { name, path, ...rest, entry: linkFile };\n });\n const peerLink = await writePeerLink(peers, workDir);\n\n const entries = generateTemplateEntries({\n peers: peerLink,\n previewRootPath: previewRoot,\n previewModules: previewEntries,\n });\n return entries;\n }\n\n async computeResults(context: BundlerContext, results: BundlerResult[]) {\n const allResults = results.map((result) => {\n const componentsResults: ComponentResult[] = result.components.map((component) => {\n return {\n component,\n errors: result.errors.map((err) => (typeof err === 'string' ? err : err.message)),\n warning: result.warnings,\n startTime: result.startTime,\n endTime: result.endTime,\n };\n });\n return componentsResults;\n });\n\n const componentsResults = flatten(allResults);\n\n const artifacts = getArtifactDef();\n\n return {\n componentsResults,\n artifacts,\n };\n }\n\n private async getPreviewModules(envDef: EnvDefinition): Promise<ModuleExpose[]> {\n const previewDefs = this.preview.getDefs();\n\n const modules = compact(\n await Promise.all(\n previewDefs.map(async (def) => {\n if (!def.renderTemplatePathByEnv) return undefined;\n return {\n name: def.prefix,\n path: await def.renderTemplatePathByEnv(envDef.env),\n include: def.include,\n };\n })\n )\n );\n\n return modules;\n }\n\n private computeOutputPath(context: BuildContext, component: Component) {\n const capsule = context.capsuleNetwork.graphCapsules.getCapsule(component.id);\n if (!capsule) throw new Error('no capsule found');\n return join(capsule.path, getArtifactDirectory());\n }\n}\n\nexport function getArtifactDirectory() {\n return join(CAPSULE_ARTIFACTS_DIR, 'env-template');\n}\n\nexport function getArtifactDef() {\n return [\n {\n name: 'env-template',\n globPatterns: ['**'],\n rootDir: getArtifactDirectory(),\n },\n ];\n}\n"],"mappings":"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"}
@@ -1,56 +1,41 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  require("core-js/modules/es.promise.js");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports.EnvTemplateRoute = void 0;
11
-
12
9
  function _defineProperty2() {
13
10
  const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
14
-
15
11
  _defineProperty2 = function () {
16
12
  return data;
17
13
  };
18
-
19
14
  return data;
20
15
  }
21
-
22
16
  function _uiFoundationUiPages() {
23
17
  const data = require("@teambit/ui-foundation.ui.pages.static-error");
24
-
25
18
  _uiFoundationUiPages = function () {
26
19
  return data;
27
20
  };
28
-
29
21
  return data;
30
22
  }
31
-
32
23
  function _artifactFileMiddleware() {
33
24
  const data = require("./artifact-file-middleware");
34
-
35
25
  _artifactFileMiddleware = function () {
36
26
  return data;
37
27
  };
38
-
39
28
  return data;
40
29
  }
41
-
42
30
  // Week for now
43
31
  const CACHE_MAX_AGE = 60 * 60 * 24 * 7;
44
-
45
32
  const getCacheControl = (_filePath, _contents, mimeType) => {
46
33
  // Do not cache the html files
47
34
  if (mimeType && mimeType === 'text/html') {
48
35
  return undefined;
49
36
  }
50
-
51
37
  return `private, max-age=${CACHE_MAX_AGE}`;
52
38
  };
53
-
54
39
  class EnvTemplateRoute {
55
40
  constructor(
56
41
  /**
@@ -67,8 +52,9 @@ class EnvTemplateRoute {
67
52
  // @ts-ignore TODO: @guy please fix.
68
53
  // const component = req.component as Component | undefined;
69
54
  // if (!component) return res.status(404).send(noPreview());
70
- let artifact; // TODO - prevent error `getVinylsAndImportIfMissing is not a function` #4680
71
55
 
56
+ let artifact;
57
+ // TODO - prevent error `getVinylsAndImportIfMissing is not a function` #4680
72
58
  try {
73
59
  const {
74
60
  componentId: envId
@@ -77,11 +63,11 @@ class EnvTemplateRoute {
77
63
  } catch (e) {
78
64
  this.logger.error(`getEnvTemplateByEnvId has failed`, e);
79
65
  return res.status(404).send((0, _uiFoundationUiPages().noPreview)());
80
- } // @ts-ignore
81
-
82
-
83
- req.artifact = artifact; // @ts-ignore
66
+ }
84
67
 
68
+ // @ts-ignore
69
+ req.artifact = artifact;
70
+ // @ts-ignore
85
71
  req.isLegacyPath = false;
86
72
  return next();
87
73
  } catch (e) {
@@ -90,9 +76,7 @@ class EnvTemplateRoute {
90
76
  }
91
77
  }, (0, _artifactFileMiddleware().getArtifactFileMiddleware)(this.logger, getCacheControl)]);
92
78
  }
93
-
94
79
  }
95
-
96
80
  exports.EnvTemplateRoute = EnvTemplateRoute;
97
81
 
98
82
  //# sourceMappingURL=env-template.route.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["CACHE_MAX_AGE","getCacheControl","_filePath","_contents","mimeType","undefined","EnvTemplateRoute","constructor","preview","logger","req","res","next","artifact","componentId","envId","params","getEnvTemplateByEnvId","e","error","status","send","noPreview","isLegacyPath","serverError","getArtifactFileMiddleware"],"sources":["env-template.route.ts"],"sourcesContent":["import type { NextFunction, Request, Response } from '@teambit/express';\nimport type { ComponentUrlParams, RegisteredComponentRoute } from '@teambit/component';\nimport { noPreview, serverError } from '@teambit/ui-foundation.ui.pages.static-error';\nimport type { Logger } from '@teambit/logger';\n\nimport type { PreviewMain } from './preview.main.runtime';\nimport type { PreviewArtifact } from './preview-artifact';\nimport { getArtifactFileMiddleware, GetCacheControlFunc } from './artifact-file-middleware';\n\ntype UrlParams = ComponentUrlParams & {\n filePath?: string;\n};\n\n// Week for now\nconst CACHE_MAX_AGE = 60 * 60 * 24 * 7;\n\nconst getCacheControl: GetCacheControlFunc = (_filePath: string, _contents: string, mimeType?: string | null) => {\n // Do not cache the html files\n if (mimeType && mimeType === 'text/html') {\n return undefined;\n }\n return `private, max-age=${CACHE_MAX_AGE}`;\n};\n\nexport class EnvTemplateRoute implements RegisteredComponentRoute {\n constructor(\n /**\n * preview extension.\n */\n private preview: PreviewMain,\n private logger: Logger\n ) {}\n\n route = `/env-template/:previewName/:filePath(*)`;\n method = 'get';\n\n // Since we might give it a core env id\n // Then in the component route when we do host.get(id) it will fail, as we don't have the core envs in the scope/workspace\n resolveComponent = false;\n\n // @ts-ignore\n middlewares = [\n async (req: Request<UrlParams>, res: Response, next: NextFunction) => {\n try {\n // @ts-ignore TODO: @guy please fix.\n // const component = req.component as Component | undefined;\n // if (!component) return res.status(404).send(noPreview());\n\n let artifact: PreviewArtifact | undefined;\n // TODO - prevent error `getVinylsAndImportIfMissing is not a function` #4680\n try {\n const { componentId: envId } = req.params;\n artifact = await this.preview.getEnvTemplateByEnvId(envId);\n } catch (e: any) {\n this.logger.error(`getEnvTemplateByEnvId has failed`, e);\n return res.status(404).send(noPreview());\n }\n\n // @ts-ignore\n req.artifact = artifact;\n // @ts-ignore\n req.isLegacyPath = false;\n\n return next();\n } catch (e: any) {\n this.logger.error('failed getting preview', e);\n return res.status(500).send(serverError());\n }\n },\n getArtifactFileMiddleware(this.logger, getCacheControl),\n ];\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAEA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAKA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAMA;AACA,MAAMA,aAAa,GAAG,KAAK,EAAL,GAAU,EAAV,GAAe,CAArC;;AAEA,MAAMC,eAAoC,GAAG,CAACC,SAAD,EAAoBC,SAApB,EAAuCC,QAAvC,KAAoE;EAC/G;EACA,IAAIA,QAAQ,IAAIA,QAAQ,KAAK,WAA7B,EAA0C;IACxC,OAAOC,SAAP;EACD;;EACD,OAAQ,oBAAmBL,aAAc,EAAzC;AACD,CAND;;AAQO,MAAMM,gBAAN,CAA2D;EAChEC,WAAW;EACT;AACJ;AACA;EACYC,OAJC,EAKDC,MALC,EAMT;IAAA,KAFQD,OAER,GAFQA,OAER;IAAA,KADQC,MACR,GADQA,MACR;IAAA,+CAEO,yCAFP;IAAA,gDAGO,KAHP;IAAA,0DAOiB,KAPjB;IAAA,qDAUY,CACZ,OAAOC,GAAP,EAAgCC,GAAhC,EAA+CC,IAA/C,KAAsE;MACpE,IAAI;QACF;QACA;QACA;QAEA,IAAIC,QAAJ,CALE,CAMF;;QACA,IAAI;UACF,MAAM;YAAEC,WAAW,EAAEC;UAAf,IAAyBL,GAAG,CAACM,MAAnC;UACAH,QAAQ,GAAG,MAAM,KAAKL,OAAL,CAAaS,qBAAb,CAAmCF,KAAnC,CAAjB;QACD,CAHD,CAGE,OAAOG,CAAP,EAAe;UACf,KAAKT,MAAL,CAAYU,KAAZ,CAAmB,kCAAnB,EAAsDD,CAAtD;UACA,OAAOP,GAAG,CAACS,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,IAAAC,gCAAA,GAArB,CAAP;QACD,CAbC,CAeF;;;QACAZ,GAAG,CAACG,QAAJ,GAAeA,QAAf,CAhBE,CAiBF;;QACAH,GAAG,CAACa,YAAJ,GAAmB,KAAnB;QAEA,OAAOX,IAAI,EAAX;MACD,CArBD,CAqBE,OAAOM,CAAP,EAAe;QACf,KAAKT,MAAL,CAAYU,KAAZ,CAAkB,wBAAlB,EAA4CD,CAA5C;QACA,OAAOP,GAAG,CAACS,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB,IAAAG,kCAAA,GAArB,CAAP;MACD;IACF,CA3BW,EA4BZ,IAAAC,mDAAA,EAA0B,KAAKhB,MAA/B,EAAuCR,eAAvC,CA5BY,CAVZ;EAAE;;AAP4D"}
1
+ {"version":3,"names":["CACHE_MAX_AGE","getCacheControl","_filePath","_contents","mimeType","undefined","EnvTemplateRoute","constructor","preview","logger","req","res","next","artifact","componentId","envId","params","getEnvTemplateByEnvId","e","error","status","send","noPreview","isLegacyPath","serverError","getArtifactFileMiddleware"],"sources":["env-template.route.ts"],"sourcesContent":["import type { NextFunction, Request, Response } from '@teambit/express';\nimport type { ComponentUrlParams, RegisteredComponentRoute } from '@teambit/component';\nimport { noPreview, serverError } from '@teambit/ui-foundation.ui.pages.static-error';\nimport type { Logger } from '@teambit/logger';\n\nimport type { PreviewMain } from './preview.main.runtime';\nimport type { PreviewArtifact } from './preview-artifact';\nimport { getArtifactFileMiddleware, GetCacheControlFunc } from './artifact-file-middleware';\n\ntype UrlParams = ComponentUrlParams & {\n filePath?: string;\n};\n\n// Week for now\nconst CACHE_MAX_AGE = 60 * 60 * 24 * 7;\n\nconst getCacheControl: GetCacheControlFunc = (_filePath: string, _contents: string, mimeType?: string | null) => {\n // Do not cache the html files\n if (mimeType && mimeType === 'text/html') {\n return undefined;\n }\n return `private, max-age=${CACHE_MAX_AGE}`;\n};\n\nexport class EnvTemplateRoute implements RegisteredComponentRoute {\n constructor(\n /**\n * preview extension.\n */\n private preview: PreviewMain,\n private logger: Logger\n ) {}\n\n route = `/env-template/:previewName/:filePath(*)`;\n method = 'get';\n\n // Since we might give it a core env id\n // Then in the component route when we do host.get(id) it will fail, as we don't have the core envs in the scope/workspace\n resolveComponent = false;\n\n // @ts-ignore\n middlewares = [\n async (req: Request<UrlParams>, res: Response, next: NextFunction) => {\n try {\n // @ts-ignore TODO: @guy please fix.\n // const component = req.component as Component | undefined;\n // if (!component) return res.status(404).send(noPreview());\n\n let artifact: PreviewArtifact | undefined;\n // TODO - prevent error `getVinylsAndImportIfMissing is not a function` #4680\n try {\n const { componentId: envId } = req.params;\n artifact = await this.preview.getEnvTemplateByEnvId(envId);\n } catch (e: any) {\n this.logger.error(`getEnvTemplateByEnvId has failed`, e);\n return res.status(404).send(noPreview());\n }\n\n // @ts-ignore\n req.artifact = artifact;\n // @ts-ignore\n req.isLegacyPath = false;\n\n return next();\n } catch (e: any) {\n this.logger.error('failed getting preview', e);\n return res.status(500).send(serverError());\n }\n },\n getArtifactFileMiddleware(this.logger, getCacheControl),\n ];\n}\n"],"mappings":";;;;;;;;;;;;;;;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAKA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAMA;AACA,MAAMA,aAAa,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;AAEtC,MAAMC,eAAoC,GAAG,CAACC,SAAiB,EAAEC,SAAiB,EAAEC,QAAwB,KAAK;EAC/G;EACA,IAAIA,QAAQ,IAAIA,QAAQ,KAAK,WAAW,EAAE;IACxC,OAAOC,SAAS;EAClB;EACA,OAAQ,oBAAmBL,aAAc,EAAC;AAC5C,CAAC;AAEM,MAAMM,gBAAgB,CAAqC;EAChEC,WAAW;EACT;AACJ;AACA;EACYC,OAAoB,EACpBC,MAAc,EACtB;IAAA,KAFQD,OAAoB,GAApBA,OAAoB;IAAA,KACpBC,MAAc,GAAdA,MAAc;IAAA,+CAGf,yCAAwC;IAAA,gDACxC,KAAK;IAAA,0DAIK,KAAK;IAAA,qDAGV,CACZ,OAAOC,GAAuB,EAAEC,GAAa,EAAEC,IAAkB,KAAK;MACpE,IAAI;QACF;QACA;QACA;;QAEA,IAAIC,QAAqC;QACzC;QACA,IAAI;UACF,MAAM;YAAEC,WAAW,EAAEC;UAAM,CAAC,GAAGL,GAAG,CAACM,MAAM;UACzCH,QAAQ,GAAG,MAAM,IAAI,CAACL,OAAO,CAACS,qBAAqB,CAACF,KAAK,CAAC;QAC5D,CAAC,CAAC,OAAOG,CAAM,EAAE;UACf,IAAI,CAACT,MAAM,CAACU,KAAK,CAAE,kCAAiC,EAAED,CAAC,CAAC;UACxD,OAAOP,GAAG,CAACS,MAAM,CAAC,GAAG,CAAC,CAACC,IAAI,CAAC,IAAAC,gCAAS,GAAE,CAAC;QAC1C;;QAEA;QACAZ,GAAG,CAACG,QAAQ,GAAGA,QAAQ;QACvB;QACAH,GAAG,CAACa,YAAY,GAAG,KAAK;QAExB,OAAOX,IAAI,EAAE;MACf,CAAC,CAAC,OAAOM,CAAM,EAAE;QACf,IAAI,CAACT,MAAM,CAACU,KAAK,CAAC,wBAAwB,EAAED,CAAC,CAAC;QAC9C,OAAOP,GAAG,CAACS,MAAM,CAAC,GAAG,CAAC,CAACC,IAAI,CAAC,IAAAG,kCAAW,GAAE,CAAC;MAC5C;IACF,CAAC,EACD,IAAAC,mDAAyB,EAAC,IAAI,CAAChB,MAAM,EAAER,eAAe,CAAC,CACxD;EAvCE;AAwCL;AAAC"}
@@ -1,49 +1,38 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.ClickInsideAnIframeEvent = void 0;
9
-
10
8
  function _defineProperty2() {
11
9
  const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
-
13
10
  _defineProperty2 = function () {
14
11
  return data;
15
12
  };
16
-
17
13
  return data;
18
14
  }
19
-
20
15
  function _pubsub() {
21
16
  const data = require("@teambit/pubsub");
22
-
23
17
  _pubsub = function () {
24
18
  return data;
25
19
  };
26
-
27
20
  return data;
28
21
  }
29
-
30
22
  /* eslint-disable max-classes-per-file */
23
+
31
24
  class ClickInsideAnIframeEventData {
32
25
  constructor(clickEvent) {
33
26
  this.clickEvent = clickEvent;
34
27
  }
35
-
36
28
  }
37
-
38
29
  class ClickInsideAnIframeEvent extends _pubsub().BitBaseEvent {
39
30
  constructor(timestamp = Date.now(), clickEvent) {
40
31
  super(ClickInsideAnIframeEvent.TYPE, '0.0.1', timestamp, new ClickInsideAnIframeEventData(clickEvent));
41
32
  this.timestamp = timestamp;
42
33
  this.clickEvent = clickEvent;
43
34
  }
44
-
45
35
  }
46
-
47
36
  exports.ClickInsideAnIframeEvent = ClickInsideAnIframeEvent;
48
37
  (0, _defineProperty2().default)(ClickInsideAnIframeEvent, "TYPE", 'click-inside-an-iframe');
49
38
 
@@ -1 +1 @@
1
- {"version":3,"names":["ClickInsideAnIframeEventData","constructor","clickEvent","ClickInsideAnIframeEvent","BitBaseEvent","timestamp","Date","now","TYPE"],"sources":["click-inside-an-iframe.ts"],"sourcesContent":["/* eslint-disable max-classes-per-file */\nimport { BitBaseEvent } from '@teambit/pubsub';\n\nclass ClickInsideAnIframeEventData {\n constructor(private clickEvent: any) {}\n}\n\nexport class ClickInsideAnIframeEvent extends BitBaseEvent<ClickInsideAnIframeEventData> {\n static readonly TYPE = 'click-inside-an-iframe';\n\n constructor(readonly timestamp = Date.now(), readonly clickEvent) {\n super(ClickInsideAnIframeEvent.TYPE, '0.0.1', timestamp, new ClickInsideAnIframeEventData(clickEvent));\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AADA;AAGA,MAAMA,4BAAN,CAAmC;EACjCC,WAAW,CAASC,UAAT,EAA0B;IAAA,KAAjBA,UAAiB,GAAjBA,UAAiB;EAAE;;AADN;;AAI5B,MAAMC,wBAAN,SAAuCC,sBAAvC,CAAkF;EAGvFH,WAAW,CAAUI,SAAS,GAAGC,IAAI,CAACC,GAAL,EAAtB,EAA2CL,UAA3C,EAAuD;IAChE,MAAMC,wBAAwB,CAACK,IAA/B,EAAqC,OAArC,EAA8CH,SAA9C,EAAyD,IAAIL,4BAAJ,CAAiCE,UAAjC,CAAzD;IADgE,KAA7CG,SAA6C,GAA7CA,SAA6C;IAAA,KAAZH,UAAY,GAAZA,UAAY;EAEjE;;AALsF;;;gCAA5EC,wB,UACY,wB"}
1
+ {"version":3,"names":["ClickInsideAnIframeEventData","constructor","clickEvent","ClickInsideAnIframeEvent","BitBaseEvent","timestamp","Date","now","TYPE"],"sources":["click-inside-an-iframe.ts"],"sourcesContent":["/* eslint-disable max-classes-per-file */\nimport { BitBaseEvent } from '@teambit/pubsub';\n\nclass ClickInsideAnIframeEventData {\n constructor(private clickEvent: any) {}\n}\n\nexport class ClickInsideAnIframeEvent extends BitBaseEvent<ClickInsideAnIframeEventData> {\n static readonly TYPE = 'click-inside-an-iframe';\n\n constructor(readonly timestamp = Date.now(), readonly clickEvent) {\n super(ClickInsideAnIframeEvent.TYPE, '0.0.1', timestamp, new ClickInsideAnIframeEventData(clickEvent));\n }\n}\n"],"mappings":";;;;;;;;;;;;;;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AADA;;AAGA,MAAMA,4BAA4B,CAAC;EACjCC,WAAW,CAASC,UAAe,EAAE;IAAA,KAAjBA,UAAe,GAAfA,UAAe;EAAG;AACxC;AAEO,MAAMC,wBAAwB,SAASC,sBAAY,CAA+B;EAGvFH,WAAW,CAAUI,SAAS,GAAGC,IAAI,CAACC,GAAG,EAAE,EAAWL,UAAU,EAAE;IAChE,KAAK,CAACC,wBAAwB,CAACK,IAAI,EAAE,OAAO,EAAEH,SAAS,EAAE,IAAIL,4BAA4B,CAACE,UAAU,CAAC,CAAC;IAAC,KADpFG,SAAS,GAATA,SAAS;IAAA,KAAwBH,UAAU,GAAVA,UAAU;EAEhE;AACF;AAAC;AAAA,gCANYC,wBAAwB,UACZ,wBAAwB"}
@@ -3,9 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
-
7
6
  var _clickInsideAnIframe = require("./click-inside-an-iframe");
8
-
9
7
  Object.keys(_clickInsideAnIframe).forEach(function (key) {
10
8
  if (key === "default" || key === "__esModule") return;
11
9
  if (key in exports && exports[key] === _clickInsideAnIframe[key]) return;
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from './click-inside-an-iframe';\n"],"mappings":";;;;;;AAAA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from './click-inside-an-iframe';\n"],"mappings":";;;;;AAAA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
@@ -4,15 +4,12 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.BundlingStrategyNotFound = void 0;
7
-
8
7
  class BundlingStrategyNotFound extends Error {
9
8
  constructor(strategyName) {
10
9
  super(`bundling strategy with name ${strategyName} was not found`);
11
10
  this.strategyName = strategyName;
12
11
  }
13
-
14
12
  }
15
-
16
13
  exports.BundlingStrategyNotFound = BundlingStrategyNotFound;
17
14
 
18
15
  //# sourceMappingURL=bundling-strategy-not-found.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["BundlingStrategyNotFound","Error","constructor","strategyName"],"sources":["bundling-strategy-not-found.ts"],"sourcesContent":["export class BundlingStrategyNotFound extends Error {\n constructor(private strategyName: string) {\n super(`bundling strategy with name ${strategyName} was not found`);\n }\n}\n"],"mappings":";;;;;;;AAAO,MAAMA,wBAAN,SAAuCC,KAAvC,CAA6C;EAClDC,WAAW,CAASC,YAAT,EAA+B;IACxC,MAAO,+BAA8BA,YAAa,gBAAlD;IADwC,KAAtBA,YAAsB,GAAtBA,YAAsB;EAEzC;;AAHiD"}
1
+ {"version":3,"names":["BundlingStrategyNotFound","Error","constructor","strategyName"],"sources":["bundling-strategy-not-found.ts"],"sourcesContent":["export class BundlingStrategyNotFound extends Error {\n constructor(private strategyName: string) {\n super(`bundling strategy with name ${strategyName} was not found`);\n }\n}\n"],"mappings":";;;;;;AAAO,MAAMA,wBAAwB,SAASC,KAAK,CAAC;EAClDC,WAAW,CAASC,YAAoB,EAAE;IACxC,KAAK,CAAE,+BAA8BA,YAAa,gBAAe,CAAC;IAAC,KADjDA,YAAoB,GAApBA,YAAoB;EAExC;AACF;AAAC"}