piral-cli 0.15.0-alpha.4311 → 0.15.0-alpha.4314

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 (54) hide show
  1. package/lib/apps/new-pilet.d.ts +2 -2
  2. package/lib/apps/new-pilet.js.map +1 -1
  3. package/lib/apps/new-piral.d.ts +2 -2
  4. package/lib/apps/new-piral.js +3 -2
  5. package/lib/apps/new-piral.js.map +1 -1
  6. package/lib/apps/upgrade-pilet.js +1 -1
  7. package/lib/apps/upgrade-pilet.js.map +1 -1
  8. package/lib/commands.js +4 -4
  9. package/lib/commands.js.map +1 -1
  10. package/lib/common/config.d.ts +1 -2
  11. package/lib/common/config.js +1 -2
  12. package/lib/common/config.js.map +1 -1
  13. package/lib/common/emulator.js +1 -1
  14. package/lib/common/emulator.js.map +1 -1
  15. package/lib/common/enums.d.ts +0 -4
  16. package/lib/common/enums.js +1 -6
  17. package/lib/common/enums.js.map +1 -1
  18. package/lib/common/language.d.ts +3 -13
  19. package/lib/common/language.js +52 -12
  20. package/lib/common/language.js.map +1 -1
  21. package/lib/common/package.d.ts +9 -3
  22. package/lib/common/package.js +11 -25
  23. package/lib/common/package.js.map +1 -1
  24. package/lib/common/scaffold.d.ts +12 -10
  25. package/lib/common/scaffold.js +6 -12
  26. package/lib/common/scaffold.js.map +1 -1
  27. package/lib/common/template.d.ts +1 -3
  28. package/lib/common/template.js +21 -47
  29. package/lib/common/template.js.map +1 -1
  30. package/lib/helpers.d.ts +3 -5
  31. package/lib/helpers.js +2 -20
  32. package/lib/helpers.js.map +1 -1
  33. package/lib/types/common.d.ts +0 -1
  34. package/lib/types/public.d.ts +1 -0
  35. package/package.json +2 -4
  36. package/src/apps/new-pilet.test.ts +1 -2
  37. package/src/apps/new-pilet.ts +1 -2
  38. package/src/apps/new-piral.test.ts +1 -2
  39. package/src/apps/new-piral.ts +5 -9
  40. package/src/apps/upgrade-pilet.ts +1 -2
  41. package/src/commands.ts +5 -6
  42. package/src/common/config.ts +2 -3
  43. package/src/common/emulator.ts +2 -2
  44. package/src/common/enums.ts +0 -5
  45. package/src/common/language.ts +66 -11
  46. package/src/common/package.test.ts +11 -3
  47. package/src/common/package.ts +20 -34
  48. package/src/common/scaffold.ts +8 -16
  49. package/src/common/template.ts +19 -40
  50. package/src/helpers.test.ts +2 -22
  51. package/src/helpers.ts +3 -23
  52. package/src/types/common.ts +0 -1
  53. package/src/types/public.ts +2 -0
  54. package/templates/piral-index.js.ejs +0 -16
@@ -1,45 +1,100 @@
1
1
  import { log } from './log';
2
- import { SourceLanguage } from './enums';
2
+ import { Framework, SourceLanguage } from '../types';
3
3
 
4
- export const reactDeps = {
4
+ const react17Deps = {
5
5
  react: '^17',
6
6
  'react-dom': '^17',
7
+ };
8
+
9
+ const react18Deps = {
10
+ react: '^18',
11
+ 'react-dom': '^18',
12
+ };
13
+
14
+ const reactRouter5Deps = {
7
15
  'react-router': '^5',
8
16
  'react-router-dom': '^5',
9
17
  };
10
18
 
11
- export const reactTypings = {
19
+ const reactRouter6Deps = {
20
+ 'react-router': '^6',
21
+ 'react-router-dom': '^6',
22
+ };
23
+
24
+ const react17Typings = {
12
25
  '@types/react': '^17',
13
26
  '@types/react-dom': '^17',
27
+ };
28
+
29
+ const react18Typings = {
30
+ '@types/react': '^18',
31
+ '@types/react-dom': '^18',
32
+ };
33
+
34
+ const reactRouter5Typings = {
14
35
  '@types/react-router': '^5',
15
36
  '@types/react-router-dom': '^5',
16
37
  };
17
38
 
18
- export function getDependencies(language: SourceLanguage, packages: Record<string, string> = reactDeps) {
39
+ const reactRouter6Typings = {
40
+ '@types/react-router': '^6',
41
+ '@types/react-router-dom': '^6',
42
+ };
43
+
44
+ const defaultDeps = {};
45
+
46
+ const defaultTypings = {
47
+ '@types/react': '*',
48
+ '@types/react-dom': '*',
49
+ '@types/react-router': '*',
50
+ '@types/react-router-dom': '*',
51
+ };
52
+
53
+ export function getDependencyPackages(framework: Framework, reactVersion: number, reactRouterVersion: number) {
54
+ // take default packages only if piral-core
55
+ return framework !== 'piral-core'
56
+ ? {}
57
+ : {
58
+ ...(reactVersion < 18 ? react17Deps : react18Deps),
59
+ ...(reactRouterVersion < 6 ? reactRouter5Deps : reactRouter6Deps),
60
+ };
61
+ }
62
+
63
+ export function getDevDependencyPackages(framework: Framework, reactVersion: number, reactRouterVersion: number) {
64
+ // take default dev packages only if not piral-base
65
+ return framework === 'piral-base'
66
+ ? {}
67
+ : {
68
+ ...(reactVersion < 18 ? react17Typings : react18Typings),
69
+ ...(reactRouterVersion < 6 ? reactRouter5Typings : reactRouter6Typings),
70
+ };
71
+ }
72
+
73
+ export function getDependencies(language: SourceLanguage, packages: Record<string, string> = defaultDeps) {
19
74
  switch (language) {
20
- case SourceLanguage.js:
21
- case SourceLanguage.ts:
75
+ case 'js':
76
+ case 'ts':
22
77
  return {
23
78
  ...packages,
24
79
  };
25
80
  default:
26
- log('generalDebug_0003', 'Did not find a valid language. Just skipping devDependencies.');
81
+ log('generalDebug_0003', 'Did not find a valid language. Skipping "dependencies".');
27
82
  return {};
28
83
  }
29
84
  }
30
85
 
31
- export function getDevDependencies(language: SourceLanguage, typings: Record<string, string> = reactTypings) {
86
+ export function getDevDependencies(language: SourceLanguage, typings: Record<string, string> = defaultTypings) {
32
87
  switch (language) {
33
- case SourceLanguage.ts:
88
+ case 'ts':
34
89
  return {
35
90
  ...typings,
36
91
  '@types/node': 'latest',
37
92
  typescript: 'latest',
38
93
  };
39
- case SourceLanguage.js:
94
+ case 'js':
40
95
  return {};
41
96
  default:
42
- log('generalDebug_0003', 'Did not find a valid language. Just skipping devDependencies.');
97
+ log('generalDebug_0003', 'Did not find a valid language. Skipping "devDependencies".');
43
98
  return {};
44
99
  }
45
100
  }
@@ -1,6 +1,5 @@
1
1
  import { findPackageVersion, getPiralPackage, getPiletsInfo, retrievePiletData } from './package';
2
2
  import { cliVersion } from './info';
3
- import { SourceLanguage } from './enums';
4
3
 
5
4
  describe('CLI package module', () => {
6
5
  it('findPackageVersion finds the current package version', async () => {
@@ -48,9 +47,18 @@ describe('CLI package module', () => {
48
47
  });
49
48
 
50
49
  it('getPiralPackage returns piral package', () => {
51
- let result = getPiralPackage('app', SourceLanguage.ts, '1.0.0', 'piral-base', 'webpack');
50
+ let result = getPiralPackage(
51
+ 'app',
52
+ { language: 'ts', packageName: 'piral-base', reactRouterVersion: 5, reactVersion: 17 },
53
+ '1.0.0',
54
+ 'webpack',
55
+ );
52
56
  expect(result.devDependencies['piral-cli-webpack']).toEqual('1.0.0');
53
- result = getPiralPackage('app', SourceLanguage.ts, '1.0.0', 'piral-base');
57
+ result = getPiralPackage(
58
+ 'app',
59
+ { language: 'ts', packageName: 'piral-base', reactRouterVersion: 5, reactVersion: 17 },
60
+ '1.0.0',
61
+ );
54
62
  expect(result.devDependencies).not.toContain('piral-cli-webpack');
55
63
  });
56
64
 
@@ -2,18 +2,17 @@ import { resolve, join, extname, basename, dirname, relative } from 'path';
2
2
  import { log, fail } from './log';
3
3
  import { cliVersion } from './info';
4
4
  import { unpackTarball } from './archive';
5
- import { getDependencies, getDevDependencies } from './language';
6
- import { SourceLanguage, ForceOverwrite } from './enums';
5
+ import { getDependencies, getDependencyPackages, getDevDependencies, getDevDependencyPackages } from './language';
6
+ import { ForceOverwrite } from './enums';
7
7
  import { checkAppShellCompatibility } from './compatibility';
8
8
  import { deepMerge } from './merge';
9
- import { applyTemplate } from './template';
10
9
  import { readImportmap } from './importmap';
11
10
  import { filesTar, filesOnceTar, declarationEntryExtensions, bundlerNames } from './constants';
12
11
  import { getHash, checkIsDirectory, matchFiles } from './io';
13
12
  import { readJson, copy, updateExistingJson, findFile, checkExists } from './io';
14
13
  import { isGitPackage, isLocalPackage, makeGitUrl, makeFilePath } from './npm';
15
14
  import { makePiletExternals, makeExternals, findPackageRoot } from './npm';
16
- import { Framework, FileInfo, PiletsInfo, TemplateFileLocation, PackageData } from '../types';
15
+ import { SourceLanguage, Framework, FileInfo, PiletsInfo, TemplateFileLocation, PackageData } from '../types';
17
16
 
18
17
  function appendBundler(devDependencies: Record<string, string>, bundler: string, version: string) {
19
18
  if (bundler && bundler !== 'none') {
@@ -49,7 +48,6 @@ function getDependencyVersion(
49
48
  interface FileDescriptor {
50
49
  sourcePath: string;
51
50
  targetPath: string;
52
- template: boolean;
53
51
  }
54
52
 
55
53
  const globPatternStartIndicators = ['*', '?', '[', '!(', '?(', '+(', '@('];
@@ -59,12 +57,7 @@ async function getMatchingFiles(
59
57
  target: string,
60
58
  file: string | TemplateFileLocation,
61
59
  ): Promise<Array<FileDescriptor>> {
62
- const {
63
- from,
64
- to,
65
- deep = true,
66
- template = false,
67
- } = typeof file === 'string' ? { from: file, to: file, deep: true } : file;
60
+ const { from, to, deep = true } = typeof file === 'string' ? { from: file, to: file, deep: true } : file;
68
61
  const sourcePath = resolve(source, from);
69
62
  const targetPath = resolve(target, to);
70
63
  const isDirectory = await checkIsDirectory(sourcePath);
@@ -76,7 +69,6 @@ async function getMatchingFiles(
76
69
  return files.map((file) => ({
77
70
  sourcePath: file,
78
71
  targetPath: resolve(targetPath, relative(sourcePath, file)),
79
- template,
80
72
  }));
81
73
  } else if (globPatternStartIndicators.some((m) => from.indexOf(m) !== -1)) {
82
74
  log('generalDebug_0003', `Matching using glob "${sourcePath}".`);
@@ -98,7 +90,6 @@ async function getMatchingFiles(
98
90
  return files.map((file) => ({
99
91
  sourcePath: file,
100
92
  targetPath: resolve(tarRoot, relative(relRoot, file)),
101
- template,
102
93
  }));
103
94
  }
104
95
 
@@ -108,7 +99,6 @@ async function getMatchingFiles(
108
99
  {
109
100
  sourcePath,
110
101
  targetPath,
111
- template,
112
102
  },
113
103
  ];
114
104
  }
@@ -155,23 +145,24 @@ export function readPiralPackage(root: string, name: string): Promise<PackageDat
155
145
  return readJson(path, 'package.json');
156
146
  }
157
147
 
158
- export function getPiralPackage(
159
- app: string,
160
- language: SourceLanguage,
161
- version: string,
162
- framework: Framework,
163
- bundler?: string,
164
- ) {
165
- // take default packages only if piral-core
166
- const packages = framework !== 'piral-core' ? {} : undefined;
167
- // take default dev packages only if not piral-base
168
- const typings = framework === 'piral-base' ? {} : undefined;
148
+ export interface PiralPackageData {
149
+ packageName: Framework;
150
+ language: SourceLanguage;
151
+ reactVersion: number;
152
+ reactRouterVersion: number;
153
+ }
154
+
155
+ export function getPiralPackage(app: string, data: PiralPackageData, version: string, bundler?: string) {
156
+ const framework = data.packageName;
169
157
  const devDependencies = {
170
- ...getDevDependencies(language, typings),
158
+ ...getDevDependencies(
159
+ data.language,
160
+ getDevDependencyPackages(framework, data.reactVersion, data.reactRouterVersion),
161
+ ),
171
162
  'piral-cli': `${version}`,
172
163
  };
173
164
  const dependencies = {
174
- ...getDependencies(language, packages),
165
+ ...getDependencies(data.language, getDependencyPackages(framework, data.reactVersion, data.reactRouterVersion)),
175
166
  };
176
167
 
177
168
  appendBundler(devDependencies, bundler, version);
@@ -219,7 +210,6 @@ async function getAvailableFiles(
219
210
  return files.map((file) => ({
220
211
  sourcePath: file,
221
212
  targetPath: resolve(root, relative(base, file)),
222
- template: fileMap.find((m) => resolve(source, m.from) === file)?.template || false,
223
213
  }));
224
214
  }
225
215
 
@@ -249,17 +239,13 @@ async function copyFiles(
249
239
  variables?: Record<string, string>,
250
240
  ) {
251
241
  for (const subfile of subfiles) {
252
- const { sourcePath, targetPath, template } = subfile;
242
+ const { sourcePath, targetPath } = subfile;
253
243
  const exists = await checkExists(sourcePath);
254
244
 
255
245
  if (exists) {
256
246
  const overwrite = originalFiles.some((m) => m.path === targetPath && !m.changed);
257
247
  const force = overwrite ? ForceOverwrite.yes : forceOverwrite;
258
- const written = await copy(sourcePath, targetPath, force);
259
-
260
- if (written && template && variables) {
261
- await applyTemplate(targetPath, variables);
262
- }
248
+ await copy(sourcePath, targetPath, force);
263
249
  } else {
264
250
  fail('cannotFindFile_0046', sourcePath);
265
251
  }
@@ -1,10 +1,10 @@
1
1
  import { join, dirname, resolve, basename, isAbsolute } from 'path';
2
2
  import { installNpmPackage } from './npm';
3
- import { ForceOverwrite, SourceLanguage } from './enums';
3
+ import { ForceOverwrite } from './enums';
4
4
  import { createDirectory, createFileIfNotExists, updateExistingJson } from './io';
5
5
  import { cliVersion, isWindows } from './info';
6
6
  import { log, fail, getLogLevel } from './log';
7
- import { Framework } from '../types';
7
+ import { Framework, SourceLanguage } from '../types';
8
8
 
9
9
  interface TemplateFile {
10
10
  path: string;
@@ -103,16 +103,6 @@ function getTemplatePackageName(type: 'piral' | 'pilet', template: string) {
103
103
  return template;
104
104
  }
105
105
 
106
- function getLanguageName(language: SourceLanguage) {
107
- switch (language) {
108
- case SourceLanguage.js:
109
- return 'js';
110
- case SourceLanguage.ts:
111
- default:
112
- return 'ts';
113
- }
114
- }
115
-
116
106
  export function getPiralScaffoldData(
117
107
  language: SourceLanguage,
118
108
  root: string,
@@ -125,9 +115,11 @@ export function getPiralScaffoldData(
125
115
  ...variables,
126
116
  root,
127
117
  src,
128
- language: getLanguageName(language),
118
+ language,
129
119
  packageName,
130
- };
120
+ reactVersion: parseInt(variables.reactVersion) || 17,
121
+ reactRouterVersion: parseInt(variables.reactRouterVersion) || 17,
122
+ } as const;
131
123
  }
132
124
 
133
125
  export async function scaffoldPiralSourceFiles(
@@ -157,9 +149,9 @@ export function getPiletScaffoldData(
157
149
  ...variables,
158
150
  root,
159
151
  src,
160
- language: getLanguageName(language),
152
+ language,
161
153
  sourceName,
162
- };
154
+ } as const;
163
155
  }
164
156
 
165
157
  export async function scaffoldPiletSourceFiles(
@@ -1,53 +1,32 @@
1
- import { renderFile } from 'ejs';
2
- import { writeFile } from 'fs';
3
- import { resolve } from 'path';
4
- import { log } from './log';
5
1
  import { ForceOverwrite } from './enums';
6
2
  import { createFileIfNotExists } from './io';
7
3
 
8
- export async function applyTemplate(file: string, data: Record<string, string>) {
9
- const content = await new Promise<string>((resolve, reject) => {
10
- log('generalDebug_0003', `Filling template in "${file}".`);
11
- renderFile(file, data, (err, str) => {
12
- if (err) {
13
- reject(err);
14
- } else {
15
- resolve(str);
16
- }
17
- });
18
- });
19
- await new Promise<void>((resolve, reject) => {
20
- writeFile(file, content, 'utf8', (err) => {
21
- if (err) {
22
- reject(err);
23
- } else {
24
- resolve();
25
- }
26
- });
27
- });
28
- }
4
+ function fillTemplate(data: any = {}) {
5
+ return `if (process.env.NODE_ENV === 'test') {
6
+ // behavior for the test environment, we'll try to make it work
29
7
 
30
- export function fillTemplate(name: string, data: any = {}) {
31
- const path = resolve(__dirname, '..', '..', 'templates', `${name}.ejs`);
32
- return new Promise<string>((resolve, reject) => {
33
- log('generalDebug_0003', `Rendering template "${name}" in "${path}".`);
34
- renderFile(path, data, (err, str) => {
35
- if (err) {
36
- reject(err);
37
- } else {
38
- resolve(str);
39
- }
40
- });
41
- });
8
+ if (typeof window !== 'undefined') {
9
+ require('./${data.outFile}');
10
+ const ctx = window['dbg:piral'];
11
+ const dependencies = (ctx && ctx.pilets && ctx.pilets.getDependencies({})) || {};
12
+ module.exports = dependencies['${data.name}'] || {};
13
+ } else {
14
+ console.error('Your test environment does not define "window". Please make sure to provide a proper environment.');
15
+ module.exports = {};
16
+ }
17
+ } else {
18
+ // under "normal" circumstances disallow such an import
19
+ throw new Error("This file should not be included anywhere. Usually, this means you've imported the Piral instance directly.");
20
+ }
21
+ `;
42
22
  }
43
23
 
44
- export async function createFileFromTemplateIfNotExists(
45
- prefix: string,
24
+ export async function createPiralStubIndexIfNotExists(
46
25
  targetDir: string,
47
26
  fileName: string,
48
27
  forceOverwrite?: ForceOverwrite,
49
28
  data?: any,
50
29
  ) {
51
- const content = await fillTemplate(`${prefix}-${fileName}`, data);
30
+ const content = fillTemplate(data);
52
31
  await createFileIfNotExists(targetDir, fileName, content, forceOverwrite);
53
32
  }
@@ -1,5 +1,5 @@
1
- import { keyOfForceOverwrite, keyOfSourceLanguage, valueOfForceOverwrite, valueOfSourceLanguage } from './helpers';
2
- import { ForceOverwrite, SourceLanguage } from './common/enums';
1
+ import { keyOfForceOverwrite, valueOfForceOverwrite } from './helpers';
2
+ import { ForceOverwrite } from './common/enums';
3
3
 
4
4
  describe('Piral CLI Command Helpers Module', () => {
5
5
  it('correct value of keyOfForceOverwrite results in same key', () => {
@@ -12,16 +12,6 @@ describe('Piral CLI Command Helpers Module', () => {
12
12
  expect(result).toBe('no');
13
13
  });
14
14
 
15
- it('correct value of keyOfPiletLanguage results in same key', () => {
16
- const result = keyOfSourceLanguage(SourceLanguage.ts);
17
- expect(result).toBe('ts');
18
- });
19
-
20
- it('incorrect value of keyOfPiletLanguage results in key for TS', () => {
21
- const result = keyOfSourceLanguage(5);
22
- expect(result).toBe('ts');
23
- });
24
-
25
15
  it('correct key of valueOfForceOverwrite results in same value', () => {
26
16
  const result = valueOfForceOverwrite('prompt');
27
17
  expect(result).toBe(ForceOverwrite.prompt);
@@ -31,14 +21,4 @@ describe('Piral CLI Command Helpers Module', () => {
31
21
  const result = valueOfForceOverwrite('foo');
32
22
  expect(result).toBe(ForceOverwrite.no);
33
23
  });
34
-
35
- it('correct key of valueOfPiletLanguage results in same value', () => {
36
- const result = valueOfSourceLanguage('ts');
37
- expect(result).toBe(SourceLanguage.ts);
38
- });
39
-
40
- it('incorrect key of valueOfPiletLanguage results in value for TS', () => {
41
- const result = valueOfSourceLanguage('foo');
42
- expect(result).toBe(SourceLanguage.ts);
43
- });
44
24
  });
package/src/helpers.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { ForceOverwrite, SourceLanguage } from './common/enums';
1
+ import { ForceOverwrite } from './common/enums';
2
2
  import { bundlerNames, frameworkLibs } from './common/constants';
3
3
  import type {
4
4
  Framework,
@@ -8,6 +8,7 @@ import type {
8
8
  PiralBuildType,
9
9
  PiletBuildType,
10
10
  PiletPublishScheme,
11
+ SourceLanguage,
11
12
  } from './types';
12
13
 
13
14
  export const schemaKeys: Array<PiletSchemaVersion> = ['v0', 'v1', 'v2', 'none'];
@@ -16,6 +17,7 @@ export const fromKeys: Array<PiletPublishSource> = ['local', 'remote', 'npm'];
16
17
  export const piralBuildTypeKeys: Array<PiralBuildType> = ['all', 'release', 'emulator', 'emulator-sources'];
17
18
  export const piletBuildTypeKeys: Array<PiletBuildType> = ['default', 'standalone', 'manifest'];
18
19
  export const clientTypeKeys: Array<NpmClientType> = ['npm', 'pnpm', 'pnp', 'yarn', 'lerna', 'rush'];
20
+ export const sourceLanguageKeys: Array<SourceLanguage> = ['ts', 'js'];
19
21
  export const bundlerKeys: Array<string> = ['none', ...bundlerNames];
20
22
  export const availableBundlers: Array<string> = [];
21
23
  export const availableReleaseProviders: Array<string> = [];
@@ -41,25 +43,3 @@ export function keyOfForceOverwrite(value: ForceOverwrite) {
41
43
 
42
44
  return forceOverwriteKeys[0];
43
45
  }
44
-
45
- export const sourceLanguageKeys = Object.keys(SourceLanguage).filter((m) => typeof SourceLanguage[m] === 'number');
46
-
47
- export function valueOfSourceLanguage(key: string): SourceLanguage {
48
- for (const piletLanguageKey of sourceLanguageKeys) {
49
- if (piletLanguageKey === key) {
50
- return SourceLanguage[piletLanguageKey];
51
- }
52
- }
53
-
54
- return SourceLanguage.ts;
55
- }
56
-
57
- export function keyOfSourceLanguage(value: SourceLanguage) {
58
- for (const piletLanguageKey of sourceLanguageKeys) {
59
- if (SourceLanguage[piletLanguageKey] === value) {
60
- return piletLanguageKey;
61
- }
62
- }
63
-
64
- return sourceLanguageKeys[0];
65
- }
@@ -48,7 +48,6 @@ export interface ReleaseProvider {
48
48
  export interface TemplateFileLocation {
49
49
  from: string;
50
50
  to: string;
51
- template?: boolean;
52
51
  deep?: boolean;
53
52
  once?: boolean;
54
53
  }
@@ -219,6 +219,8 @@ export interface BundlerDefinition {
219
219
 
220
220
  export type PiletSchemaVersion = 'none' | 'v0' | 'v1' | 'v2';
221
221
 
222
+ export type SourceLanguage = 'js' | 'ts';
223
+
222
224
  export type PiletPublishScheme = 'none' | 'digest' | 'bearer' | 'basic';
223
225
 
224
226
  export type PiletPublishSource = 'local' | 'npm' | 'remote';
@@ -1,16 +0,0 @@
1
- if (process.env.NODE_ENV === 'test') {
2
- // behavior for the test environment, we'll try to make it work
3
-
4
- if (typeof window !== 'undefined') {
5
- require('./<%- outFile %>');
6
- const ctx = window['dbg:piral'];
7
- const dependencies = (ctx && ctx.pilets && ctx.pilets.getDependencies({})) || {};
8
- module.exports = dependencies['<%- name %>'] || {};
9
- } else {
10
- console.error('Your test environment does not define "window". Please make sure to provide a proper environment.');
11
- module.exports = {};
12
- }
13
- } else {
14
- // under "normal" circumstances disallow such an import
15
- throw new Error("This file should not be included anywhere. Usually, this means you've imported the Piral instance directly.");
16
- }