piral-cli 1.7.0-beta.7499 → 1.7.0-beta.7504

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.
@@ -12,18 +12,18 @@ const enums_1 = require("./enums");
12
12
  const archive_1 = require("./archive");
13
13
  const io_1 = require("./io");
14
14
  const io_2 = require("./io");
15
- async function createEmulatorSources(sourceDir, externals, targetDir, targetFile, logLevel) {
16
- const piralPkg = await (0, io_2.readJson)(sourceDir, constants_1.packageJson);
17
- const piralJsonPkg = await (0, io_2.readJson)(sourceDir, constants_1.piralJson);
18
- const pilets = {
19
- ...piralPkg.pilets,
20
- ...piralJsonPkg.pilets,
21
- };
22
- const files = pilets.files ?? [];
23
- const allDeps = {
24
- ...piralPkg.devDependencies,
25
- ...piralPkg.dependencies,
26
- };
15
+ function makeFilesMap(files = []) {
16
+ return files
17
+ .filter((file) => file && (typeof file === 'string' || typeof file === 'object'))
18
+ .map((file) => (typeof file === 'string' ? { from: file, to: file } : file))
19
+ .filter((file) => typeof file.to === 'string' && typeof file.from === 'string')
20
+ .map((file) => ({
21
+ ...file,
22
+ to: file.to.replace(/\\/g, '/'),
23
+ from: (0, path_1.join)('files', file.to).replace(/\\/g, '/'),
24
+ }));
25
+ }
26
+ async function makeExternals(sourceDir, piralPkg, externals) {
27
27
  const externalPackages = await Promise.all(externals
28
28
  .filter((ext) => ext.type === 'local' && (0, package_1.isValidDependency)(ext.name))
29
29
  .map(async (external) => ({
@@ -49,19 +49,38 @@ async function createEmulatorSources(sourceDir, externals, targetDir, targetFile
49
49
  }
50
50
  return deps;
51
51
  }, {});
52
+ return [externalDependencies, importmapEntries, optionalDependencies];
53
+ }
54
+ async function createScaffoldingTarballs(sourceDir, targetDir, files = []) {
55
+ const filesDir = (0, path_1.resolve)(targetDir, constants_1.filesTar);
56
+ const filesOnceDir = (0, path_1.resolve)(targetDir, constants_1.filesOnceTar);
57
+ await Promise.all([(0, io_1.createDirectory)(filesDir), (0, io_1.createDirectory)(filesOnceDir)]);
58
+ // for scaffolding we need to keep the files also available in the new package
59
+ await (0, package_1.copyScaffoldingFiles)(sourceDir, filesDir, files.filter((m) => typeof m === 'string' || !m.once));
60
+ // also to avoid information loss we should store the once-only files separately
61
+ await (0, package_1.copyScaffoldingFiles)(sourceDir, filesOnceDir, files.filter((m) => typeof m !== 'string' && m.once));
62
+ // since things like .gitignore are not properly treated by npm we pack the files (for standard and once only)
63
+ await Promise.all([
64
+ (0, archive_1.createTarball)(filesDir, targetDir, `${constants_1.filesTar}.tar`),
65
+ (0, archive_1.createTarball)(filesOnceDir, targetDir, `${constants_1.filesOnceTar}.tar`),
66
+ ]);
67
+ // ... and remove the directory
68
+ await Promise.all([(0, io_1.removeDirectory)(filesDir), (0, io_1.removeDirectory)(filesOnceDir)]);
69
+ }
70
+ async function createEmulatorSources(sourceDir, externals, targetDir, targetFile, logLevel) {
71
+ const piralPkg = await (0, io_2.readJson)(sourceDir, constants_1.packageJson);
72
+ const piralJsonPkg = await (0, io_2.readJson)(sourceDir, constants_1.piralJson);
73
+ const pilets = {
74
+ ...piralPkg.pilets,
75
+ ...piralJsonPkg.pilets,
76
+ };
77
+ const allDeps = {
78
+ ...piralPkg.devDependencies,
79
+ ...piralPkg.dependencies,
80
+ };
52
81
  const rootDir = (0, path_1.resolve)(targetDir, '..');
53
82
  const appDir = (0, path_1.relative)(rootDir, targetDir);
54
- const filesDir = (0, path_1.resolve)(rootDir, constants_1.filesTar);
55
- const filesOnceDir = (0, path_1.resolve)(rootDir, constants_1.filesOnceTar);
56
- const filesMap = files
57
- .filter((file) => file && (typeof file === 'string' || typeof file === 'object'))
58
- .map((file) => (typeof file === 'string' ? { from: file, to: file } : file))
59
- .filter((file) => typeof file.to === 'string' && typeof file.from === 'string')
60
- .map((file) => ({
61
- ...file,
62
- to: file.to.replace(/\\/g, '/'),
63
- from: (0, path_1.join)('files', file.to).replace(/\\/g, '/'),
64
- }));
83
+ const [externalDependencies, importmapEntries, optionalDependencies] = await makeExternals(sourceDir, piralPkg, externals);
65
84
  // do not modify an existing JSON
66
85
  await (0, io_2.createFileIfNotExists)(rootDir, constants_1.packageJson, '{}');
67
86
  // patch the JSON relevant for the project
@@ -77,7 +96,7 @@ async function createEmulatorSources(sourceDir, externals, targetDir, targetFile
77
96
  },
78
97
  pilets: {
79
98
  ...pilets,
80
- files: filesMap,
99
+ files: makeFilesMap(pilets.files),
81
100
  },
82
101
  piralCLI: {
83
102
  version: info_1.cliVersion,
@@ -101,11 +120,6 @@ async function createEmulatorSources(sourceDir, externals, targetDir, targetFile
101
120
  cpu: piralPkg.cpu,
102
121
  publishConfig: piralPkg.publishConfig,
103
122
  });
104
- await Promise.all([(0, io_1.createDirectory)(filesDir), (0, io_1.createDirectory)(filesOnceDir)]);
105
- // for scaffolding we need to keep the files also available in the new package
106
- await (0, package_1.copyScaffoldingFiles)(sourceDir, filesDir, files.filter((m) => typeof m === 'string' || !m.once));
107
- // also to avoid information loss we should store the once-only files separately
108
- await (0, package_1.copyScaffoldingFiles)(sourceDir, filesOnceDir, files.filter((m) => typeof m !== 'string' && m.once));
109
123
  // we just want to make sure that "files" mentioned in the original package.json are respected in the package
110
124
  await (0, package_1.copyScaffoldingFiles)(sourceDir, rootDir, piralPkg.files ?? []);
111
125
  // actually including this one hints that the app shell should have been included - which is forbidden
@@ -115,13 +129,8 @@ async function createEmulatorSources(sourceDir, externals, targetDir, targetFile
115
129
  });
116
130
  // generate the associated index.d.ts
117
131
  await (0, declaration_1.createPiralDeclaration)(sourceDir, piralPkg.app ?? `./src/index.html`, targetDir, enums_1.ForceOverwrite.yes, logLevel);
118
- // since things like .gitignore are not properly treated by npm we pack the files (for standard and once only)
119
- await Promise.all([
120
- (0, archive_1.createTarball)(filesDir, rootDir, `${constants_1.filesTar}.tar`),
121
- (0, archive_1.createTarball)(filesOnceDir, rootDir, `${constants_1.filesOnceTar}.tar`),
122
- ]);
123
- // ... and remove the directory
124
- await Promise.all([(0, io_1.removeDirectory)(filesDir), (0, io_1.removeDirectory)(filesOnceDir)]);
132
+ // generate the files.tar and files_once.tar files
133
+ await createScaffoldingTarballs(sourceDir, rootDir, pilets.files);
125
134
  return rootDir;
126
135
  }
127
136
  exports.createEmulatorSources = createEmulatorSources;
@@ -136,31 +145,7 @@ async function createEmulatorWebsite(sourceDir, externals, targetDir, targetFile
136
145
  ...piralPkg.devDependencies,
137
146
  ...piralPkg.dependencies,
138
147
  };
139
- const externalPackages = await Promise.all(externals
140
- .filter((ext) => ext.type === 'local' && (0, package_1.isValidDependency)(ext.name))
141
- .map(async (external) => ({
142
- name: external.name,
143
- version: await (0, package_1.findDependencyVersion)(piralPkg, sourceDir, external),
144
- optional: external.isAsync,
145
- })));
146
- const externalDependencies = externalPackages.reduce((deps, dep) => {
147
- if (!dep.optional) {
148
- deps[dep.name] = dep.version;
149
- }
150
- return deps;
151
- }, {});
152
- const importmapEntries = externalPackages.reduce((deps, dep) => {
153
- if (!dep.optional) {
154
- deps[dep.name] = dep.name;
155
- }
156
- return deps;
157
- }, {});
158
- const optionalDependencies = externalPackages.reduce((deps, dep) => {
159
- if (dep.optional) {
160
- deps[dep.name] = dep.name;
161
- }
162
- return deps;
163
- }, {});
148
+ const [externalDependencies, importmapEntries, optionalDependencies] = await makeExternals(sourceDir, piralPkg, externals);
164
149
  const allFiles = await (0, io_1.matchFiles)(targetDir, '*');
165
150
  const data = {
166
151
  name: piralPkg.name,
@@ -168,13 +153,18 @@ async function createEmulatorWebsite(sourceDir, externals, targetDir, targetFile
168
153
  version: piralPkg.version,
169
154
  timestamp: new Date().toISOString(),
170
155
  scaffolding: {
171
- pilets,
156
+ pilets: {
157
+ ...pilets,
158
+ files: makeFilesMap(pilets.files),
159
+ },
172
160
  cli: info_1.cliVersion,
173
161
  },
174
162
  files: {
175
163
  typings: 'index.d.ts',
176
164
  main: (0, path_1.basename)(targetFile),
177
165
  app: 'index.html',
166
+ always: `${constants_1.filesTar}.tar`,
167
+ once: `${constants_1.filesOnceTar}.tar`,
178
168
  assets: allFiles.map((file) => (0, path_1.relative)(targetDir, file)),
179
169
  },
180
170
  importmap: {
@@ -191,6 +181,8 @@ async function createEmulatorWebsite(sourceDir, externals, targetDir, targetFile
191
181
  await (0, io_2.writeJson)(targetDir, constants_1.emulatorJson, data, true);
192
182
  // generate the associated index.d.ts
193
183
  await (0, declaration_1.createPiralDeclaration)(sourceDir, piralPkg.app ?? `./src/index.html`, targetDir, enums_1.ForceOverwrite.yes, logLevel);
184
+ // generate the files.tar and files_once.tar files
185
+ await createScaffoldingTarballs(sourceDir, targetDir, pilets.files);
194
186
  return targetDir;
195
187
  }
196
188
  exports.createEmulatorWebsite = createEmulatorWebsite;
@@ -1 +1 @@
1
- {"version":3,"file":"emulator.js","sourceRoot":"","sources":["../../src/common/emulator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"emulator.js","sourceRoot":"","sources":["../../src/common/emulator.ts"],"names":[],"mappings":"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"}
@@ -32,9 +32,11 @@ async function requestManifest(url, interactive, httpsAgent) {
32
32
  }
33
33
  }
34
34
  async function downloadEmulatorFiles(manifestUrl, target, files, httpsAgent) {
35
- const requiredFiles = [files.typings, files.main, files.app];
35
+ const requiredFiles = [files.typings, files.main, files.app, files.always, files.once];
36
36
  const opts = (0, http_1.getAxiosOptions)(manifestUrl);
37
- await Promise.all(requiredFiles.map(async (file) => {
37
+ await Promise.all(requiredFiles
38
+ .filter((file) => file && typeof file === 'string')
39
+ .map(async (file) => {
38
40
  const url = new URL(file, manifestUrl);
39
41
  const res = await external_1.axios.default.get(url.href, { ...opts, httpsAgent, responseType: 'arraybuffer' });
40
42
  const data = res.data;
@@ -1 +1 @@
1
- {"version":3,"file":"website.js","sourceRoot":"","sources":["../../src/common/website.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"website.js","sourceRoot":"","sources":["../../src/common/website.ts"],"names":[],"mappings":";;;AAAA,iCAA8B;AAC9B,+BAAgD;AAChD,yCAA6D;AAC7D,iCAAoG;AACpG,2CAA0C;AAC1C,qCAAwC;AACxC,mCAAyC;AACzC,6BAA8D;AAC9D,6BAAiC;AACjC,+BAAsC;AACtC,0CAAmD;AAGnD,KAAK,UAAU,eAAe,CAAC,GAAW,EAAE,WAAoB,EAAE,UAAkB;IAClF,MAAM,IAAI,GAAG,IAAA,sBAAe,EAAC,GAAG,CAAC,CAAC;IAElC,IAAI;QACF,OAAO,MAAM,gBAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;KAC9D;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,MAAM,IAAA,uBAAgB,EAAC,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;YAChF,MAAM,OAAO,GAAG,IAAA,8BAAuB,EAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACnD,MAAM,IAAA,qBAAY,EAAC,MAAM,EAAE;gBACzB,CAAC,GAAG,CAAC,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,GAAG,EAAE,eAAe;oBACpB,KAAK,EAAE,OAAO,CAAC,aAAa;iBAC7B;aACF,CAAC,CAAC;YACH,OAAO,MAAM,eAAe,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;KACJ;AACH,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,WAAmB,EACnB,MAAc,EACd,KAAmC,EACnC,UAAkB;IAElB,MAAM,aAAa,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACvF,MAAM,IAAI,GAAG,IAAA,sBAAe,EAAC,WAAW,CAAC,CAAC;IAE1C,MAAM,OAAO,CAAC,GAAG,CACf,aAAa;SACV,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,CAAC;SAClD,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QAClB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,MAAM,gBAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC,CAAC;QACpG,MAAM,IAAI,GAAW,GAAG,CAAC,IAAI,CAAC;QAC9B,MAAM,IAAA,gBAAW,EAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC,CAAC,CACL,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,SAAiB,EACjB,MAAc,EACd,WAAmB,EACnB,YAAqC,EACrC,UAAkB;IAElB,MAAM,QAAQ,GAAG,UAAU,CAAC;IAC5B,MAAM,UAAU,GAAG,IAAA,eAAQ,EAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAE/C,MAAM,IAAA,cAAS,EACb,SAAS,EACT,uBAAW,EACX;QACE,IAAI,EAAE,YAAY,CAAC,IAAI;QACvB,WAAW,EAAE,YAAY,CAAC,WAAW;QACrC,OAAO,EAAE,YAAY,CAAC,OAAO;QAC7B,SAAS,EAAE,YAAY,CAAC,SAAS;QACjC,MAAM,EAAE,YAAY,CAAC,WAAW,CAAC,MAAM;QACvC,QAAQ,EAAE;YACR,OAAO,EAAE,YAAY,CAAC,WAAW,CAAC,GAAG;YACrC,SAAS,EAAE,YAAY,CAAC,SAAS;YACjC,MAAM,EAAE,WAAW;YACnB,SAAS,EAAE,IAAI;SAChB;QACD,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,MAAM;QAChC,IAAI,EAAE,YAAK,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC;QACtC,OAAO,EAAE,YAAK,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC;QAC3D,GAAG,EAAE,YAAK,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC;QACnD,gBAAgB,EAAE,EAAE;QACpB,oBAAoB,EAAE,YAAY,CAAC,YAAY,CAAC,QAAQ;QACxD,eAAe,EAAE,YAAY,CAAC,YAAY,CAAC,QAAQ;KACpD,EACD,IAAI,CACL,CAAC;IAEF,sGAAsG;IACtG,MAAM,IAAA,0CAA+B,EAAC,MAAM,EAAE,QAAQ,EAAE,sBAAc,CAAC,GAAG,EAAE;QAC1E,IAAI,EAAE,YAAY,CAAC,IAAI;QACvB,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,IAAI;KACjC,CAAC,CAAC;IAEH,MAAM,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AACnF,CAAC;AAEM,KAAK,UAAU,yBAAyB,CAAC,SAAiB,EAAE,WAAmB,EAAE,WAAoB;IAC1G,IAAA,cAAQ,EAAC,+BAA+B,EAAE,WAAW,CAAC,CAAC;IACvD,MAAM,EAAE,GAAG,MAAM,IAAA,qBAAc,GAAE,CAAC;IAClC,MAAM,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,aAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEtD,IAAI;QACF,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,WAAW,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;QAC7E,MAAM,YAAY,GAA4B,QAAQ,CAAC,IAAI,CAAC;QAC5D,MAAM,eAAe,GAAG,MAAM,IAAA,aAAQ,EAAC,SAAS,EAAE,uBAAW,CAAC,CAAC;QAE/D,IAAI,eAAe,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI,EAAE;YAC9C,IAAA,SAAG,EAAC,gCAAgC,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;SAC7D;aAAM,IAAI,eAAe,CAAC,QAAQ,CAAC,QAAQ,KAAK,YAAY,CAAC,SAAS,EAAE;YACvE,IAAA,SAAG,EAAC,mBAAmB,EAAE,qBAAqB,eAAe,CAAC,IAAI,mBAAmB,YAAY,CAAC,SAAS,IAAI,CAAC,CAAC;YACjH,MAAM,MAAM,GAAG,IAAA,cAAO,EAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YACzC,MAAM,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;SACrF;aAAM;YACL,IAAA,SAAG,EAAC,mBAAmB,EAAE,0BAA0B,eAAe,CAAC,IAAI,IAAI,CAAC,CAAC;SAC9E;KACF;IAAC,OAAO,EAAE,EAAE;QACX,IAAA,SAAG,EAAC,mBAAmB,EAAE,4CAA4C,EAAE,EAAE,CAAC,CAAC;QAC3E,IAAA,SAAG,EAAC,yBAAyB,EAAE,WAAW,CAAC,CAAC;KAC7C;AACH,CAAC;AAvBD,8DAuBC;AAEM,KAAK,UAAU,2BAA2B,CAAC,OAAe,EAAE,WAAmB;IACpF,IAAA,cAAQ,EAAC,kCAAkC,EAAE,WAAW,CAAC,CAAC;IAC1D,MAAM,EAAE,GAAG,MAAM,IAAA,qBAAc,GAAE,CAAC;IAClC,MAAM,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,aAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACtD,MAAM,WAAW,GAAG,IAAA,wBAAa,GAAE,CAAC;IACpC,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,WAAW,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;IAC7E,MAAM,YAAY,GAA4B,QAAQ,CAAC,IAAI,CAAC;IAC5D,MAAM,SAAS,GAAG,IAAA,cAAO,EAAC,OAAO,EAAE,cAAc,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;IACtE,MAAM,MAAM,GAAG,IAAA,cAAO,EAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACzC,MAAM,IAAA,oBAAe,EAAC,MAAM,CAAC,CAAC;IAC9B,MAAM,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;IACpF,OAAO,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AACtD,CAAC;AAZD,kEAYC"}
@@ -8,6 +8,8 @@ export interface EmulatorWebsiteManifestFiles {
8
8
  main: string;
9
9
  app: string;
10
10
  assets: Array<string>;
11
+ always?: string;
12
+ once?: string;
11
13
  }
12
14
  export interface EmulatorWebsiteManifest {
13
15
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/types/common.ts"],"names":[],"mappings":";;;AA4EA,IAAY,SA2BX;AA3BD,WAAY,SAAS;IACnB;;OAEG;IACH,iDAAY,CAAA;IACZ;;OAEG;IACH,2CAAS,CAAA;IACT;;OAEG;IACH,+CAAW,CAAA;IACX;;OAEG;IACH,yCAAQ,CAAA;IACR;;;OAGG;IACH,+CAAW,CAAA;IACX;;;OAGG;IACH,2CAAS,CAAA;AACX,CAAC,EA3BW,SAAS,yBAAT,SAAS,QA2BpB"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/types/common.ts"],"names":[],"mappings":";;;AA8EA,IAAY,SA2BX;AA3BD,WAAY,SAAS;IACnB;;OAEG;IACH,iDAAY,CAAA;IACZ;;OAEG;IACH,2CAAS,CAAA;IACT;;OAEG;IACH,+CAAW,CAAA;IACX;;OAEG;IACH,yCAAQ,CAAA;IACR;;;OAGG;IACH,+CAAW,CAAA;IACX;;;OAGG;IACH,2CAAS,CAAA;AACX,CAAC,EA3BW,SAAS,yBAAT,SAAS,QA2BpB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "piral-cli",
3
- "version": "1.7.0-beta.7499",
3
+ "version": "1.7.0-beta.7504",
4
4
  "description": "The standard CLI for creating and building a Piral instance or a Pilet.",
5
5
  "keywords": [
6
6
  "portal",
@@ -81,5 +81,5 @@
81
81
  "typescript": "^5.0.0",
82
82
  "yargs": "^15.0.0"
83
83
  },
84
- "gitHead": "8a77b033a8029e55ab252e47af84e2efa70dbcff"
84
+ "gitHead": "a22c325acd985de5e7ab9dd33081f2a9d5374ab2"
85
85
  }
@@ -1,4 +1,4 @@
1
- import { join, resolve, relative, basename } from 'path';
1
+ import { join, resolve, relative, basename, extname } from 'path';
2
2
  import { findDependencyVersion, copyScaffoldingFiles, isValidDependency, flattenExternals } from './package';
3
3
  import { createPiralStubIndexIfNotExists } from './template';
4
4
  import { filesTar, filesOnceTar, packageJson, piralJson, emulatorJson } from './constants';
@@ -11,25 +11,19 @@ import { createDirectory, removeDirectory, matchFiles, removeAny, getFileNames }
11
11
  import { updateExistingJson, readJson, writeJson, createFileIfNotExists } from './io';
12
12
  import { EmulatorWebsiteManifest, LogLevels, SharedDependency, PiletsInfo, TemplateFileLocation } from '../types';
13
13
 
14
- export async function createEmulatorSources(
15
- sourceDir: string,
16
- externals: Array<SharedDependency>,
17
- targetDir: string,
18
- targetFile: string,
19
- logLevel: LogLevels,
20
- ) {
21
- const piralPkg = await readJson(sourceDir, packageJson);
22
- const piralJsonPkg = await readJson(sourceDir, piralJson);
23
- const pilets: PiletsInfo = {
24
- ...piralPkg.pilets,
25
- ...piralJsonPkg.pilets,
26
- };
27
- const files: Array<string | TemplateFileLocation> = pilets.files ?? [];
28
- const allDeps = {
29
- ...piralPkg.devDependencies,
30
- ...piralPkg.dependencies,
31
- };
14
+ function makeFilesMap(files: Array<string | TemplateFileLocation> = []): Array<TemplateFileLocation> {
15
+ return files
16
+ .filter((file) => file && (typeof file === 'string' || typeof file === 'object'))
17
+ .map((file) => (typeof file === 'string' ? { from: file, to: file } : file))
18
+ .filter((file) => typeof file.to === 'string' && typeof file.from === 'string')
19
+ .map((file) => ({
20
+ ...file,
21
+ to: file.to.replace(/\\/g, '/'),
22
+ from: join('files', file.to).replace(/\\/g, '/'),
23
+ }));
24
+ }
32
25
 
26
+ async function makeExternals(sourceDir: string, piralPkg: any, externals: Array<SharedDependency>) {
33
27
  const externalPackages = await Promise.all(
34
28
  externals
35
29
  .filter((ext) => ext.type === 'local' && isValidDependency(ext.name))
@@ -63,20 +57,65 @@ export async function createEmulatorSources(
63
57
  return deps;
64
58
  }, {} as Record<string, string>);
65
59
 
60
+ return [externalDependencies, importmapEntries, optionalDependencies] as const;
61
+ }
62
+
63
+ async function createScaffoldingTarballs(sourceDir: string, targetDir: string, files: Array<string | TemplateFileLocation> = []) {
64
+ const filesDir = resolve(targetDir, filesTar);
65
+ const filesOnceDir = resolve(targetDir, filesOnceTar);
66
+
67
+ await Promise.all([createDirectory(filesDir), createDirectory(filesOnceDir)]);
68
+
69
+ // for scaffolding we need to keep the files also available in the new package
70
+ await copyScaffoldingFiles(
71
+ sourceDir,
72
+ filesDir,
73
+ files.filter((m) => typeof m === 'string' || !m.once),
74
+ );
75
+
76
+ // also to avoid information loss we should store the once-only files separately
77
+ await copyScaffoldingFiles(
78
+ sourceDir,
79
+ filesOnceDir,
80
+ files.filter((m) => typeof m !== 'string' && m.once),
81
+ );
82
+
83
+ // since things like .gitignore are not properly treated by npm we pack the files (for standard and once only)
84
+ await Promise.all([
85
+ createTarball(filesDir, targetDir, `${filesTar}.tar`),
86
+ createTarball(filesOnceDir, targetDir, `${filesOnceTar}.tar`),
87
+ ]);
88
+
89
+ // ... and remove the directory
90
+ await Promise.all([removeDirectory(filesDir), removeDirectory(filesOnceDir)]);
91
+ }
92
+
93
+ export async function createEmulatorSources(
94
+ sourceDir: string,
95
+ externals: Array<SharedDependency>,
96
+ targetDir: string,
97
+ targetFile: string,
98
+ logLevel: LogLevels,
99
+ ) {
100
+ const piralPkg = await readJson(sourceDir, packageJson);
101
+ const piralJsonPkg = await readJson(sourceDir, piralJson);
102
+ const pilets: PiletsInfo = {
103
+ ...piralPkg.pilets,
104
+ ...piralJsonPkg.pilets,
105
+ };
106
+ const allDeps = {
107
+ ...piralPkg.devDependencies,
108
+ ...piralPkg.dependencies,
109
+ };
110
+
66
111
  const rootDir = resolve(targetDir, '..');
67
112
  const appDir = relative(rootDir, targetDir);
68
- const filesDir = resolve(rootDir, filesTar);
69
- const filesOnceDir = resolve(rootDir, filesOnceTar);
70
113
 
71
- const filesMap = files
72
- .filter((file) => file && (typeof file === 'string' || typeof file === 'object'))
73
- .map((file) => (typeof file === 'string' ? { from: file, to: file } : file))
74
- .filter((file) => typeof file.to === 'string' && typeof file.from === 'string')
75
- .map((file) => ({
76
- ...file,
77
- to: file.to.replace(/\\/g, '/'),
78
- from: join('files', file.to).replace(/\\/g, '/'),
79
- }));
114
+ const [externalDependencies, importmapEntries, optionalDependencies] = await makeExternals(
115
+ sourceDir,
116
+ piralPkg,
117
+ externals,
118
+ );
80
119
 
81
120
  // do not modify an existing JSON
82
121
  await createFileIfNotExists(rootDir, packageJson, '{}');
@@ -94,7 +133,7 @@ export async function createEmulatorSources(
94
133
  },
95
134
  pilets: {
96
135
  ...pilets,
97
- files: filesMap,
136
+ files: makeFilesMap(pilets.files),
98
137
  },
99
138
  piralCLI: {
100
139
  version: cliVersion,
@@ -119,22 +158,6 @@ export async function createEmulatorSources(
119
158
  publishConfig: piralPkg.publishConfig,
120
159
  });
121
160
 
122
- await Promise.all([createDirectory(filesDir), createDirectory(filesOnceDir)]);
123
-
124
- // for scaffolding we need to keep the files also available in the new package
125
- await copyScaffoldingFiles(
126
- sourceDir,
127
- filesDir,
128
- files.filter((m) => typeof m === 'string' || !m.once),
129
- );
130
-
131
- // also to avoid information loss we should store the once-only files separately
132
- await copyScaffoldingFiles(
133
- sourceDir,
134
- filesOnceDir,
135
- files.filter((m) => typeof m !== 'string' && m.once),
136
- );
137
-
138
161
  // we just want to make sure that "files" mentioned in the original package.json are respected in the package
139
162
  await copyScaffoldingFiles(sourceDir, rootDir, piralPkg.files ?? []);
140
163
 
@@ -147,14 +170,8 @@ export async function createEmulatorSources(
147
170
  // generate the associated index.d.ts
148
171
  await createPiralDeclaration(sourceDir, piralPkg.app ?? `./src/index.html`, targetDir, ForceOverwrite.yes, logLevel);
149
172
 
150
- // since things like .gitignore are not properly treated by npm we pack the files (for standard and once only)
151
- await Promise.all([
152
- createTarball(filesDir, rootDir, `${filesTar}.tar`),
153
- createTarball(filesOnceDir, rootDir, `${filesOnceTar}.tar`),
154
- ]);
155
-
156
- // ... and remove the directory
157
- await Promise.all([removeDirectory(filesDir), removeDirectory(filesOnceDir)]);
173
+ // generate the files.tar and files_once.tar files
174
+ await createScaffoldingTarballs(sourceDir, rootDir, pilets.files);
158
175
 
159
176
  return rootDir;
160
177
  }
@@ -177,38 +194,11 @@ export async function createEmulatorWebsite(
177
194
  ...piralPkg.dependencies,
178
195
  };
179
196
 
180
- const externalPackages = await Promise.all(
181
- externals
182
- .filter((ext) => ext.type === 'local' && isValidDependency(ext.name))
183
- .map(async (external) => ({
184
- name: external.name,
185
- version: await findDependencyVersion(piralPkg, sourceDir, external),
186
- optional: external.isAsync,
187
- })),
197
+ const [externalDependencies, importmapEntries, optionalDependencies] = await makeExternals(
198
+ sourceDir,
199
+ piralPkg,
200
+ externals,
188
201
  );
189
- const externalDependencies = externalPackages.reduce((deps, dep) => {
190
- if (!dep.optional) {
191
- deps[dep.name] = dep.version;
192
- }
193
-
194
- return deps;
195
- }, {} as Record<string, string>);
196
-
197
- const importmapEntries = externalPackages.reduce((deps, dep) => {
198
- if (!dep.optional) {
199
- deps[dep.name] = dep.name;
200
- }
201
-
202
- return deps;
203
- }, {} as Record<string, string>);
204
-
205
- const optionalDependencies = externalPackages.reduce((deps, dep) => {
206
- if (dep.optional) {
207
- deps[dep.name] = dep.name;
208
- }
209
-
210
- return deps;
211
- }, {} as Record<string, string>);
212
202
 
213
203
  const allFiles = await matchFiles(targetDir, '*');
214
204
  const data: EmulatorWebsiteManifest = {
@@ -217,13 +207,18 @@ export async function createEmulatorWebsite(
217
207
  version: piralPkg.version,
218
208
  timestamp: new Date().toISOString(),
219
209
  scaffolding: {
220
- pilets,
210
+ pilets: {
211
+ ...pilets,
212
+ files: makeFilesMap(pilets.files),
213
+ },
221
214
  cli: cliVersion,
222
215
  },
223
216
  files: {
224
217
  typings: 'index.d.ts',
225
218
  main: basename(targetFile),
226
219
  app: 'index.html',
220
+ always: `${filesTar}.tar`,
221
+ once: `${filesOnceTar}.tar`,
227
222
  assets: allFiles.map((file) => relative(targetDir, file)),
228
223
  },
229
224
  importmap: {
@@ -243,6 +238,9 @@ export async function createEmulatorWebsite(
243
238
  // generate the associated index.d.ts
244
239
  await createPiralDeclaration(sourceDir, piralPkg.app ?? `./src/index.html`, targetDir, ForceOverwrite.yes, logLevel);
245
240
 
241
+ // generate the files.tar and files_once.tar files
242
+ await createScaffoldingTarballs(sourceDir, targetDir, pilets.files);
243
+
246
244
  return targetDir;
247
245
  }
248
246
 
@@ -37,16 +37,18 @@ async function downloadEmulatorFiles(
37
37
  files: EmulatorWebsiteManifestFiles,
38
38
  httpsAgent?: Agent,
39
39
  ) {
40
- const requiredFiles = [files.typings, files.main, files.app];
40
+ const requiredFiles = [files.typings, files.main, files.app, files.always, files.once];
41
41
  const opts = getAxiosOptions(manifestUrl);
42
42
 
43
43
  await Promise.all(
44
- requiredFiles.map(async (file) => {
45
- const url = new URL(file, manifestUrl);
46
- const res = await axios.default.get(url.href, { ...opts, httpsAgent, responseType: 'arraybuffer' });
47
- const data: Buffer = res.data;
48
- await writeBinary(target, file, data);
49
- }),
44
+ requiredFiles
45
+ .filter((file) => file && typeof file === 'string')
46
+ .map(async (file) => {
47
+ const url = new URL(file, manifestUrl);
48
+ const res = await axios.default.get(url.href, { ...opts, httpsAgent, responseType: 'arraybuffer' });
49
+ const data: Buffer = res.data;
50
+ await writeBinary(target, file, data);
51
+ }),
50
52
  );
51
53
  }
52
54
 
@@ -9,6 +9,8 @@ export interface EmulatorWebsiteManifestFiles {
9
9
  main: string;
10
10
  app: string;
11
11
  assets: Array<string>;
12
+ always?: string;
13
+ once?: string;
12
14
  }
13
15
 
14
16
  export interface EmulatorWebsiteManifest {