@intelligentgraphics/ig.gfx.packager 3.1.0-alpha.1 → 3.1.0-alpha.2
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.
- package/build/bin.mjs +1 -1
- package/build/{cli-fec9c069.mjs → cli-CuiqZ39_.mjs} +87 -82
- package/build/cli-CuiqZ39_.mjs.map +1 -0
- package/build/{dependencies-d870016d.mjs → dependencies-BiYItaVS.mjs} +2 -2
- package/build/{dependencies-d870016d.mjs.map → dependencies-BiYItaVS.mjs.map} +1 -1
- package/build/{generateIndex-dd0b4563.mjs → generateIndex-hg6jRXQv.mjs} +96 -83
- package/build/generateIndex-hg6jRXQv.mjs.map +1 -0
- package/build/{generateParameterType-9a671e36.mjs → generateParameterType-CDjqLM4J.mjs} +3 -4
- package/build/{generateParameterType-9a671e36.mjs.map → generateParameterType-CDjqLM4J.mjs.map} +1 -1
- package/build/{index-0caf1a6e.mjs → index-B2kXo6K7.mjs} +343 -119
- package/build/index-B2kXo6K7.mjs.map +1 -0
- package/build/{index-7fa42d48.mjs → index-BoGrZubW.mjs} +201 -188
- package/build/index-BoGrZubW.mjs.map +1 -0
- package/build/{postinstall-81b6f0b0.mjs → postinstall-CbMUz2zy.mjs} +3 -4
- package/build/{postinstall-81b6f0b0.mjs.map → postinstall-CbMUz2zy.mjs.map} +1 -1
- package/build/{publishNpm-c985bd6e.mjs → publishNpm-CrnuTwss.mjs} +14 -11
- package/build/publishNpm-CrnuTwss.mjs.map +1 -0
- package/build/rollup-UR3DADp8.mjs +198 -0
- package/build/rollup-UR3DADp8.mjs.map +1 -0
- package/build/scripts-Bfojy_uD.mjs +48 -0
- package/build/scripts-Bfojy_uD.mjs.map +1 -0
- package/build/versionFile-DSqOw-XB.mjs +208 -0
- package/build/versionFile-DSqOw-XB.mjs.map +1 -0
- package/lib/lib.mjs +2649 -18
- package/package.json +20 -15
- package/readme.md +126 -13
- package/build/cli-fec9c069.mjs.map +0 -1
- package/build/generateIndex-dd0b4563.mjs.map +0 -1
- package/build/index-0caf1a6e.mjs.map +0 -1
- package/build/index-7fa42d48.mjs.map +0 -1
- package/build/publishNpm-c985bd6e.mjs.map +0 -1
- package/build/scripts-7ed8dff6.mjs +0 -10
- package/build/scripts-7ed8dff6.mjs.map +0 -1
- package/build/swc-9ed0f3ce.mjs +0 -60
- package/build/swc-9ed0f3ce.mjs.map +0 -1
- package/build/versionFile-cbfd3f4a.mjs +0 -380
- package/build/versionFile-cbfd3f4a.mjs.map +0 -1
|
@@ -5,27 +5,28 @@ import { createWriteStream, createReadStream } from 'fs';
|
|
|
5
5
|
import { pipeline } from 'stream/promises';
|
|
6
6
|
import { exec } from 'child_process';
|
|
7
7
|
import { promisify } from 'util';
|
|
8
|
-
import
|
|
9
|
-
import { P as PACKAGE_FILE, I as INDEX_FILE, p as parseCreatorPackageName, r as readPackageCreatorManifest, w as writePackageCreatorManifest, i as isErrorENOENT, a as readPackageCreatorIndex, b as readWorkspaceNpmManifest, g as getWorkspaceOutputPath, c as readPackageAnimationList, d as isErrorEACCES, e as isErrorEPERM, u as uploadPackageFromStream, f as getPackageReleasesDirectory, h as getExistingPackages, s as startSession, j as closeSession } from './cli-fec9c069.mjs';
|
|
10
|
-
import { l as logPackageMessage, b as buildFolders } from './index-0caf1a6e.mjs';
|
|
8
|
+
import 'resolve';
|
|
11
9
|
import 'write-pkg';
|
|
10
|
+
import { p as parseCreatorPackageName, r as readPackageCreatorManifest, w as writePackageCreatorManifest, i as isErrorENOENT, P as PACKAGE_FILE, a as readPackageCreatorIndex, I as INDEX_FILE, s as startSession, c as closeSession, g as getExistingPackages, u as uploadPackageFromBuffer, b as readWorkspaceNpmManifest, d as getWorkspaceOutputPath, e as readPackageAnimationList, f as isErrorEACCES, h as isErrorEPERM, j as getPackageReleasesDirectory } from './cli-CuiqZ39_.mjs';
|
|
11
|
+
import { P as PackageVersion, c as createPackageScopedReporter, a as consoleReporter, b as buildFolders } from './index-B2kXo6K7.mjs';
|
|
12
12
|
import 'glob';
|
|
13
13
|
import 'node:path';
|
|
14
14
|
import 'node:fs';
|
|
15
15
|
import 'axios';
|
|
16
|
-
import {
|
|
16
|
+
import { p as parseVersionFromNumericVersion, g as getVersionFileHandler, a as parseVersionFromString, b as getVersionInformationFromGit, c as getWorkspaceBannerText } from './versionFile-DSqOw-XB.mjs';
|
|
17
17
|
import JSZip from 'jszip';
|
|
18
|
-
import '
|
|
18
|
+
import { r as readPublishedPackageCreatorIndex, d as determineWorkspaceIGLibraries, a as readPublishedPackageNpmManifest, b as readPublishedPackageCreatorManifest } from './dependencies-BiYItaVS.mjs';
|
|
19
|
+
import { buffer } from 'node:stream/consumers';
|
|
19
20
|
import 'update-notifier';
|
|
20
21
|
import 'yargs/yargs';
|
|
21
22
|
import 'url';
|
|
22
23
|
import 'assert';
|
|
23
24
|
import 'events';
|
|
24
|
-
import 'core-js/modules/es.typed-array.set.js';
|
|
25
25
|
import 'inquirer';
|
|
26
26
|
import 'terser';
|
|
27
|
+
import 'os';
|
|
27
28
|
import 'typescript';
|
|
28
|
-
import './scripts-
|
|
29
|
+
import './scripts-Bfojy_uD.mjs';
|
|
29
30
|
import 'typedoc';
|
|
30
31
|
import 'source-map-js';
|
|
31
32
|
import 'ajv';
|
|
@@ -68,27 +69,26 @@ const notRuntimeScripts = [
|
|
|
68
69
|
"Context",
|
|
69
70
|
"Evaluator"
|
|
70
71
|
];
|
|
71
|
-
const buildArchiveFromPackage = async (packageLocation, data, binDir, minified = true)=>{
|
|
72
|
+
const buildArchiveFromPackage = async (reporter, packageLocation, data, binDir, minified = true)=>{
|
|
72
73
|
const { domain } = parseCreatorPackageName(data);
|
|
73
|
-
const logStep = (step)=>logPackageMessage(data.Package, step);
|
|
74
74
|
const scriptDirectories = [
|
|
75
75
|
packageLocation.path,
|
|
76
76
|
packageLocation.scriptsDir
|
|
77
77
|
];
|
|
78
78
|
if (data.Package === "IG.GFX.Standard") {
|
|
79
|
-
|
|
79
|
+
reporter.log(`Including Images folder`);
|
|
80
80
|
scriptDirectories.push(path.join(packageLocation.path, "Images"));
|
|
81
81
|
}
|
|
82
82
|
const manifest = readPackageCreatorManifest(packageLocation);
|
|
83
83
|
if (manifest !== undefined) {
|
|
84
84
|
if (manifest.RunTime && notRuntimeScripts.includes(manifest.Type)) {
|
|
85
|
-
|
|
85
|
+
reporter.log("Setting script RunTime to false because of script type");
|
|
86
86
|
writePackageCreatorManifest(packageLocation, {
|
|
87
87
|
...manifest,
|
|
88
88
|
RunTime: false
|
|
89
89
|
});
|
|
90
90
|
} else if (!manifest.RunTime && runtimeScripts.includes(manifest.Type)) {
|
|
91
|
-
|
|
91
|
+
reporter.log("Setting script RunTime to true because of script type");
|
|
92
92
|
writePackageCreatorManifest(packageLocation, {
|
|
93
93
|
...manifest,
|
|
94
94
|
RunTime: true
|
|
@@ -137,19 +137,175 @@ const buildArchiveFromPackage = async (packageLocation, data, binDir, minified =
|
|
|
137
137
|
archive.file(file, fs.createReadStream(path.join(directory, file)));
|
|
138
138
|
}
|
|
139
139
|
} catch (err) {
|
|
140
|
-
|
|
140
|
+
reporter.error(`Script directory "${directory}" does not exist`);
|
|
141
141
|
}
|
|
142
142
|
}
|
|
143
143
|
return archive;
|
|
144
144
|
};
|
|
145
145
|
|
|
146
|
+
const createAssetServiceSessionManager = async (params)=>{
|
|
147
|
+
const targetSession = await startSession(params);
|
|
148
|
+
let basicsSession;
|
|
149
|
+
return {
|
|
150
|
+
getBasicsSession: async ()=>{
|
|
151
|
+
if (targetSession.subDomain === "Basics") {
|
|
152
|
+
return targetSession;
|
|
153
|
+
}
|
|
154
|
+
if (basicsSession === undefined) {
|
|
155
|
+
basicsSession = await startSession({
|
|
156
|
+
...params,
|
|
157
|
+
subDomain: "Basics"
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
return basicsSession;
|
|
161
|
+
},
|
|
162
|
+
getTargetSession: ()=>targetSession,
|
|
163
|
+
destroy: async ()=>{
|
|
164
|
+
await closeSession(targetSession);
|
|
165
|
+
if (basicsSession !== undefined) {
|
|
166
|
+
await closeSession(basicsSession);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
};
|
|
170
|
+
};
|
|
171
|
+
|
|
172
|
+
const synchronizeDependencies = async (workspaceLocation, creatorPackage, sessionManager, prompter, reporter, logUpToDate = false)=>{
|
|
173
|
+
const libraries = determineWorkspaceIGLibraries(workspaceLocation);
|
|
174
|
+
// If there are no libraries, we don't need to check for required versions
|
|
175
|
+
if (libraries.length === 0) {
|
|
176
|
+
return true;
|
|
177
|
+
}
|
|
178
|
+
const targetSession = sessionManager.getTargetSession();
|
|
179
|
+
const rawUploadedPackages = await getExistingPackages(targetSession);
|
|
180
|
+
const uploadedPackages = rawUploadedPackages.map((entry)=>{
|
|
181
|
+
let version;
|
|
182
|
+
try {
|
|
183
|
+
version = parseVersionFromNumericVersion(entry.numericVersion);
|
|
184
|
+
} catch (err) {
|
|
185
|
+
throw new Error(`Encountered invalid format for version ${entry.numericVersion}`);
|
|
186
|
+
}
|
|
187
|
+
if (version.buildNumber < 100) {
|
|
188
|
+
version.preRelease = {
|
|
189
|
+
type: "beta",
|
|
190
|
+
version: version.buildNumber
|
|
191
|
+
};
|
|
192
|
+
} else if (version.buildNumber > 100) {
|
|
193
|
+
version.preRelease = {
|
|
194
|
+
type: "patch",
|
|
195
|
+
version: version.buildNumber - 100
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
return {
|
|
199
|
+
...entry,
|
|
200
|
+
version
|
|
201
|
+
};
|
|
202
|
+
});
|
|
203
|
+
for (const libraryLocation of libraries){
|
|
204
|
+
const libraryManifest = readPublishedPackageNpmManifest(libraryLocation);
|
|
205
|
+
const libraryCreatorPackage = readPublishedPackageCreatorManifest(libraryLocation);
|
|
206
|
+
if (libraryCreatorPackage === undefined || libraryManifest.main === undefined || libraryCreatorPackage.Package === creatorPackage?.Package) {
|
|
207
|
+
continue;
|
|
208
|
+
}
|
|
209
|
+
const libraryVersion = PackageVersion.extractFromLine(libraryManifest.version);
|
|
210
|
+
if (libraryVersion.preRelease) {
|
|
211
|
+
libraryVersion.buildNumber = libraryVersion.preRelease.version;
|
|
212
|
+
libraryVersion.preRelease = undefined;
|
|
213
|
+
} else {
|
|
214
|
+
libraryVersion.buildNumber = 100;
|
|
215
|
+
}
|
|
216
|
+
let uploadedPackageInBasics;
|
|
217
|
+
let uploadedPackageInTarget;
|
|
218
|
+
for (const uploadedPackage of uploadedPackages){
|
|
219
|
+
if (uploadedPackage.scope === libraryCreatorPackage.Package) {
|
|
220
|
+
if (uploadedPackage.support) {
|
|
221
|
+
uploadedPackageInBasics = uploadedPackage;
|
|
222
|
+
} else {
|
|
223
|
+
uploadedPackageInTarget = uploadedPackage;
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
const validInBasics = uploadedPackageInBasics !== undefined && !uploadedPackageInBasics.version.isLesserThan(libraryVersion);
|
|
228
|
+
const validInTarget = uploadedPackageInTarget !== undefined && !uploadedPackageInTarget.version.isLesserThan(libraryVersion);
|
|
229
|
+
if (validInBasics || validInTarget) {
|
|
230
|
+
if (targetSession.subDomain !== "Basics" && uploadedPackageInBasics !== undefined && uploadedPackageInTarget !== undefined) {
|
|
231
|
+
reporter.log(`Package ${libraryCreatorPackage.Package} is uploaded both for Basics and ${targetSession.subDomain}. The package within ${targetSession.subDomain} will be used.`);
|
|
232
|
+
}
|
|
233
|
+
if (logUpToDate) {
|
|
234
|
+
reporter.log(`Package ${libraryCreatorPackage.Package} is already uploaded with the required version ${libraryVersion.toVersionString({})}`);
|
|
235
|
+
}
|
|
236
|
+
continue;
|
|
237
|
+
}
|
|
238
|
+
const possibleTargets = [];
|
|
239
|
+
if (uploadedPackageInBasics) {
|
|
240
|
+
const version = uploadedPackageInBasics.version.toVersionString({
|
|
241
|
+
buildNumber: true
|
|
242
|
+
});
|
|
243
|
+
possibleTargets.push({
|
|
244
|
+
value: "Basics",
|
|
245
|
+
name: `Basics (Current: ${version})`
|
|
246
|
+
});
|
|
247
|
+
} else {
|
|
248
|
+
possibleTargets.push({
|
|
249
|
+
value: "Basics",
|
|
250
|
+
name: "Basics (Current: None)"
|
|
251
|
+
});
|
|
252
|
+
}
|
|
253
|
+
if (targetSession.subDomain !== "Basics") {
|
|
254
|
+
if (uploadedPackageInTarget) {
|
|
255
|
+
const version = uploadedPackageInTarget.version.toVersionString({
|
|
256
|
+
buildNumber: true
|
|
257
|
+
});
|
|
258
|
+
possibleTargets.push({
|
|
259
|
+
value: targetSession.subDomain,
|
|
260
|
+
name: `${targetSession.subDomain} (Current: ${version})`
|
|
261
|
+
});
|
|
262
|
+
} else {
|
|
263
|
+
possibleTargets.push({
|
|
264
|
+
value: targetSession.subDomain,
|
|
265
|
+
name: `${targetSession.subDomain} (Current: None)`
|
|
266
|
+
});
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
const libraryVersionString = libraryVersion.toVersionString({
|
|
270
|
+
buildNumber: true
|
|
271
|
+
});
|
|
272
|
+
const uploadTargetScope = await prompter.ask({
|
|
273
|
+
message: `Version ${libraryVersionString} of dependency ${libraryCreatorPackage.Package} is required but not available. Please select a subdomain to upload the correct dependency version to`,
|
|
274
|
+
options: [
|
|
275
|
+
...possibleTargets,
|
|
276
|
+
{
|
|
277
|
+
name: "Skip upload",
|
|
278
|
+
value: "Skip"
|
|
279
|
+
}
|
|
280
|
+
],
|
|
281
|
+
default: possibleTargets[0].value
|
|
282
|
+
});
|
|
283
|
+
if (uploadTargetScope === "Skip") {
|
|
284
|
+
continue;
|
|
285
|
+
}
|
|
286
|
+
const archive = buildArchiveFromPublishedPackage(libraryLocation, libraryManifest, libraryCreatorPackage);
|
|
287
|
+
const newVersionString = libraryVersion.toVersionString({
|
|
288
|
+
buildNumber: true
|
|
289
|
+
});
|
|
290
|
+
const session = uploadTargetScope === "Basics" ? await sessionManager.getBasicsSession() : targetSession;
|
|
291
|
+
reporter.log(`Uploading package ${libraryCreatorPackage.Package} with version ${newVersionString} to ${session.domain}.${session.subDomain}`);
|
|
292
|
+
await uploadPackageFromBuffer(session, {
|
|
293
|
+
name: libraryCreatorPackage.Package,
|
|
294
|
+
version: newVersionString
|
|
295
|
+
}, await archive.generateAsync({
|
|
296
|
+
type: "nodebuffer"
|
|
297
|
+
}));
|
|
298
|
+
}
|
|
299
|
+
};
|
|
300
|
+
|
|
146
301
|
const execAsync = promisify(exec);
|
|
147
302
|
const releaseFolder = async (options)=>{
|
|
148
303
|
const workspace = options.workspace;
|
|
149
304
|
const location = options.directory;
|
|
150
|
-
const
|
|
305
|
+
const versionFile = getVersionFileHandler(location);
|
|
151
306
|
const packageDescription = readPackageCreatorManifest(location);
|
|
152
307
|
const fullPackageName = packageDescription.Package;
|
|
308
|
+
const reporter = options.reporter ?? createPackageScopedReporter(consoleReporter, packageDescription.Package);
|
|
153
309
|
const { domain, subdomain } = parseCreatorPackageName(packageDescription);
|
|
154
310
|
const publishDomain = options.domain ?? domain;
|
|
155
311
|
const publishSubdomain = options.subdomain ?? subdomain;
|
|
@@ -170,21 +326,20 @@ const releaseFolder = async (options)=>{
|
|
|
170
326
|
version: newVersion.buildNumber
|
|
171
327
|
};
|
|
172
328
|
} else if (newVersion.buildNumber > 100) {
|
|
173
|
-
if (options.experimentalSwc) {
|
|
174
|
-
throw new Error(`Experimental SWC is not allowed for release versions`);
|
|
175
|
-
}
|
|
176
329
|
newVersion.preRelease = {
|
|
177
330
|
type: "patch",
|
|
178
331
|
version: newVersion.buildNumber - 100
|
|
179
332
|
};
|
|
180
333
|
}
|
|
181
|
-
if (sharedPackageJson !== undefined) {
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
334
|
+
// if (sharedPackageJson !== undefined) {
|
|
335
|
+
// reporter.log(
|
|
336
|
+
// `Running npm install to make sure all dependencies are up to date`,
|
|
337
|
+
// );
|
|
338
|
+
// await execAsync(`npm install`, {
|
|
339
|
+
// encoding: "utf-8",
|
|
340
|
+
// cwd: workspace.path,
|
|
341
|
+
// });
|
|
342
|
+
// }
|
|
188
343
|
const binDir = options.outDir ?? getWorkspaceOutputPath(workspace);
|
|
189
344
|
await fs$1.mkdir(binDir, {
|
|
190
345
|
recursive: true
|
|
@@ -220,7 +375,9 @@ const releaseFolder = async (options)=>{
|
|
|
220
375
|
}
|
|
221
376
|
} else {
|
|
222
377
|
const gitVersionInformation = await getVersionInformationFromGit(workspace, location);
|
|
223
|
-
|
|
378
|
+
if (versionFile.exists) {
|
|
379
|
+
versionFile.write(fullPackageName, newVersion);
|
|
380
|
+
}
|
|
224
381
|
const bannerText = sharedPackageJson !== undefined ? getWorkspaceBannerText(sharedPackageJson) : undefined;
|
|
225
382
|
await buildFolders({
|
|
226
383
|
...options,
|
|
@@ -235,7 +392,8 @@ const releaseFolder = async (options)=>{
|
|
|
235
392
|
buildNumber: true
|
|
236
393
|
}),
|
|
237
394
|
date: new Date(Date.now())
|
|
238
|
-
} : undefined
|
|
395
|
+
} : undefined,
|
|
396
|
+
preparedReporter: reporter
|
|
239
397
|
});
|
|
240
398
|
newVersion.preRelease = undefined;
|
|
241
399
|
try {
|
|
@@ -246,9 +404,8 @@ const releaseFolder = async (options)=>{
|
|
|
246
404
|
}
|
|
247
405
|
}
|
|
248
406
|
if (readPackageAnimationList(location).length > 0) {
|
|
249
|
-
var _workspaceManifest_dependencies;
|
|
250
407
|
const workspaceManifest = readWorkspaceNpmManifest(workspace);
|
|
251
|
-
if (!
|
|
408
|
+
if (!workspaceManifest.dependencies?.["@intelligentgraphics/3d.ig.gfx.standard"]) {
|
|
252
409
|
const install = await options.prompter.confirm(`The IG.GFX.Standard package should be added as a dependency to provide the 'AnimationInteractor' used to display animations. Do you wish to add it now?`);
|
|
253
410
|
if (install) {
|
|
254
411
|
await execAsync(`npm install @intelligentgraphics/3d.ig.gfx.standard`, {
|
|
@@ -261,14 +418,14 @@ const releaseFolder = async (options)=>{
|
|
|
261
418
|
}
|
|
262
419
|
}
|
|
263
420
|
}
|
|
264
|
-
|
|
265
|
-
const archive = await buildArchiveFromPackage(location, packageDescription, binDir, options.minimize);
|
|
421
|
+
reporter.log(`Creating zip file`);
|
|
422
|
+
const archive = await buildArchiveFromPackage(reporter, location, packageDescription, binDir, options.minimize);
|
|
266
423
|
try {
|
|
267
424
|
const zipOutputStream = createWriteStream(zipFilePath);
|
|
268
425
|
await pipeline(archive.generateNodeStream(), zipOutputStream);
|
|
269
426
|
} catch (err) {
|
|
270
427
|
if (isErrorEACCES(err) || isErrorEPERM(err)) {
|
|
271
|
-
|
|
428
|
+
reporter.log(`Could not create zip file in the bin directory because of a permissions error. Only using it in-memory`);
|
|
272
429
|
uploadable = {
|
|
273
430
|
getStream: ()=>archive.generateNodeStream()
|
|
274
431
|
};
|
|
@@ -281,8 +438,8 @@ const releaseFolder = async (options)=>{
|
|
|
281
438
|
if (!options.authentication) {
|
|
282
439
|
throw new Error(`Expected authentication to be available`);
|
|
283
440
|
}
|
|
284
|
-
|
|
285
|
-
const sessionManager = await
|
|
441
|
+
reporter.log(`Opening connection to IG.Asset.Server`);
|
|
442
|
+
const sessionManager = await createAssetServiceSessionManager({
|
|
286
443
|
url: options.service,
|
|
287
444
|
address: options.address,
|
|
288
445
|
domain: publishDomain,
|
|
@@ -291,22 +448,26 @@ const releaseFolder = async (options)=>{
|
|
|
291
448
|
});
|
|
292
449
|
try {
|
|
293
450
|
if (!options.skipDependencies) {
|
|
294
|
-
|
|
451
|
+
try {
|
|
452
|
+
await synchronizeDependencies(workspace, packageDescription, sessionManager, options.prompter, reporter);
|
|
453
|
+
} catch (err) {
|
|
454
|
+
reporter.error(`Failed to synchronize dependencies for ${packageDescription.Package}`, err);
|
|
455
|
+
}
|
|
295
456
|
}
|
|
296
|
-
|
|
297
|
-
await
|
|
457
|
+
reporter.log(`Uploading package to ${publishDomain}.${publishSubdomain}`);
|
|
458
|
+
await uploadPackageFromBuffer(sessionManager.getTargetSession(), assetServerPackageDetails, await buffer(uploadable.getStream()));
|
|
298
459
|
} finally{
|
|
299
460
|
await sessionManager.destroy().catch((err)=>{
|
|
300
|
-
|
|
461
|
+
reporter.error(`Failed to close IG.Asset.Server session(s)`, err);
|
|
301
462
|
});
|
|
302
463
|
}
|
|
303
464
|
}
|
|
304
465
|
} catch (err) {
|
|
305
|
-
|
|
466
|
+
versionFile.reset();
|
|
306
467
|
throw err;
|
|
307
468
|
}
|
|
308
469
|
if (newVersion.buildNumber >= 100 && !options.pushOnly) {
|
|
309
|
-
|
|
470
|
+
reporter.error("Copying zip to releases folder");
|
|
310
471
|
const zipFileName = `${packageNameWithVersion}.zip`;
|
|
311
472
|
const releasesPath = getPackageReleasesDirectory(location);
|
|
312
473
|
await fs$1.mkdir(releasesPath, {
|
|
@@ -315,154 +476,6 @@ const releaseFolder = async (options)=>{
|
|
|
315
476
|
await pipeline(uploadable.getStream(), createWriteStream(path.join(releasesPath, zipFileName)));
|
|
316
477
|
}
|
|
317
478
|
};
|
|
318
|
-
const ensureRequiredVersions = async (workspaceLocation, creatorPackage, sessionManager, prompter)=>{
|
|
319
|
-
const libraries = determineWorkspaceIGLibraries(workspaceLocation);
|
|
320
|
-
// If there are no libraries, we don't need to check for required versions
|
|
321
|
-
if (libraries.length === 0) {
|
|
322
|
-
return true;
|
|
323
|
-
}
|
|
324
|
-
const targetSession = sessionManager.getTargetSession();
|
|
325
|
-
const rawUploadedPackages = await getExistingPackages(targetSession);
|
|
326
|
-
const uploadedPackages = rawUploadedPackages.map((entry)=>{
|
|
327
|
-
let version;
|
|
328
|
-
try {
|
|
329
|
-
version = parseVersionFromNumericVersion(entry.numericVersion);
|
|
330
|
-
} catch (err) {
|
|
331
|
-
throw new Error(`Encountered invalid format for version ${entry.numericVersion}`);
|
|
332
|
-
}
|
|
333
|
-
if (version.buildNumber < 100) {
|
|
334
|
-
version.preRelease = {
|
|
335
|
-
type: "beta",
|
|
336
|
-
version: version.buildNumber
|
|
337
|
-
};
|
|
338
|
-
} else if (version.buildNumber > 100) {
|
|
339
|
-
version.preRelease = {
|
|
340
|
-
type: "patch",
|
|
341
|
-
version: version.buildNumber - 100
|
|
342
|
-
};
|
|
343
|
-
}
|
|
344
|
-
return {
|
|
345
|
-
...entry,
|
|
346
|
-
version
|
|
347
|
-
};
|
|
348
|
-
});
|
|
349
|
-
for (const libraryLocation of libraries){
|
|
350
|
-
const libraryManifest = readPublishedPackageNpmManifest(libraryLocation);
|
|
351
|
-
const libraryCreatorPackage = readPublishedPackageCreatorManifest(libraryLocation);
|
|
352
|
-
if (libraryCreatorPackage === undefined || libraryManifest.main === undefined || libraryCreatorPackage.Package === creatorPackage.Package) {
|
|
353
|
-
continue;
|
|
354
|
-
}
|
|
355
|
-
const libraryVersion = PackageVersion.extractFromLine(libraryManifest.version);
|
|
356
|
-
if (libraryVersion.preRelease) {
|
|
357
|
-
libraryVersion.buildNumber = libraryVersion.preRelease.version;
|
|
358
|
-
libraryVersion.preRelease = undefined;
|
|
359
|
-
} else {
|
|
360
|
-
libraryVersion.buildNumber = 100;
|
|
361
|
-
}
|
|
362
|
-
let uploadedPackageInBasics;
|
|
363
|
-
let uploadedPackageInTarget;
|
|
364
|
-
for (const uploadedPackage of uploadedPackages){
|
|
365
|
-
if (uploadedPackage.scope === libraryCreatorPackage.Package) {
|
|
366
|
-
if (uploadedPackage.support) {
|
|
367
|
-
uploadedPackageInBasics = uploadedPackage;
|
|
368
|
-
} else {
|
|
369
|
-
uploadedPackageInTarget = uploadedPackage;
|
|
370
|
-
}
|
|
371
|
-
}
|
|
372
|
-
}
|
|
373
|
-
const validInBasics = uploadedPackageInBasics !== undefined && !uploadedPackageInBasics.version.isLesserThan(libraryVersion);
|
|
374
|
-
const validInTarget = uploadedPackageInTarget !== undefined && !uploadedPackageInTarget.version.isLesserThan(libraryVersion);
|
|
375
|
-
if (validInBasics || validInTarget) {
|
|
376
|
-
if (targetSession.subDomain !== "Basics" && uploadedPackageInBasics !== undefined && uploadedPackageInTarget !== undefined) {
|
|
377
|
-
logPackageMessage(creatorPackage.Package, `Package ${libraryCreatorPackage.Package} is uploaded both for Basics and ${targetSession.subDomain}. The package within ${targetSession.subDomain} will be used.`);
|
|
378
|
-
}
|
|
379
|
-
continue;
|
|
380
|
-
}
|
|
381
|
-
const possibleTargets = [];
|
|
382
|
-
if (uploadedPackageInBasics) {
|
|
383
|
-
const version = uploadedPackageInBasics.version.toVersionString({
|
|
384
|
-
buildNumber: true
|
|
385
|
-
});
|
|
386
|
-
possibleTargets.push({
|
|
387
|
-
value: "Basics",
|
|
388
|
-
name: `Basics (Current: ${version})`
|
|
389
|
-
});
|
|
390
|
-
} else {
|
|
391
|
-
possibleTargets.push({
|
|
392
|
-
value: "Basics",
|
|
393
|
-
name: "Basics (Current: None)"
|
|
394
|
-
});
|
|
395
|
-
}
|
|
396
|
-
if (targetSession.subDomain !== "Basics") {
|
|
397
|
-
if (uploadedPackageInTarget) {
|
|
398
|
-
const version = uploadedPackageInTarget.version.toVersionString({
|
|
399
|
-
buildNumber: true
|
|
400
|
-
});
|
|
401
|
-
possibleTargets.push({
|
|
402
|
-
value: targetSession.subDomain,
|
|
403
|
-
name: `${targetSession.subDomain} (Current: ${version})`
|
|
404
|
-
});
|
|
405
|
-
} else {
|
|
406
|
-
possibleTargets.push({
|
|
407
|
-
value: targetSession.subDomain,
|
|
408
|
-
name: `${targetSession.subDomain} (Current: None)`
|
|
409
|
-
});
|
|
410
|
-
}
|
|
411
|
-
}
|
|
412
|
-
const libraryVersionString = libraryVersion.toVersionString({
|
|
413
|
-
buildNumber: true
|
|
414
|
-
});
|
|
415
|
-
const uploadTargetScope = await prompter.ask({
|
|
416
|
-
message: `Version ${libraryVersionString} of dependency ${libraryCreatorPackage.Package} is required but not available. Please select a subdomain to upload the correct dependency version to`,
|
|
417
|
-
options: [
|
|
418
|
-
...possibleTargets,
|
|
419
|
-
{
|
|
420
|
-
name: "Skip upload",
|
|
421
|
-
value: "Skip"
|
|
422
|
-
}
|
|
423
|
-
],
|
|
424
|
-
default: possibleTargets[0].value
|
|
425
|
-
});
|
|
426
|
-
if (uploadTargetScope === "Skip") {
|
|
427
|
-
continue;
|
|
428
|
-
}
|
|
429
|
-
const archive = buildArchiveFromPublishedPackage(libraryLocation, libraryManifest, libraryCreatorPackage);
|
|
430
|
-
const newVersionString = libraryVersion.toVersionString({
|
|
431
|
-
buildNumber: true
|
|
432
|
-
});
|
|
433
|
-
const session = uploadTargetScope === "Basics" ? await sessionManager.getBasicsSession() : targetSession;
|
|
434
|
-
logPackageMessage(creatorPackage.Package, `Uploading package ${libraryCreatorPackage.Package} with version ${newVersionString} to ${session.domain}.${session.subDomain}`);
|
|
435
|
-
await uploadPackageFromStream(session, {
|
|
436
|
-
name: libraryCreatorPackage.Package,
|
|
437
|
-
version: newVersionString
|
|
438
|
-
}, archive.generateNodeStream());
|
|
439
|
-
}
|
|
440
|
-
};
|
|
441
|
-
const createSessionManager = async (params)=>{
|
|
442
|
-
const targetSession = await startSession(params);
|
|
443
|
-
let basicsSession;
|
|
444
|
-
return {
|
|
445
|
-
getBasicsSession: async ()=>{
|
|
446
|
-
if (targetSession.subDomain === "Basics") {
|
|
447
|
-
return targetSession;
|
|
448
|
-
}
|
|
449
|
-
if (basicsSession === undefined) {
|
|
450
|
-
basicsSession = await startSession({
|
|
451
|
-
...params,
|
|
452
|
-
subDomain: "Basics"
|
|
453
|
-
});
|
|
454
|
-
}
|
|
455
|
-
return basicsSession;
|
|
456
|
-
},
|
|
457
|
-
getTargetSession: ()=>targetSession,
|
|
458
|
-
destroy: async ()=>{
|
|
459
|
-
await closeSession(targetSession);
|
|
460
|
-
if (basicsSession !== undefined) {
|
|
461
|
-
await closeSession(basicsSession);
|
|
462
|
-
}
|
|
463
|
-
}
|
|
464
|
-
};
|
|
465
|
-
};
|
|
466
479
|
|
|
467
480
|
export { releaseFolder };
|
|
468
|
-
//# sourceMappingURL=index-
|
|
481
|
+
//# sourceMappingURL=index-BoGrZubW.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-BoGrZubW.mjs","sources":["../src/commands/publish/zip.ts","../src/lib/assetServiceSessionManager.ts","../src/lib/dependencySync.ts","../src/commands/publish/index.ts"],"sourcesContent":["import JSZip from \"jszip\";\nimport * as path from \"path\";\nimport * as fs from \"fs\";\n\nimport { isErrorENOENT } from \"../../lib/error\";\nimport {\n\tCreatorPackage,\n\treadPackageCreatorManifest,\n\twritePackageCreatorManifest,\n\treadPackageCreatorIndex,\n\tparseCreatorPackageName,\n\tPackageLocation,\n\tPackageNpmManifest,\n\tINDEX_FILE,\n\tPACKAGE_FILE,\n} from \"../../lib/package\";\nimport {\n\tPublishedPackageLocation,\n\treadPublishedPackageCreatorIndex,\n} from \"../../lib/publishedPackage\";\nimport { Reporter } from \"@intelligentgraphics/ig.gfx.tools.core\";\n\nexport const buildArchiveFromPublishedPackage = (\n\tlocation: PublishedPackageLocation,\n\tmanifest: PackageNpmManifest,\n\tcreatorPackage: CreatorPackage,\n) => {\n\tconst archive = new JSZip();\n\n\tarchive.file(PACKAGE_FILE, JSON.stringify(creatorPackage, null, 2));\n\n\tconst index = readPublishedPackageCreatorIndex(location);\n\n\tif (index !== undefined) {\n\t\tarchive.file(INDEX_FILE, JSON.stringify(index, null, 2));\n\t}\n\n\tarchive.file(\n\t\tmanifest.main,\n\t\tfs.createReadStream(path.join(location.path, manifest.main)),\n\t);\n\n\tif (creatorPackage.Package === \"IG.GFX.Standard\") {\n\t\tconst source = path.join(location.path, \"Images\");\n\n\t\tif (fs.existsSync(source)) {\n\t\t\tconst images = fs.readdirSync(source);\n\n\t\t\tfor (const file of images) {\n\t\t\t\tconst { ext } = path.parse(file);\n\n\t\t\t\tswitch (ext) {\n\t\t\t\t\tcase \".png\":\n\t\t\t\t\tcase \".jpeg\":\n\t\t\t\t\tcase \".jpg\":\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tarchive.file(\n\t\t\t\t\tfile,\n\t\t\t\t\tfs.createReadStream(path.join(source, file)),\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn archive;\n};\n\nconst runtimeScripts: CreatorPackage[\"Type\"][] = [\n\t\"Interactor\",\n\t\"Core\",\n\t\"Mixed\",\n];\n\nconst notRuntimeScripts: CreatorPackage[\"Type\"][] = [\"Context\", \"Evaluator\"];\n\nexport const buildArchiveFromPackage = async (\n\treporter: Reporter,\n\tpackageLocation: PackageLocation,\n\tdata: CreatorPackage,\n\tbinDir: string,\n\tminified = true,\n) => {\n\tconst { domain } = parseCreatorPackageName(data);\n\n\tconst scriptDirectories: string[] = [\n\t\tpackageLocation.path,\n\t\tpackageLocation.scriptsDir,\n\t];\n\n\tif (data.Package === \"IG.GFX.Standard\") {\n\t\treporter.log(`Including Images folder`);\n\t\tscriptDirectories.push(path.join(packageLocation.path, \"Images\"));\n\t}\n\n\tconst manifest = readPackageCreatorManifest(packageLocation);\n\n\tif (manifest !== undefined) {\n\t\tif (manifest.RunTime && notRuntimeScripts.includes(manifest.Type)) {\n\t\t\treporter.log(\n\t\t\t\t\"Setting script RunTime to false because of script type\",\n\t\t\t);\n\t\t\twritePackageCreatorManifest(packageLocation, {\n\t\t\t\t...manifest,\n\t\t\t\tRunTime: false,\n\t\t\t});\n\t\t} else if (\n\t\t\t!manifest.RunTime &&\n\t\t\truntimeScripts.includes(manifest.Type)\n\t\t) {\n\t\t\treporter.log(\n\t\t\t\t\"Setting script RunTime to true because of script type\",\n\t\t\t);\n\t\t\twritePackageCreatorManifest(packageLocation, {\n\t\t\t\t...manifest,\n\t\t\t\tRunTime: true,\n\t\t\t});\n\t\t}\n\t}\n\n\tlet libFile: string | undefined;\n\n\ttry {\n\t\tconst libFilePath = minified\n\t\t\t? path.join(binDir, `${data.Package}.min.js`)\n\t\t\t: path.join(binDir, `${data.Package}.js`);\n\n\t\tlibFile = fs.readFileSync(libFilePath, {\n\t\t\tencoding: \"utf8\",\n\t\t});\n\t} catch (err) {\n\t\tif (!isErrorENOENT(err)) {\n\t\t\tthrow err;\n\t\t}\n\t}\n\n\tconst archive = new JSZip();\n\n\tlet library: string = \"\";\n\n\tif (libFile) {\n\t\tlibrary = libFile;\n\t}\n\n\tif (!library) {\n\t\tconst date = new Date(Date.now());\n\t\tlibrary = `/* This file is part of the ${domain} Data Packages.\n\t\t* Copyright (C) ${date.getFullYear()} intelligentgraphics. All Rights Reserved. */`;\n\t}\n\n\tarchive.file(`${data.Package}.js`, library);\n\tarchive.file(PACKAGE_FILE, JSON.stringify(data, null, 2));\n\n\tconst creatorIndex = readPackageCreatorIndex(packageLocation);\n\n\tif (creatorIndex !== undefined) {\n\t\tarchive.file(INDEX_FILE, JSON.stringify(creatorIndex, null, 2));\n\t}\n\n\tfor (const directory of scriptDirectories) {\n\t\ttry {\n\t\t\tfor (const file of fs.readdirSync(directory)) {\n\t\t\t\tconst { ext } = path.parse(file);\n\n\t\t\t\tswitch (ext) {\n\t\t\t\t\tcase \".png\":\n\t\t\t\t\tcase \".jpeg\":\n\t\t\t\t\tcase \".jpg\":\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tarchive.file(\n\t\t\t\t\tfile,\n\t\t\t\t\tfs.createReadStream(path.join(directory, file)),\n\t\t\t\t);\n\t\t\t}\n\t\t} catch (err) {\n\t\t\treporter.error(`Script directory \"${directory}\" does not exist`);\n\t\t}\n\t}\n\n\treturn archive;\n};\n","import { AssetService } from \"@intelligentgraphics/ig.gfx.tools.core\";\n\nexport interface AssetServiceSessionManager {\n\tgetBasicsSession: () => Promise<AssetService.Session>;\n\tgetTargetSession: () => AssetService.Session;\n\tdestroy: () => Promise<void>;\n}\n\nexport const createAssetServiceSessionManager = async (\n\tparams: AssetService.SessionStartParams,\n): Promise<AssetServiceSessionManager> => {\n\tconst targetSession = await AssetService.startSession(params);\n\tlet basicsSession: AssetService.Session | undefined;\n\n\treturn {\n\t\tgetBasicsSession: async () => {\n\t\t\tif (targetSession.subDomain === \"Basics\") {\n\t\t\t\treturn targetSession;\n\t\t\t}\n\n\t\t\tif (basicsSession === undefined) {\n\t\t\t\tbasicsSession = await AssetService.startSession({\n\t\t\t\t\t...params,\n\t\t\t\t\tsubDomain: \"Basics\",\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn basicsSession;\n\t\t},\n\n\t\tgetTargetSession: () => targetSession,\n\n\t\tdestroy: async () => {\n\t\t\tawait AssetService.closeSession(targetSession);\n\n\t\t\tif (basicsSession !== undefined) {\n\t\t\t\tawait AssetService.closeSession(basicsSession);\n\t\t\t}\n\t\t},\n\t};\n};\n","import {\n\tWorkspaceLocation,\n\tCreatorPackage,\n\tAssetService,\n\tdetermineWorkspaceIGLibraries,\n\treadPublishedPackageNpmManifest,\n\treadPublishedPackageCreatorManifest,\n\tReporter,\n} from \"@intelligentgraphics/ig.gfx.tools.core\";\nimport { buildArchiveFromPublishedPackage } from \"../commands/publish/zip\";\nimport { AssetServiceSessionManager } from \"./assetServiceSessionManager\";\nimport { PackageVersion } from \"./packageVersion\";\nimport { parseVersionFromNumericVersion } from \"./parseVersion\";\nimport { Prompter, PrompterOption } from \"./prompter\";\nimport { Readable } from \"node:stream\";\n\nexport const synchronizeDependencies = async (\n\tworkspaceLocation: WorkspaceLocation,\n\tcreatorPackage: CreatorPackage | undefined,\n\tsessionManager: AssetServiceSessionManager,\n\tprompter: Prompter,\n\treporter: Reporter,\n\tlogUpToDate: boolean = false,\n) => {\n\tinterface UploadedPackage\n\t\textends Omit<AssetService.ExistingPackage, \"version\"> {\n\t\tversion: PackageVersion;\n\t}\n\n\tconst libraries = determineWorkspaceIGLibraries(workspaceLocation);\n\n\t// If there are no libraries, we don't need to check for required versions\n\tif (libraries.length === 0) {\n\t\treturn true;\n\t}\n\n\tconst targetSession = sessionManager.getTargetSession();\n\n\tconst rawUploadedPackages = await AssetService.getExistingPackages(\n\t\ttargetSession,\n\t);\n\n\tconst uploadedPackages = rawUploadedPackages.map(\n\t\t(entry): UploadedPackage => {\n\t\t\tlet version: PackageVersion;\n\n\t\t\ttry {\n\t\t\t\tversion = parseVersionFromNumericVersion(entry.numericVersion);\n\t\t\t} catch (err) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Encountered invalid format for version ${entry.numericVersion}`,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (version.buildNumber < 100) {\n\t\t\t\tversion.preRelease = {\n\t\t\t\t\ttype: \"beta\",\n\t\t\t\t\tversion: version.buildNumber,\n\t\t\t\t};\n\t\t\t} else if (version.buildNumber > 100) {\n\t\t\t\tversion.preRelease = {\n\t\t\t\t\ttype: \"patch\",\n\t\t\t\t\tversion: version.buildNumber - 100,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t...entry,\n\t\t\t\tversion,\n\t\t\t};\n\t\t},\n\t);\n\n\tfor (const libraryLocation of libraries) {\n\t\tconst libraryManifest =\n\t\t\treadPublishedPackageNpmManifest(libraryLocation);\n\t\tconst libraryCreatorPackage =\n\t\t\treadPublishedPackageCreatorManifest(libraryLocation);\n\n\t\tif (\n\t\t\tlibraryCreatorPackage === undefined ||\n\t\t\tlibraryManifest.main === undefined ||\n\t\t\tlibraryCreatorPackage.Package === creatorPackage?.Package\n\t\t) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst libraryVersion = PackageVersion.extractFromLine(\n\t\t\tlibraryManifest.version,\n\t\t);\n\n\t\tif (libraryVersion.preRelease) {\n\t\t\tlibraryVersion.buildNumber = libraryVersion.preRelease.version;\n\t\t\tlibraryVersion.preRelease = undefined;\n\t\t} else {\n\t\t\tlibraryVersion.buildNumber = 100;\n\t\t}\n\n\t\tlet uploadedPackageInBasics: UploadedPackage | undefined;\n\t\tlet uploadedPackageInTarget: UploadedPackage | undefined;\n\n\t\tfor (const uploadedPackage of uploadedPackages) {\n\t\t\tif (uploadedPackage.scope === libraryCreatorPackage.Package) {\n\t\t\t\tif (uploadedPackage.support) {\n\t\t\t\t\tuploadedPackageInBasics = uploadedPackage;\n\t\t\t\t} else {\n\t\t\t\t\tuploadedPackageInTarget = uploadedPackage;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst validInBasics =\n\t\t\tuploadedPackageInBasics !== undefined &&\n\t\t\t!uploadedPackageInBasics.version.isLesserThan(libraryVersion);\n\t\tconst validInTarget =\n\t\t\tuploadedPackageInTarget !== undefined &&\n\t\t\t!uploadedPackageInTarget.version.isLesserThan(libraryVersion);\n\n\t\tif (validInBasics || validInTarget) {\n\t\t\tif (\n\t\t\t\ttargetSession.subDomain !== \"Basics\" &&\n\t\t\t\tuploadedPackageInBasics !== undefined &&\n\t\t\t\tuploadedPackageInTarget !== undefined\n\t\t\t) {\n\t\t\t\treporter.log(\n\t\t\t\t\t`Package ${libraryCreatorPackage.Package} is uploaded both for Basics and ${targetSession.subDomain}. The package within ${targetSession.subDomain} will be used.`,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (logUpToDate) {\n\t\t\t\treporter.log(\n\t\t\t\t\t`Package ${\n\t\t\t\t\t\tlibraryCreatorPackage.Package\n\t\t\t\t\t} is already uploaded with the required version ${libraryVersion.toVersionString(\n\t\t\t\t\t\t{},\n\t\t\t\t\t)}`,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst possibleTargets: PrompterOption[] = [];\n\n\t\tif (uploadedPackageInBasics) {\n\t\t\tconst version = uploadedPackageInBasics.version.toVersionString({\n\t\t\t\tbuildNumber: true,\n\t\t\t});\n\n\t\t\tpossibleTargets.push({\n\t\t\t\tvalue: \"Basics\",\n\t\t\t\tname: `Basics (Current: ${version})`,\n\t\t\t});\n\t\t} else {\n\t\t\tpossibleTargets.push({\n\t\t\t\tvalue: \"Basics\",\n\t\t\t\tname: \"Basics (Current: None)\",\n\t\t\t});\n\t\t}\n\n\t\tif (targetSession.subDomain !== \"Basics\") {\n\t\t\tif (uploadedPackageInTarget) {\n\t\t\t\tconst version = uploadedPackageInTarget.version.toVersionString(\n\t\t\t\t\t{\n\t\t\t\t\t\tbuildNumber: true,\n\t\t\t\t\t},\n\t\t\t\t);\n\n\t\t\t\tpossibleTargets.push({\n\t\t\t\t\tvalue: targetSession.subDomain,\n\t\t\t\t\tname: `${targetSession.subDomain} (Current: ${version})`,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tpossibleTargets.push({\n\t\t\t\t\tvalue: targetSession.subDomain,\n\t\t\t\t\tname: `${targetSession.subDomain} (Current: None)`,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tconst libraryVersionString = libraryVersion.toVersionString({\n\t\t\tbuildNumber: true,\n\t\t});\n\n\t\tconst uploadTargetScope = await prompter.ask({\n\t\t\tmessage: `Version ${libraryVersionString} of dependency ${libraryCreatorPackage.Package} is required but not available. Please select a subdomain to upload the correct dependency version to`,\n\t\t\toptions: [\n\t\t\t\t...possibleTargets,\n\t\t\t\t{ name: \"Skip upload\", value: \"Skip\" },\n\t\t\t],\n\t\t\tdefault: possibleTargets[0].value,\n\t\t});\n\n\t\tif (uploadTargetScope === \"Skip\") {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst archive = buildArchiveFromPublishedPackage(\n\t\t\tlibraryLocation,\n\t\t\tlibraryManifest,\n\t\t\tlibraryCreatorPackage,\n\t\t);\n\n\t\tconst newVersionString = libraryVersion.toVersionString({\n\t\t\tbuildNumber: true,\n\t\t});\n\n\t\tconst session =\n\t\t\tuploadTargetScope === \"Basics\"\n\t\t\t\t? await sessionManager.getBasicsSession()\n\t\t\t\t: targetSession;\n\n\t\treporter.log(\n\t\t\t`Uploading package ${libraryCreatorPackage.Package} with version ${newVersionString} to ${session.domain}.${session.subDomain}`,\n\t\t);\n\n\t\tawait AssetService.uploadPackageFromBuffer(\n\t\t\tsession,\n\t\t\t{\n\t\t\t\tname: libraryCreatorPackage.Package,\n\t\t\t\tversion: newVersionString,\n\t\t\t},\n\t\t\tawait archive.generateAsync({ type: \"nodebuffer\" }),\n\t\t);\n\t}\n};\n","import * as path from \"path\";\nimport * as fs from \"fs/promises\";\nimport { createReadStream, createWriteStream } from \"fs\";\nimport { pipeline } from \"stream/promises\";\nimport { exec } from \"child_process\";\nimport { promisify } from \"util\";\n\nimport {\n\tAssetService,\n\tconsoleReporter,\n\tcreatePackageScopedReporter,\n\tisErrorEACCES,\n\tisErrorEPERM,\n\tReporter,\n\twritePackageCreatorManifest,\n} from \"@intelligentgraphics/ig.gfx.tools.core\";\n\nimport {\n\tgetPackageReleasesDirectory,\n\tPackageLocation,\n\tparseCreatorPackageName,\n\treadPackageAnimationList,\n\treadPackageCreatorManifest,\n} from \"../../lib/package\";\nimport {\n\tgetWorkspaceOutputPath,\n\treadWorkspaceNpmManifest,\n} from \"../../lib/workspace\";\nimport { getVersionInformationFromGit } from \"../../lib/git\";\nimport { getWorkspaceBannerText } from \"../../lib/banner\";\nimport { parseVersionFromString } from \"../../lib/parseVersion\";\nimport { getVersionFileHandler } from \"../../lib/versionFile\";\nimport { isErrorENOENT } from \"../../lib/error\";\nimport { Prompter } from \"../../lib/prompter\";\nimport { PackageVersion } from \"../../lib/packageVersion\";\nimport { BuildFoldersOptions, buildFolders } from \"../build\";\nimport { buildArchiveFromPackage } from \"./zip\";\nimport { createAssetServiceSessionManager } from \"../../lib/assetServiceSessionManager\";\nimport { synchronizeDependencies } from \"../../lib/dependencySync\";\nimport { buffer } from \"node:stream/consumers\";\n\nexport interface ReleaseFolderOptions\n\textends Omit<\n\t\tBuildFoldersOptions,\n\t\t\"skipPackagesWithoutTsFiles\" | \"banner\" | \"packages\"\n\t> {\n\tdirectory: PackageLocation;\n\tnoUpload: boolean;\n\tnewVersion: string;\n\tdomain?: string;\n\tsubdomain?: string;\n\taddress?: string;\n\tservice: string;\n\tauthentication?: AssetService.Authentication;\n\tpushOnly: boolean;\n\tbanner?: boolean;\n\tprompter: Prompter;\n\tskipDependencies?: boolean;\n\treporter?: Reporter;\n}\n\nconst execAsync = promisify(exec);\n\nexport const releaseFolder = async (options: ReleaseFolderOptions) => {\n\tconst workspace = options.workspace;\n\tconst location = options.directory;\n\n\tconst versionFile = getVersionFileHandler(location);\n\n\tconst packageDescription = readPackageCreatorManifest(location);\n\tconst fullPackageName = packageDescription.Package;\n\n\tconst reporter =\n\t\toptions.reporter ??\n\t\tcreatePackageScopedReporter(\n\t\t\tconsoleReporter,\n\t\t\tpackageDescription.Package,\n\t\t);\n\n\tconst { domain, subdomain } = parseCreatorPackageName(packageDescription);\n\n\tconst publishDomain = options.domain ?? domain;\n\tconst publishSubdomain = options.subdomain ?? subdomain;\n\n\tconst sharedPackageJson = readWorkspaceNpmManifest(workspace);\n\n\tlet newVersion: PackageVersion;\n\ttry {\n\t\tnewVersion = parseVersionFromString(options.newVersion);\n\t} catch (err) {\n\t\tthrow new Error(`Please enter a version in this format 1.0.0.100`);\n\t}\n\n\tpackageDescription.Version = newVersion.toVersionString({\n\t\tbuildNumber: true,\n\t});\n\twritePackageCreatorManifest(location, packageDescription);\n\n\tif (newVersion.buildNumber < 100) {\n\t\tnewVersion.preRelease = {\n\t\t\ttype: \"beta\",\n\t\t\tversion: newVersion.buildNumber,\n\t\t};\n\t} else if (newVersion.buildNumber > 100) {\n\t\tnewVersion.preRelease = {\n\t\t\ttype: \"patch\",\n\t\t\tversion: newVersion.buildNumber - 100,\n\t\t};\n\t}\n\n\t// if (sharedPackageJson !== undefined) {\n\t// \treporter.log(\n\t// \t\t`Running npm install to make sure all dependencies are up to date`,\n\t// \t);\n\t// \tawait execAsync(`npm install`, {\n\t// \t\tencoding: \"utf-8\",\n\t// \t\tcwd: workspace.path,\n\t// \t});\n\t// }\n\n\tconst binDir = options.outDir ?? getWorkspaceOutputPath(workspace);\n\tawait fs.mkdir(binDir, { recursive: true });\n\n\tlet assetServerPackageDetails: AssetService.UploadPackageDetails;\n\n\tlet packageNameWithVersion: string;\n\n\t{\n\t\tconst versionWithoutPrelease = newVersion.clone();\n\t\tversionWithoutPrelease.preRelease = undefined;\n\t\tconst newVersionString = versionWithoutPrelease.toVersionString({\n\t\t\tbuildNumber: true,\n\t\t});\n\t\tpackageNameWithVersion = `${packageDescription.Package}_${newVersionString}`;\n\n\t\tassetServerPackageDetails = {\n\t\t\tname: packageDescription.Package,\n\t\t\tversion: newVersionString,\n\t\t};\n\t}\n\n\tlet zipFilePath = path.join(binDir, packageNameWithVersion + \".zip\");\n\tinterface Uploadable {\n\t\tgetStream: () => NodeJS.ReadableStream;\n\t}\n\n\tlet uploadable: Uploadable = {\n\t\tgetStream: () => createReadStream(zipFilePath),\n\t};\n\n\ttry {\n\t\tif (options.pushOnly) {\n\t\t\tconst zipFileExists = await fs.stat(zipFilePath).catch((err) => {\n\t\t\t\tif (isErrorENOENT(err)) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\treturn Promise.reject(err);\n\t\t\t});\n\n\t\t\tif (zipFileExists) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Expected a zip file to exist at path ${zipFilePath} since pushOnly is specified`,\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\tconst gitVersionInformation = await getVersionInformationFromGit(\n\t\t\t\tworkspace,\n\t\t\t\tlocation,\n\t\t\t);\n\n\t\t\tif (versionFile.exists) {\n\t\t\t\tversionFile.write(fullPackageName, newVersion);\n\t\t\t}\n\n\t\t\tconst bannerText =\n\t\t\t\tsharedPackageJson !== undefined\n\t\t\t\t\t? getWorkspaceBannerText(sharedPackageJson)\n\t\t\t\t\t: undefined;\n\n\t\t\tawait buildFolders({\n\t\t\t\t...options,\n\t\t\t\tpackages: [location],\n\t\t\t\tbanner: options.banner\n\t\t\t\t\t? {\n\t\t\t\t\t\t\ttext: bannerText,\n\t\t\t\t\t\t\tcommit: gitVersionInformation.commit,\n\t\t\t\t\t\t\tcommitDirty: gitVersionInformation.dirty,\n\t\t\t\t\t\t\tversion: newVersion.toVersionString({\n\t\t\t\t\t\t\t\tbuildNumber: true,\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tdate: new Date(Date.now()),\n\t\t\t\t\t\t\t// gitVersionInformation.commitDate\n\t\t\t\t\t\t\t// \t? new Date(gitVersionInformation.commitDate)\n\t\t\t\t\t\t\t// \t: new Date(Date.now()),\n\t\t\t\t\t }\n\t\t\t\t\t: undefined,\n\t\t\t\tpreparedReporter: reporter,\n\t\t\t});\n\n\t\t\tnewVersion.preRelease = undefined;\n\n\t\t\ttry {\n\t\t\t\tawait fs.rm(zipFilePath);\n\t\t\t} catch (err) {\n\t\t\t\tif (!isErrorENOENT(err)) {\n\t\t\t\t\tthrow err;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (readPackageAnimationList(location).length > 0) {\n\t\t\t\tconst workspaceManifest = readWorkspaceNpmManifest(workspace);\n\n\t\t\t\tif (\n\t\t\t\t\t!workspaceManifest.dependencies?.[\n\t\t\t\t\t\t\"@intelligentgraphics/3d.ig.gfx.standard\"\n\t\t\t\t\t]\n\t\t\t\t) {\n\t\t\t\t\tconst install = await options.prompter.confirm(\n\t\t\t\t\t\t`The IG.GFX.Standard package should be added as a dependency to provide the 'AnimationInteractor' used to display animations. Do you wish to add it now?`,\n\t\t\t\t\t);\n\n\t\t\t\t\tif (install) {\n\t\t\t\t\t\tawait execAsync(\n\t\t\t\t\t\t\t`npm install @intelligentgraphics/3d.ig.gfx.standard`,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tencoding: \"utf-8\",\n\t\t\t\t\t\t\t\tcwd: workspace.path,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tawait execAsync(`npm run postinstall`, {\n\t\t\t\t\t\t\tcwd: workspace.path,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treporter.log(`Creating zip file`);\n\n\t\t\tconst archive = await buildArchiveFromPackage(\n\t\t\t\treporter,\n\t\t\t\tlocation,\n\t\t\t\tpackageDescription,\n\t\t\t\tbinDir,\n\t\t\t\toptions.minimize,\n\t\t\t);\n\n\t\t\ttry {\n\t\t\t\tconst zipOutputStream = createWriteStream(zipFilePath);\n\t\t\t\tawait pipeline(archive.generateNodeStream(), zipOutputStream);\n\t\t\t} catch (err) {\n\t\t\t\tif (isErrorEACCES(err) || isErrorEPERM(err)) {\n\t\t\t\t\treporter.log(\n\t\t\t\t\t\t`Could not create zip file in the bin directory because of a permissions error. Only using it in-memory`,\n\t\t\t\t\t);\n\t\t\t\t\tuploadable = {\n\t\t\t\t\t\tgetStream: () => archive.generateNodeStream(),\n\t\t\t\t\t};\n\t\t\t\t} else {\n\t\t\t\t\tthrow err;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (!options.noUpload) {\n\t\t\tif (!options.authentication) {\n\t\t\t\tthrow new Error(`Expected authentication to be available`);\n\t\t\t}\n\n\t\t\treporter.log(`Opening connection to IG.Asset.Server`);\n\n\t\t\tconst sessionManager = await createAssetServiceSessionManager({\n\t\t\t\turl: options.service,\n\t\t\t\taddress: options.address,\n\t\t\t\tdomain: publishDomain,\n\t\t\t\tsubDomain: publishSubdomain,\n\t\t\t\tauthentication: options.authentication,\n\t\t\t});\n\n\t\t\ttry {\n\t\t\t\tif (!options.skipDependencies) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait synchronizeDependencies(\n\t\t\t\t\t\t\tworkspace,\n\t\t\t\t\t\t\tpackageDescription,\n\t\t\t\t\t\t\tsessionManager,\n\t\t\t\t\t\t\toptions.prompter,\n\t\t\t\t\t\t\treporter,\n\t\t\t\t\t\t);\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\treporter.error(\n\t\t\t\t\t\t\t`Failed to synchronize dependencies for ${packageDescription.Package}`,\n\t\t\t\t\t\t\terr,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treporter.log(\n\t\t\t\t\t`Uploading package to ${publishDomain}.${publishSubdomain}`,\n\t\t\t\t);\n\n\t\t\t\tawait AssetService.uploadPackageFromBuffer(\n\t\t\t\t\tsessionManager.getTargetSession(),\n\t\t\t\t\tassetServerPackageDetails,\n\t\t\t\t\tawait buffer(uploadable.getStream()),\n\t\t\t\t);\n\t\t\t} finally {\n\t\t\t\tawait sessionManager.destroy().catch((err) => {\n\t\t\t\t\treporter.error(\n\t\t\t\t\t\t`Failed to close IG.Asset.Server session(s)`,\n\t\t\t\t\t\terr,\n\t\t\t\t\t);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t} catch (err) {\n\t\tversionFile.reset();\n\t\tthrow err;\n\t}\n\n\tif (newVersion.buildNumber >= 100 && !options.pushOnly) {\n\t\treporter.error(\"Copying zip to releases folder\");\n\n\t\tconst zipFileName = `${packageNameWithVersion}.zip`;\n\t\tconst releasesPath = getPackageReleasesDirectory(location);\n\n\t\tawait fs.mkdir(releasesPath, { recursive: true });\n\t\tawait pipeline(\n\t\t\tuploadable.getStream(),\n\t\t\tcreateWriteStream(path.join(releasesPath, zipFileName)),\n\t\t);\n\t}\n};\n"],"names":["buildArchiveFromPublishedPackage","location","manifest","creatorPackage","archive","JSZip","file","PACKAGE_FILE","JSON","stringify","index","readPublishedPackageCreatorIndex","undefined","INDEX_FILE","main","fs","createReadStream","path","join","Package","source","existsSync","images","readdirSync","ext","parse","runtimeScripts","notRuntimeScripts","buildArchiveFromPackage","reporter","packageLocation","data","binDir","minified","domain","parseCreatorPackageName","scriptDirectories","scriptsDir","log","push","readPackageCreatorManifest","RunTime","includes","Type","writePackageCreatorManifest","libFile","libFilePath","readFileSync","encoding","err","isErrorENOENT","library","date","Date","now","getFullYear","creatorIndex","readPackageCreatorIndex","directory","error","createAssetServiceSessionManager","params","targetSession","AssetService","basicsSession","getBasicsSession","subDomain","getTargetSession","destroy","synchronizeDependencies","workspaceLocation","sessionManager","prompter","logUpToDate","libraries","determineWorkspaceIGLibraries","length","rawUploadedPackages","uploadedPackages","map","entry","version","parseVersionFromNumericVersion","numericVersion","Error","buildNumber","preRelease","type","libraryLocation","libraryManifest","readPublishedPackageNpmManifest","libraryCreatorPackage","readPublishedPackageCreatorManifest","libraryVersion","PackageVersion","extractFromLine","uploadedPackageInBasics","uploadedPackageInTarget","uploadedPackage","scope","support","validInBasics","isLesserThan","validInTarget","toVersionString","possibleTargets","value","name","libraryVersionString","uploadTargetScope","ask","message","options","default","newVersionString","session","generateAsync","execAsync","promisify","exec","releaseFolder","workspace","versionFile","getVersionFileHandler","packageDescription","fullPackageName","createPackageScopedReporter","consoleReporter","subdomain","publishDomain","publishSubdomain","sharedPackageJson","readWorkspaceNpmManifest","newVersion","parseVersionFromString","Version","outDir","getWorkspaceOutputPath","mkdir","recursive","assetServerPackageDetails","packageNameWithVersion","versionWithoutPrelease","clone","zipFilePath","uploadable","getStream","pushOnly","zipFileExists","stat","catch","Promise","reject","gitVersionInformation","getVersionInformationFromGit","exists","write","bannerText","getWorkspaceBannerText","buildFolders","packages","banner","text","commit","commitDirty","dirty","preparedReporter","rm","readPackageAnimationList","workspaceManifest","dependencies","install","confirm","cwd","minimize","zipOutputStream","createWriteStream","pipeline","generateNodeStream","isErrorEACCES","isErrorEPERM","noUpload","authentication","url","service","address","skipDependencies","buffer","reset","zipFileName","releasesPath","getPackageReleasesDirectory"],"mappings":"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"}
|
|
@@ -2,9 +2,9 @@ import * as path from 'path';
|
|
|
2
2
|
import * as fs from 'fs';
|
|
3
3
|
import glob from 'glob';
|
|
4
4
|
import * as os from 'os';
|
|
5
|
-
import { d as determineWorkspaceIGLibraries, a as readPublishedPackageNpmManifest } from './dependencies-
|
|
5
|
+
import { d as determineWorkspaceIGLibraries, a as readPublishedPackageNpmManifest } from './dependencies-BiYItaVS.mjs';
|
|
6
6
|
import 'write-pkg';
|
|
7
|
-
import { b as readWorkspaceNpmManifest, m as getWorkspaceLibPath } from './cli-
|
|
7
|
+
import { b as readWorkspaceNpmManifest, m as getWorkspaceLibPath } from './cli-CuiqZ39_.mjs';
|
|
8
8
|
import 'node:path';
|
|
9
9
|
import 'node:fs';
|
|
10
10
|
import 'axios';
|
|
@@ -14,7 +14,6 @@ import 'yargs/yargs';
|
|
|
14
14
|
import 'url';
|
|
15
15
|
import 'assert';
|
|
16
16
|
import 'events';
|
|
17
|
-
import 'core-js/modules/es.typed-array.set.js';
|
|
18
17
|
import 'util';
|
|
19
18
|
import 'inquirer';
|
|
20
19
|
|
|
@@ -64,4 +63,4 @@ const executePostInstall = (workspace)=>{
|
|
|
64
63
|
};
|
|
65
64
|
|
|
66
65
|
export { executePostInstall };
|
|
67
|
-
//# sourceMappingURL=postinstall-
|
|
66
|
+
//# sourceMappingURL=postinstall-CbMUz2zy.mjs.map
|