@intelligentgraphics/ig.gfx.packager 3.0.21 → 3.0.23
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-91fabb36.mjs → cli-t3HbtHpD.mjs} +40 -70
- package/build/cli-t3HbtHpD.mjs.map +1 -0
- package/build/{dependencies-7711a9db.mjs → dependencies-DevWjwri.mjs} +2 -2
- package/build/{dependencies-7711a9db.mjs.map → dependencies-DevWjwri.mjs.map} +1 -1
- package/build/{generateIndex-47c082d0.mjs → generateIndex-BtHP1bP3.mjs} +4 -4
- package/build/{generateIndex-47c082d0.mjs.map → generateIndex-BtHP1bP3.mjs.map} +1 -1
- package/build/{generateParameterType-10d124a6.mjs → generateParameterType-DyylDiF2.mjs} +3 -3
- package/build/{generateParameterType-10d124a6.mjs.map → generateParameterType-DyylDiF2.mjs.map} +1 -1
- package/build/{index-e6ead55c.mjs → index-C3Hd8xoM.mjs} +57 -42
- package/build/index-C3Hd8xoM.mjs.map +1 -0
- package/build/{index-ca04836f.mjs → index-CNupsFSp.mjs} +187 -182
- package/build/index-CNupsFSp.mjs.map +1 -0
- package/build/{postinstall-0ea76778.mjs → postinstall-D2hLZlaK.mjs} +3 -3
- package/build/{postinstall-0ea76778.mjs.map → postinstall-D2hLZlaK.mjs.map} +1 -1
- package/build/{publishNpm-aadd7dc2.mjs → publishNpm-h9T6BVws.mjs} +13 -7
- package/build/publishNpm-h9T6BVws.mjs.map +1 -0
- package/build/{scripts-7ed8dff6.mjs → scripts-EvIjiH6G.mjs} +1 -1
- package/build/{scripts-7ed8dff6.mjs.map → scripts-EvIjiH6G.mjs.map} +1 -1
- package/build/{versionFile-ad981e93.mjs → versionFile-7rrD5z3c.mjs} +7 -11
- package/build/{versionFile-ad981e93.mjs.map → versionFile-7rrD5z3c.mjs.map} +1 -1
- package/lib/lib.mjs +243 -228
- package/package.json +12 -12
- package/readme.md +28 -0
- package/build/cli-91fabb36.mjs.map +0 -1
- package/build/index-ca04836f.mjs.map +0 -1
- package/build/index-e6ead55c.mjs.map +0 -1
- package/build/publishNpm-aadd7dc2.mjs.map +0 -1
|
@@ -5,18 +5,17 @@ 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-91fabb36.mjs';
|
|
10
|
-
import { l as logPackageMessage, b as buildFolders } from './index-e6ead55c.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 uploadPackageFromStream, b as readWorkspaceNpmManifest, d as getWorkspaceOutputPath, e as readPackageAnimationList, f as isErrorEACCES, h as isErrorEPERM, j as getPackageReleasesDirectory } from './cli-t3HbtHpD.mjs';
|
|
11
|
+
import { c as createPackageScopedReporter, a as consoleReporter, b as buildFolders } from './index-C3Hd8xoM.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, P as PackageVersion, g as getVersionFileHandler, a as parseVersionFromString, b as getVersionInformationFromGit, c as getWorkspaceBannerText } from './versionFile-7rrD5z3c.mjs';
|
|
17
17
|
import JSZip from 'jszip';
|
|
18
|
-
import
|
|
19
|
-
import 'resolve';
|
|
18
|
+
import { r as readPublishedPackageCreatorIndex, d as determineWorkspaceIGLibraries, a as readPublishedPackageNpmManifest, b as readPublishedPackageCreatorManifest } from './dependencies-DevWjwri.mjs';
|
|
20
19
|
import 'update-notifier';
|
|
21
20
|
import 'yargs/yargs';
|
|
22
21
|
import 'url';
|
|
@@ -24,11 +23,13 @@ import 'assert';
|
|
|
24
23
|
import 'events';
|
|
25
24
|
import 'core-js/modules/es.typed-array.set.js';
|
|
26
25
|
import 'inquirer';
|
|
26
|
+
import 'terser';
|
|
27
27
|
import 'typescript';
|
|
28
|
-
import './scripts-
|
|
28
|
+
import './scripts-EvIjiH6G.mjs';
|
|
29
29
|
import 'typedoc';
|
|
30
30
|
import 'source-map-js';
|
|
31
31
|
import 'ajv';
|
|
32
|
+
import 'os';
|
|
32
33
|
import 'simple-git';
|
|
33
34
|
|
|
34
35
|
const buildArchiveFromPublishedPackage = (location, manifest, creatorPackage)=>{
|
|
@@ -44,7 +45,7 @@ const buildArchiveFromPublishedPackage = (location, manifest, creatorPackage)=>{
|
|
|
44
45
|
if (fs.existsSync(source)) {
|
|
45
46
|
const images = fs.readdirSync(source);
|
|
46
47
|
for (const file of images){
|
|
47
|
-
const { ext
|
|
48
|
+
const { ext } = path.parse(file);
|
|
48
49
|
switch(ext){
|
|
49
50
|
case ".png":
|
|
50
51
|
case ".jpeg":
|
|
@@ -68,28 +69,26 @@ const notRuntimeScripts = [
|
|
|
68
69
|
"Context",
|
|
69
70
|
"Evaluator"
|
|
70
71
|
];
|
|
71
|
-
const buildArchiveFromPackage = async (packageLocation, data, binDir)=>{
|
|
72
|
-
const { domain
|
|
73
|
-
const logStep = (step)=>logPackageMessage(data.Package, step);
|
|
74
|
-
const libFilePath = path.join(binDir, `${data.Package}.min.js`);
|
|
72
|
+
const buildArchiveFromPackage = async (reporter, packageLocation, data, binDir, minified = true)=>{
|
|
73
|
+
const { domain } = parseCreatorPackageName(data);
|
|
75
74
|
const scriptDirectories = [
|
|
76
75
|
packageLocation.path,
|
|
77
76
|
packageLocation.scriptsDir
|
|
78
77
|
];
|
|
79
78
|
if (data.Package === "IG.GFX.Standard") {
|
|
80
|
-
|
|
79
|
+
reporter.log(`Including Images folder`);
|
|
81
80
|
scriptDirectories.push(path.join(packageLocation.path, "Images"));
|
|
82
81
|
}
|
|
83
82
|
const manifest = readPackageCreatorManifest(packageLocation);
|
|
84
83
|
if (manifest !== undefined) {
|
|
85
84
|
if (manifest.RunTime && notRuntimeScripts.includes(manifest.Type)) {
|
|
86
|
-
|
|
85
|
+
reporter.log("Setting script RunTime to false because of script type");
|
|
87
86
|
writePackageCreatorManifest(packageLocation, {
|
|
88
87
|
...manifest,
|
|
89
88
|
RunTime: false
|
|
90
89
|
});
|
|
91
90
|
} else if (!manifest.RunTime && runtimeScripts.includes(manifest.Type)) {
|
|
92
|
-
|
|
91
|
+
reporter.log("Setting script RunTime to true because of script type");
|
|
93
92
|
writePackageCreatorManifest(packageLocation, {
|
|
94
93
|
...manifest,
|
|
95
94
|
RunTime: true
|
|
@@ -98,6 +97,7 @@ const buildArchiveFromPackage = async (packageLocation, data, binDir)=>{
|
|
|
98
97
|
}
|
|
99
98
|
let libFile;
|
|
100
99
|
try {
|
|
100
|
+
const libFilePath = minified ? path.join(binDir, `${data.Package}.min.js`) : path.join(binDir, `${data.Package}.js`);
|
|
101
101
|
libFile = fs.readFileSync(libFilePath, {
|
|
102
102
|
encoding: "utf8"
|
|
103
103
|
});
|
|
@@ -116,10 +116,7 @@ const buildArchiveFromPackage = async (packageLocation, data, binDir)=>{
|
|
|
116
116
|
library = `/* This file is part of the ${domain} Data Packages.
|
|
117
117
|
* Copyright (C) ${date.getFullYear()} intelligentgraphics. All Rights Reserved. */`;
|
|
118
118
|
}
|
|
119
|
-
|
|
120
|
-
ecma: 5
|
|
121
|
-
});
|
|
122
|
-
archive.file(`${data.Package}.js`, minifyResult.code);
|
|
119
|
+
archive.file(`${data.Package}.js`, library);
|
|
123
120
|
archive.file(PACKAGE_FILE, JSON.stringify(data, null, 2));
|
|
124
121
|
const creatorIndex = readPackageCreatorIndex(packageLocation);
|
|
125
122
|
if (creatorIndex !== undefined) {
|
|
@@ -128,7 +125,7 @@ const buildArchiveFromPackage = async (packageLocation, data, binDir)=>{
|
|
|
128
125
|
for (const directory of scriptDirectories){
|
|
129
126
|
try {
|
|
130
127
|
for (const file of fs.readdirSync(directory)){
|
|
131
|
-
const { ext
|
|
128
|
+
const { ext } = path.parse(file);
|
|
132
129
|
switch(ext){
|
|
133
130
|
case ".png":
|
|
134
131
|
case ".jpeg":
|
|
@@ -140,20 +137,174 @@ const buildArchiveFromPackage = async (packageLocation, data, binDir)=>{
|
|
|
140
137
|
archive.file(file, fs.createReadStream(path.join(directory, file)));
|
|
141
138
|
}
|
|
142
139
|
} catch (err) {
|
|
143
|
-
|
|
140
|
+
reporter.error(`Script directory "${directory}" does not exist`);
|
|
144
141
|
}
|
|
145
142
|
}
|
|
146
143
|
return archive;
|
|
147
144
|
};
|
|
148
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 == null ? void 0 : 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 uploadPackageFromStream(session, {
|
|
293
|
+
name: libraryCreatorPackage.Package,
|
|
294
|
+
version: newVersionString
|
|
295
|
+
}, archive.generateNodeStream());
|
|
296
|
+
}
|
|
297
|
+
};
|
|
298
|
+
|
|
149
299
|
const execAsync = promisify(exec);
|
|
150
300
|
const releaseFolder = async (options)=>{
|
|
151
301
|
const workspace = options.workspace;
|
|
152
302
|
const location = options.directory;
|
|
153
|
-
const { write: writeVersionFile
|
|
303
|
+
const { write: writeVersionFile, reset: resetVersionFile } = getVersionFileHandler(location);
|
|
154
304
|
const packageDescription = readPackageCreatorManifest(location);
|
|
155
305
|
const fullPackageName = packageDescription.Package;
|
|
156
|
-
const
|
|
306
|
+
const reporter = options.reporter ?? createPackageScopedReporter(consoleReporter, packageDescription.Package);
|
|
307
|
+
const { domain, subdomain } = parseCreatorPackageName(packageDescription);
|
|
157
308
|
const publishDomain = options.domain ?? domain;
|
|
158
309
|
const publishSubdomain = options.subdomain ?? subdomain;
|
|
159
310
|
const sharedPackageJson = readWorkspaceNpmManifest(workspace);
|
|
@@ -179,7 +330,7 @@ const releaseFolder = async (options)=>{
|
|
|
179
330
|
};
|
|
180
331
|
}
|
|
181
332
|
if (sharedPackageJson !== undefined) {
|
|
182
|
-
|
|
333
|
+
reporter.log(`Running npm install to make sure all dependencies are up to date`);
|
|
183
334
|
await execAsync(`npm install`, {
|
|
184
335
|
encoding: "utf-8",
|
|
185
336
|
cwd: workspace.path
|
|
@@ -235,7 +386,8 @@ const releaseFolder = async (options)=>{
|
|
|
235
386
|
buildNumber: true
|
|
236
387
|
}),
|
|
237
388
|
date: new Date(Date.now())
|
|
238
|
-
} : undefined
|
|
389
|
+
} : undefined,
|
|
390
|
+
preparedReporter: reporter
|
|
239
391
|
});
|
|
240
392
|
newVersion.preRelease = undefined;
|
|
241
393
|
try {
|
|
@@ -261,13 +413,14 @@ const releaseFolder = async (options)=>{
|
|
|
261
413
|
}
|
|
262
414
|
}
|
|
263
415
|
}
|
|
264
|
-
|
|
416
|
+
reporter.log(`Creating zip file`);
|
|
417
|
+
const archive = await buildArchiveFromPackage(reporter, location, packageDescription, binDir, options.minimize);
|
|
265
418
|
try {
|
|
266
419
|
const zipOutputStream = createWriteStream(zipFilePath);
|
|
267
420
|
await pipeline(archive.generateNodeStream(), zipOutputStream);
|
|
268
421
|
} catch (err) {
|
|
269
422
|
if (isErrorEACCES(err) || isErrorEPERM(err)) {
|
|
270
|
-
|
|
423
|
+
reporter.log(`Could not create zip file in the bin directory because of a permissions error. Only using it in-memory`);
|
|
271
424
|
uploadable = {
|
|
272
425
|
getStream: ()=>archive.generateNodeStream()
|
|
273
426
|
};
|
|
@@ -280,8 +433,8 @@ const releaseFolder = async (options)=>{
|
|
|
280
433
|
if (!options.authentication) {
|
|
281
434
|
throw new Error(`Expected authentication to be available`);
|
|
282
435
|
}
|
|
283
|
-
|
|
284
|
-
const sessionManager = await
|
|
436
|
+
reporter.log(`Opening connection to IG.Asset.Server`);
|
|
437
|
+
const sessionManager = await createAssetServiceSessionManager({
|
|
285
438
|
url: options.service,
|
|
286
439
|
address: options.address,
|
|
287
440
|
domain: publishDomain,
|
|
@@ -290,13 +443,13 @@ const releaseFolder = async (options)=>{
|
|
|
290
443
|
});
|
|
291
444
|
try {
|
|
292
445
|
if (!options.skipDependencies) {
|
|
293
|
-
await
|
|
446
|
+
await synchronizeDependencies(workspace, packageDescription, sessionManager, options.prompter, reporter);
|
|
294
447
|
}
|
|
295
|
-
|
|
448
|
+
reporter.log(`Uploading package to ${publishDomain}.${publishSubdomain}`);
|
|
296
449
|
await uploadPackageFromStream(sessionManager.getTargetSession(), assetServerPackageDetails, uploadable.getStream());
|
|
297
450
|
} finally{
|
|
298
451
|
await sessionManager.destroy().catch((err)=>{
|
|
299
|
-
|
|
452
|
+
reporter.error(`Failed to close IG.Asset.Server session(s)`, err);
|
|
300
453
|
});
|
|
301
454
|
}
|
|
302
455
|
}
|
|
@@ -305,7 +458,7 @@ const releaseFolder = async (options)=>{
|
|
|
305
458
|
throw err;
|
|
306
459
|
}
|
|
307
460
|
if (newVersion.buildNumber >= 100 && !options.pushOnly) {
|
|
308
|
-
|
|
461
|
+
reporter.error("Copying zip to releases folder");
|
|
309
462
|
const zipFileName = `${packageNameWithVersion}.zip`;
|
|
310
463
|
const releasesPath = getPackageReleasesDirectory(location);
|
|
311
464
|
await fs$1.mkdir(releasesPath, {
|
|
@@ -314,154 +467,6 @@ const releaseFolder = async (options)=>{
|
|
|
314
467
|
await pipeline(uploadable.getStream(), createWriteStream(path.join(releasesPath, zipFileName)));
|
|
315
468
|
}
|
|
316
469
|
};
|
|
317
|
-
const ensureRequiredVersions = async (workspaceLocation, creatorPackage, sessionManager, prompter)=>{
|
|
318
|
-
const libraries = determineWorkspaceIGLibraries(workspaceLocation);
|
|
319
|
-
// If there are no libraries, we don't need to check for required versions
|
|
320
|
-
if (libraries.length === 0) {
|
|
321
|
-
return true;
|
|
322
|
-
}
|
|
323
|
-
const targetSession = sessionManager.getTargetSession();
|
|
324
|
-
const rawUploadedPackages = await getExistingPackages(targetSession);
|
|
325
|
-
const uploadedPackages = rawUploadedPackages.map((entry)=>{
|
|
326
|
-
let version;
|
|
327
|
-
try {
|
|
328
|
-
version = parseVersionFromNumericVersion(entry.numericVersion);
|
|
329
|
-
} catch (err) {
|
|
330
|
-
throw new Error(`Encountered invalid format for version ${entry.numericVersion}`);
|
|
331
|
-
}
|
|
332
|
-
if (version.buildNumber < 100) {
|
|
333
|
-
version.preRelease = {
|
|
334
|
-
type: "beta",
|
|
335
|
-
version: version.buildNumber
|
|
336
|
-
};
|
|
337
|
-
} else if (version.buildNumber > 100) {
|
|
338
|
-
version.preRelease = {
|
|
339
|
-
type: "patch",
|
|
340
|
-
version: version.buildNumber - 100
|
|
341
|
-
};
|
|
342
|
-
}
|
|
343
|
-
return {
|
|
344
|
-
...entry,
|
|
345
|
-
version
|
|
346
|
-
};
|
|
347
|
-
});
|
|
348
|
-
for (const libraryLocation of libraries){
|
|
349
|
-
const libraryManifest = readPublishedPackageNpmManifest(libraryLocation);
|
|
350
|
-
const libraryCreatorPackage = readPublishedPackageCreatorManifest(libraryLocation);
|
|
351
|
-
if (libraryCreatorPackage === undefined || libraryManifest.main === undefined || libraryCreatorPackage.Package === creatorPackage.Package) {
|
|
352
|
-
continue;
|
|
353
|
-
}
|
|
354
|
-
const libraryVersion = PackageVersion.extractFromLine(libraryManifest.version);
|
|
355
|
-
if (libraryVersion.preRelease) {
|
|
356
|
-
libraryVersion.buildNumber = libraryVersion.preRelease.version;
|
|
357
|
-
libraryVersion.preRelease = undefined;
|
|
358
|
-
} else {
|
|
359
|
-
libraryVersion.buildNumber = 100;
|
|
360
|
-
}
|
|
361
|
-
let uploadedPackageInBasics;
|
|
362
|
-
let uploadedPackageInTarget;
|
|
363
|
-
for (const uploadedPackage of uploadedPackages){
|
|
364
|
-
if (uploadedPackage.scope === libraryCreatorPackage.Package) {
|
|
365
|
-
if (uploadedPackage.support) {
|
|
366
|
-
uploadedPackageInBasics = uploadedPackage;
|
|
367
|
-
} else {
|
|
368
|
-
uploadedPackageInTarget = uploadedPackage;
|
|
369
|
-
}
|
|
370
|
-
}
|
|
371
|
-
}
|
|
372
|
-
const validInBasics = uploadedPackageInBasics !== undefined && !uploadedPackageInBasics.version.isLesserThan(libraryVersion);
|
|
373
|
-
const validInTarget = uploadedPackageInTarget !== undefined && !uploadedPackageInTarget.version.isLesserThan(libraryVersion);
|
|
374
|
-
if (validInBasics || validInTarget) {
|
|
375
|
-
if (targetSession.subDomain !== "Basics" && uploadedPackageInBasics !== undefined && uploadedPackageInTarget !== undefined) {
|
|
376
|
-
logPackageMessage(creatorPackage.Package, `Package ${libraryCreatorPackage.Package} is uploaded both for Basics and ${targetSession.subDomain}. The package within ${targetSession.subDomain} will be used.`);
|
|
377
|
-
}
|
|
378
|
-
continue;
|
|
379
|
-
}
|
|
380
|
-
const possibleTargets = [];
|
|
381
|
-
if (uploadedPackageInBasics) {
|
|
382
|
-
const version = uploadedPackageInBasics.version.toVersionString({
|
|
383
|
-
buildNumber: true
|
|
384
|
-
});
|
|
385
|
-
possibleTargets.push({
|
|
386
|
-
value: "Basics",
|
|
387
|
-
name: `Basics (Current: ${version})`
|
|
388
|
-
});
|
|
389
|
-
} else {
|
|
390
|
-
possibleTargets.push({
|
|
391
|
-
value: "Basics",
|
|
392
|
-
name: "Basics (Current: None)"
|
|
393
|
-
});
|
|
394
|
-
}
|
|
395
|
-
if (targetSession.subDomain !== "Basics") {
|
|
396
|
-
if (uploadedPackageInTarget) {
|
|
397
|
-
const version = uploadedPackageInTarget.version.toVersionString({
|
|
398
|
-
buildNumber: true
|
|
399
|
-
});
|
|
400
|
-
possibleTargets.push({
|
|
401
|
-
value: targetSession.subDomain,
|
|
402
|
-
name: `${targetSession.subDomain} (Current: ${version})`
|
|
403
|
-
});
|
|
404
|
-
} else {
|
|
405
|
-
possibleTargets.push({
|
|
406
|
-
value: targetSession.subDomain,
|
|
407
|
-
name: `${targetSession.subDomain} (Current: None)`
|
|
408
|
-
});
|
|
409
|
-
}
|
|
410
|
-
}
|
|
411
|
-
const libraryVersionString = libraryVersion.toVersionString({
|
|
412
|
-
buildNumber: true
|
|
413
|
-
});
|
|
414
|
-
const uploadTargetScope = await prompter.ask({
|
|
415
|
-
message: `Version ${libraryVersionString} of dependency ${libraryCreatorPackage.Package} is required but not available. Please select a subdomain to upload the correct dependency version to`,
|
|
416
|
-
options: [
|
|
417
|
-
...possibleTargets,
|
|
418
|
-
{
|
|
419
|
-
name: "Skip upload",
|
|
420
|
-
value: "Skip"
|
|
421
|
-
}
|
|
422
|
-
],
|
|
423
|
-
default: possibleTargets[0].value
|
|
424
|
-
});
|
|
425
|
-
if (uploadTargetScope === "Skip") {
|
|
426
|
-
continue;
|
|
427
|
-
}
|
|
428
|
-
const archive = buildArchiveFromPublishedPackage(libraryLocation, libraryManifest, libraryCreatorPackage);
|
|
429
|
-
const newVersionString = libraryVersion.toVersionString({
|
|
430
|
-
buildNumber: true
|
|
431
|
-
});
|
|
432
|
-
const session = uploadTargetScope === "Basics" ? await sessionManager.getBasicsSession() : targetSession;
|
|
433
|
-
logPackageMessage(creatorPackage.Package, `Uploading package ${libraryCreatorPackage.Package} with version ${newVersionString} to ${session.domain}.${session.subDomain}`);
|
|
434
|
-
await uploadPackageFromStream(session, {
|
|
435
|
-
name: libraryCreatorPackage.Package,
|
|
436
|
-
version: newVersionString
|
|
437
|
-
}, archive.generateNodeStream());
|
|
438
|
-
}
|
|
439
|
-
};
|
|
440
|
-
const createSessionManager = async (params)=>{
|
|
441
|
-
const targetSession = await startSession(params);
|
|
442
|
-
let basicsSession;
|
|
443
|
-
return {
|
|
444
|
-
getBasicsSession: async ()=>{
|
|
445
|
-
if (targetSession.subDomain === "Basics") {
|
|
446
|
-
return targetSession;
|
|
447
|
-
}
|
|
448
|
-
if (basicsSession === undefined) {
|
|
449
|
-
basicsSession = await startSession({
|
|
450
|
-
...params,
|
|
451
|
-
subDomain: "Basics"
|
|
452
|
-
});
|
|
453
|
-
}
|
|
454
|
-
return basicsSession;
|
|
455
|
-
},
|
|
456
|
-
getTargetSession: ()=>targetSession,
|
|
457
|
-
destroy: async ()=>{
|
|
458
|
-
await closeSession(targetSession);
|
|
459
|
-
if (basicsSession !== undefined) {
|
|
460
|
-
await closeSession(basicsSession);
|
|
461
|
-
}
|
|
462
|
-
}
|
|
463
|
-
};
|
|
464
|
-
};
|
|
465
470
|
|
|
466
471
|
export { releaseFolder };
|
|
467
|
-
//# sourceMappingURL=index-
|
|
472
|
+
//# sourceMappingURL=index-CNupsFSp.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-CNupsFSp.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\";\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.uploadPackageFromStream(\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\tarchive.generateNodeStream(),\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\";\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 { write: writeVersionFile, reset: resetVersionFile } =\n\t\tgetVersionFileHandler(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\tif (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\twriteVersionFile(fullPackageName, newVersion);\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\tawait synchronizeDependencies(\n\t\t\t\t\t\tworkspace,\n\t\t\t\t\t\tpackageDescription,\n\t\t\t\t\t\tsessionManager,\n\t\t\t\t\t\toptions.prompter,\n\t\t\t\t\t\treporter,\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.uploadPackageFromStream(\n\t\t\t\t\tsessionManager.getTargetSession(),\n\t\t\t\t\tassetServerPackageDetails,\n\t\t\t\t\tuploadable.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\tresetVersionFile();\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","generateNodeStream","execAsync","promisify","exec","releaseFolder","workspace","write","writeVersionFile","reset","resetVersionFile","getVersionFileHandler","packageDescription","fullPackageName","createPackageScopedReporter","consoleReporter","subdomain","publishDomain","publishSubdomain","sharedPackageJson","readWorkspaceNpmManifest","newVersion","parseVersionFromString","Version","cwd","outDir","getWorkspaceOutputPath","mkdir","recursive","assetServerPackageDetails","packageNameWithVersion","versionWithoutPrelease","clone","zipFilePath","uploadable","getStream","pushOnly","zipFileExists","stat","catch","Promise","reject","gitVersionInformation","getVersionInformationFromGit","bannerText","getWorkspaceBannerText","buildFolders","packages","banner","text","commit","commitDirty","dirty","preparedReporter","rm","readPackageAnimationList","workspaceManifest","dependencies","install","confirm","minimize","zipOutputStream","createWriteStream","pipeline","isErrorEACCES","isErrorEPERM","noUpload","authentication","url","service","address","skipDependencies","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-DevWjwri.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-t3HbtHpD.mjs';
|
|
8
8
|
import 'node:path';
|
|
9
9
|
import 'node:fs';
|
|
10
10
|
import 'axios';
|
|
@@ -64,4 +64,4 @@ const executePostInstall = (workspace)=>{
|
|
|
64
64
|
};
|
|
65
65
|
|
|
66
66
|
export { executePostInstall };
|
|
67
|
-
//# sourceMappingURL=postinstall-
|
|
67
|
+
//# sourceMappingURL=postinstall-D2hLZlaK.mjs.map
|