@intelligentgraphics/ig.gfx.packager 3.0.0-beta.0 → 3.0.0-beta.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.
Files changed (70) hide show
  1. package/build/cli.mjs +44 -338
  2. package/build/cli.mjs.map +1 -1
  3. package/build/commands/build/docs.mjs +34 -0
  4. package/build/commands/build/docs.mjs.map +1 -0
  5. package/build/commands/build/index.mjs +169 -0
  6. package/build/commands/build/index.mjs.map +1 -0
  7. package/build/commands/build/tsc.mjs +84 -0
  8. package/build/commands/build/tsc.mjs.map +1 -0
  9. package/build/commands/{generate.ts.mjs → generate.mjs} +3 -13
  10. package/build/commands/generate.mjs.map +1 -0
  11. package/build/commands/{postinstall.ts.mjs → postinstall.mjs} +4 -11
  12. package/build/commands/postinstall.mjs.map +1 -0
  13. package/build/commands/{publish.mjs → publish/index.mjs} +20 -288
  14. package/build/commands/publish/index.mjs.map +1 -0
  15. package/build/commands/publish/zip.mjs +168 -0
  16. package/build/commands/publish/zip.mjs.map +1 -0
  17. package/build/commands/{publishNpm.ts.mjs → publishNpm.mjs} +11 -19
  18. package/build/commands/publishNpm.mjs.map +1 -0
  19. package/build/index.mjs +1 -1
  20. package/build/index.mjs.map +1 -1
  21. package/build/lib/assetService.mjs +111 -0
  22. package/build/lib/assetService.mjs.map +1 -0
  23. package/build/lib/banner.mjs +20 -0
  24. package/build/lib/banner.mjs.map +1 -0
  25. package/build/{dependencies.mjs → lib/dependencies.mjs} +4 -64
  26. package/build/lib/dependencies.mjs.map +1 -0
  27. package/build/lib/error.mjs +15 -0
  28. package/build/lib/error.mjs.map +1 -0
  29. package/build/lib/fs.mjs +19 -0
  30. package/build/lib/fs.mjs.map +1 -0
  31. package/build/lib/git.mjs +37 -0
  32. package/build/lib/git.mjs.map +1 -0
  33. package/build/lib/localization.mjs +16 -0
  34. package/build/lib/localization.mjs.map +1 -0
  35. package/build/lib/log.mjs +9 -0
  36. package/build/lib/log.mjs.map +1 -0
  37. package/build/lib/npmPackage.mjs +19 -0
  38. package/build/lib/npmPackage.mjs.map +1 -0
  39. package/build/lib/package.mjs +129 -0
  40. package/build/lib/package.mjs.map +1 -0
  41. package/build/lib/packageVersion.mjs +174 -0
  42. package/build/lib/packageVersion.mjs.map +1 -0
  43. package/build/lib/parseVersion.mjs +54 -0
  44. package/build/lib/parseVersion.mjs.map +1 -0
  45. package/build/lib/prompter.mjs +31 -0
  46. package/build/lib/prompter.mjs.map +1 -0
  47. package/build/lib/publishedPackage.mjs +66 -0
  48. package/build/lib/publishedPackage.mjs.map +1 -0
  49. package/build/{scripts.mjs → lib/scripts.mjs} +1 -2
  50. package/build/lib/scripts.mjs.map +1 -0
  51. package/build/lib/stripUtf8Bom.mjs +11 -0
  52. package/build/lib/stripUtf8Bom.mjs.map +1 -0
  53. package/build/lib/toposort.mjs +26 -0
  54. package/build/lib/toposort.mjs.map +1 -0
  55. package/build/lib/versionFile.mjs +78 -0
  56. package/build/lib/versionFile.mjs.map +1 -0
  57. package/build/lib/workspace.mjs +51 -0
  58. package/build/lib/workspace.mjs.map +1 -0
  59. package/package.json +2 -2
  60. package/readme.md +9 -0
  61. package/build/commands/build.mjs +0 -326
  62. package/build/commands/build.mjs.map +0 -1
  63. package/build/commands/generate.ts.mjs.map +0 -1
  64. package/build/commands/postinstall.ts.mjs.map +0 -1
  65. package/build/commands/publish.mjs.map +0 -1
  66. package/build/commands/publishNpm.ts.mjs.map +0 -1
  67. package/build/dependencies.mjs.map +0 -1
  68. package/build/scripts.mjs.map +0 -1
  69. package/build/versionFile.mjs +0 -365
  70. package/build/versionFile.mjs.map +0 -1
@@ -1,22 +1,14 @@
1
- #!/usr/bin/env node
2
1
  import * as path from 'path';
3
2
  import * as fs from 'fs';
4
3
  import { spawnSync } from 'child_process';
5
- import { f as readWorkspaceNpmManifest, g as getWorkspaceOutputPath, r as readPackageCreatorManifest, b as readPackageNpmManifest, m as writePackageNpmManifest, P as PACKAGE_FILE, e as readPackageCreatorIndex, I as INDEX_FILE, n as iterateWorkspacePackages } from '../cli.mjs';
6
- import { p as parseVersionFromString, g as getVersionFileHandler, a as getVersionInformationFromGit, b as getWorkspaceBannerText } from '../versionFile.mjs';
7
- import { b as buildFolders, l as logPackageMessage } from './build.mjs';
8
- import 'update-notifier';
9
- import 'yargs/yargs';
10
- import 'url';
11
- import 'y18n';
12
- import 'write-pkg';
13
- import 'inquirer';
14
- import 'simple-git';
15
- import 'glob';
16
- import 'terser';
17
- import 'typescript';
18
- import '../scripts.mjs';
19
- import 'typedoc';
4
+ import { readPackageCreatorManifest, readPackageNpmManifest, writePackageNpmManifest, PACKAGE_FILE, readPackageCreatorIndex, INDEX_FILE } from '../lib/package.mjs';
5
+ import { readWorkspaceNpmManifest, getWorkspaceOutputPath, iterateWorkspacePackages } from '../lib/workspace.mjs';
6
+ import { getVersionInformationFromGit } from '../lib/git.mjs';
7
+ import { getWorkspaceBannerText } from '../lib/banner.mjs';
8
+ import { parseVersionFromString } from '../lib/parseVersion.mjs';
9
+ import { getVersionFileHandler } from '../lib/versionFile.mjs';
10
+ import { logPackageMessage } from '../lib/log.mjs';
11
+ import { buildFolders } from './build/index.mjs';
20
12
 
21
13
  const publishToNpm = async ({
22
14
  workspace,
@@ -76,8 +68,8 @@ const publishToNpm = async ({
76
68
  const gitVersionInformation = await getVersionInformationFromGit(workspace, location);
77
69
  const bannerText = workspaceManifest !== undefined ? getWorkspaceBannerText(workspaceManifest) : undefined;
78
70
  await buildFolders({
79
- cwd: workspace.path,
80
- directories: [location.path],
71
+ workspace,
72
+ packages: [location],
81
73
  minimize: true,
82
74
  outDir: getWorkspaceOutputPath(workspace),
83
75
  banner: {
@@ -126,4 +118,4 @@ const publishToNpm = async ({
126
118
  };
127
119
 
128
120
  export { publishToNpm };
129
- //# sourceMappingURL=publishNpm.ts.mjs.map
121
+ //# sourceMappingURL=publishNpm.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publishNpm.mjs","sources":["../../src/commands/publishNpm.ts"],"sourcesContent":["import * as path from \"path\";\nimport * as fs from \"fs\";\nimport { spawnSync } from \"child_process\";\n\nimport { PackageVersion } from \"../lib/packageVersion\";\nimport {\n\tINDEX_FILE,\n\tPackageLocation,\n\tPACKAGE_FILE,\n\treadPackageCreatorIndex,\n\treadPackageCreatorManifest,\n\treadPackageNpmManifest,\n\twritePackageNpmManifest,\n} from \"../lib/package\";\nimport {\n\tgetWorkspaceOutputPath,\n\titerateWorkspacePackages,\n\treadWorkspaceNpmManifest,\n\tWorkspaceLocation,\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 { logPackageMessage } from \"../lib/log\";\n\nimport { buildFolders } from \"./build\";\n\nexport interface PublishToNpmSettings {\n\tworkspace: WorkspaceLocation;\n\tlocation: PackageLocation;\n\tversion: string;\n\tdryRun?: boolean;\n}\n\nexport const publishToNpm = async ({\n\tworkspace,\n\tlocation,\n\tversion: providedVersion,\n\tdryRun,\n}: PublishToNpmSettings) => {\n\tlet newVersion: PackageVersion;\n\ttry {\n\t\tnewVersion = parseVersionFromString(providedVersion);\n\t} catch (err) {\n\t\tthrow new Error(`Please enter a version in this format 1.0.0.100`);\n\t}\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 = undefined;\n\t} else {\n\t\tthrow new Error(\n\t\t\t`Refusing to publish a package with a build version larger than 100.`,\n\t\t);\n\t}\n\n\tconst workspaceManifest = readWorkspaceNpmManifest(workspace);\n\tconst workspaceOutputPath = getWorkspaceOutputPath(workspace);\n\tconst creatorPackage = readPackageCreatorManifest(location);\n\tlet packageJson = readPackageNpmManifest(location);\n\n\tif (packageJson === undefined) {\n\t\tpackageJson = {\n\t\t\tname:\n\t\t\t\t\"@intelligentgraphics/3d\" +\n\t\t\t\tcreatorPackage.Package.toLowerCase(),\n\t\t\tversion: \"1.0.0\",\n\t\t\tdescription: creatorPackage.Package,\n\t\t};\n\t}\n\n\tpackageJson.version = newVersion.toVersionString({\n\t\tbuildNumber: false,\n\t});\n\tpackageJson.description = newVersion.toDescriptionString(\n\t\tcreatorPackage.Package,\n\t);\n\tpackageJson.main = `${creatorPackage.Package}.js`;\n\tpackageJson.types = `${creatorPackage.Package}.d.ts`;\n\tpackageJson.publishConfig ??= {};\n\tpackageJson.publishConfig.acccess = \"public\";\n\tpackageJson.ig = {\n\t\tscriptingLibrary: true,\n\t};\n\tpackageJson.files = undefined;\n\n\tconst publishDir = path.join(\n\t\tworkspaceOutputPath,\n\t\t\"publish\",\n\t\tcreatorPackage.Package,\n\t);\n\tfs.rmSync(publishDir, { recursive: true, force: true });\n\tfs.mkdirSync(publishDir, { recursive: true });\n\n\twritePackageNpmManifest(location, packageJson);\n\n\tgetVersionFileHandler(location).write(creatorPackage.Package, newVersion);\n\n\tconst gitVersionInformation = await getVersionInformationFromGit(\n\t\tworkspace,\n\t\tlocation,\n\t);\n\n\tconst bannerText =\n\t\tworkspaceManifest !== undefined\n\t\t\t? getWorkspaceBannerText(workspaceManifest)\n\t\t\t: undefined;\n\n\tawait buildFolders({\n\t\tworkspace,\n\t\tpackages: [location],\n\t\tminimize: true,\n\t\toutDir: getWorkspaceOutputPath(workspace),\n\t\tbanner: {\n\t\t\ttext: bannerText,\n\t\t\tcommit: gitVersionInformation.commit,\n\t\t\tcommitDirty: gitVersionInformation.dirty,\n\t\t\tversion: newVersion.toVersionString({\n\t\t\t\tbuildNumber: true,\n\t\t\t}),\n\t\t\tdate: new Date(Date.now()),\n\t\t},\n\t});\n\n\tfs.copyFileSync(\n\t\tpath.join(\n\t\t\tgetWorkspaceOutputPath(workspace),\n\t\t\t`${creatorPackage.Package}.d.ts`,\n\t\t),\n\t\tpath.join(publishDir, `${creatorPackage.Package}.d.ts`),\n\t);\n\tfs.copyFileSync(\n\t\tpath.join(\n\t\t\tgetWorkspaceOutputPath(workspace),\n\t\t\t`${creatorPackage.Package}.min.js`,\n\t\t),\n\t\tpath.join(publishDir, `${creatorPackage.Package}.js`),\n\t);\n\n\tfs.copyFileSync(\n\t\tpath.join(location.manifestDir, \"package.json\"),\n\t\tpath.join(publishDir, \"package.json\"),\n\t);\n\n\tfs.writeFileSync(\n\t\tpath.join(publishDir, PACKAGE_FILE),\n\t\tJSON.stringify(creatorPackage, null, 2),\n\t);\n\n\tconst index = readPackageCreatorIndex(location);\n\n\tif (index !== undefined) {\n\t\tfs.writeFileSync(\n\t\t\tpath.join(publishDir, INDEX_FILE),\n\t\t\tJSON.stringify(index),\n\t\t);\n\t}\n\n\tconst readmeName = fs\n\t\t.readdirSync(location.path)\n\t\t.find((name) => name.toLowerCase() === \"readme.md\");\n\n\tif (readmeName !== undefined) {\n\t\tfs.copyFileSync(\n\t\t\tpath.join(location.path, readmeName),\n\t\t\tpath.join(publishDir, readmeName),\n\t\t);\n\t}\n\n\tconst npmPublishArgs: string[] = [];\n\n\tif (dryRun) {\n\t\tnpmPublishArgs.push(\"--dry-run\");\n\t}\n\n\tif (newVersion.preRelease) {\n\t\tnpmPublishArgs.push(\"--tag\", \"next\");\n\t}\n\n\tlogPackageMessage(\n\t\tcreatorPackage.Package,\n\t\t`Publishing to npm with version ${packageJson.version} using tag ${\n\t\t\tnewVersion.preRelease ? \"next\" : \"latest\"\n\t\t}`,\n\t);\n\n\tspawnSync(\"npm\", [\"publish\", ...npmPublishArgs], {\n\t\tstdio: \"inherit\",\n\t\tencoding: \"utf8\",\n\t\tcwd: publishDir,\n\t});\n\n\tfor (const packageLocation of iterateWorkspacePackages(workspace)) {\n\t\tconst manifest = readPackageNpmManifest(packageLocation);\n\n\t\tif (manifest?.dependencies?.[packageJson.name] !== undefined) {\n\t\t\tmanifest.dependencies[packageJson.name] = \"^\" + packageJson.version;\n\t\t\twritePackageNpmManifest(packageLocation, manifest);\n\t\t}\n\t}\n};\n"],"names":["publishToNpm","workspace","location","version","providedVersion","dryRun","newVersion","parseVersionFromString","err","Error","buildNumber","preRelease","type","undefined","workspaceManifest","readWorkspaceNpmManifest","workspaceOutputPath","getWorkspaceOutputPath","creatorPackage","readPackageCreatorManifest","packageJson","readPackageNpmManifest","name","Package","toLowerCase","description","toVersionString","toDescriptionString","main","types","publishConfig","acccess","ig","scriptingLibrary","files","publishDir","path","join","fs","rmSync","recursive","force","mkdirSync","writePackageNpmManifest","getVersionFileHandler","write","gitVersionInformation","getVersionInformationFromGit","bannerText","getWorkspaceBannerText","buildFolders","packages","minimize","outDir","banner","text","commit","commitDirty","dirty","date","Date","now","copyFileSync","manifestDir","writeFileSync","PACKAGE_FILE","JSON","stringify","index","readPackageCreatorIndex","INDEX_FILE","readmeName","readdirSync","find","npmPublishArgs","push","logPackageMessage","spawnSync","stdio","encoding","cwd","packageLocation","iterateWorkspacePackages","manifest","dependencies"],"mappings":"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"}
package/build/index.mjs CHANGED
@@ -2,5 +2,5 @@
2
2
  import 'source-map-support/register.js';
3
3
  import 'v8-compile-cache';
4
4
 
5
- import('./cli.mjs').then(function (n) { return n.o; });
5
+ import('./cli.mjs');
6
6
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../src/index.ts"],"sourcesContent":["import \"source-map-support/register.js\";\nimport \"v8-compile-cache\";\n\nimport(\"./cli\");\n"],"names":[],"mappings":";;;;AAGA,OAAO,WAAO,oCAAC"}
1
+ {"version":3,"file":"index.mjs","sources":["../src/index.ts"],"sourcesContent":["import \"source-map-support/register.js\";\nimport \"v8-compile-cache\";\n\nimport(\"./cli\");\n"],"names":[],"mappings":";;;;AAGA,OAAO,WAAO,CAAC"}
@@ -0,0 +1,111 @@
1
+ import axios from 'axios';
2
+ import * as fs from 'fs';
3
+
4
+ const PLUGIN_ID = "0feba3a0-b6d1-11e6-9598-0800200c9a66";
5
+ /**
6
+ * Starts an IG.Asset.Server session and returns the sessionId
7
+ *
8
+ * @param {SessionStartParams} params
9
+ * @returns
10
+ */
11
+ const startSession = async ({
12
+ url,
13
+ authentication,
14
+ ...params
15
+ }) => {
16
+ const payload = {
17
+ ...params,
18
+ user: undefined,
19
+ password: undefined,
20
+ license: undefined,
21
+ plugin: PLUGIN_ID
22
+ };
23
+ if (authentication.type === "credentials") {
24
+ payload.user = authentication.username;
25
+ payload.password = authentication.password;
26
+ } else if (authentication.type === "license") {
27
+ payload.license = authentication.license;
28
+ }
29
+ const {
30
+ data: {
31
+ session: sessionId,
32
+ state
33
+ }
34
+ } = await axios.post(`Session/Start2`, JSON.stringify(payload), {
35
+ baseURL: url
36
+ });
37
+ if (state !== "SUCCESS") {
38
+ throw new Error(`Could not start session: IG.Asset.Server responded with ${state}`);
39
+ }
40
+ return {
41
+ url,
42
+ sessionId,
43
+ domain: params.domain,
44
+ subDomain: params.subDomain
45
+ };
46
+ };
47
+ const closeSession = async session => {
48
+ await axios.get(`Session/Close/${session.sessionId}`, {
49
+ baseURL: session.url
50
+ });
51
+ };
52
+ const uploadPackage = async (session, {
53
+ name,
54
+ version
55
+ }, zipFilePath) => {
56
+ try {
57
+ await uploadPackageToUrl(session.url, `UploadPackage/${session.sessionId}/${name}_${version}`, zipFilePath);
58
+ } catch (err) {
59
+ await uploadPackageToUrl(session.url, `UploadPackage/${session.sessionId}/${name}_${version}/`, zipFilePath);
60
+ }
61
+ };
62
+ const getExistingPackages = async session => {
63
+ const {
64
+ data
65
+ } = await axios.get(`Script/GetInformation/${session.sessionId}`, {
66
+ baseURL: session.url,
67
+ validateStatus: status => status === 404 || status === 200
68
+ });
69
+ return data;
70
+ };
71
+ const uploadPackageToUrl = async (url, path, zipFilePath) => {
72
+ const {
73
+ data,
74
+ status
75
+ } = await axios.post(path, fs.createReadStream(zipFilePath), {
76
+ baseURL: url
77
+ });
78
+ let objectBody;
79
+ if (typeof data === "string") {
80
+ try {
81
+ objectBody = JSON.parse(data);
82
+ } catch (err) {}
83
+ } else if (typeof data === "object") {
84
+ objectBody = data;
85
+ }
86
+ if (objectBody !== undefined) {
87
+ if ("state" in objectBody && objectBody.state !== "SUCCESS") {
88
+ throw new Error(objectBody.response ?? objectBody.state);
89
+ }
90
+ }
91
+ if (status >= 400) {
92
+ if (objectBody !== undefined) {
93
+ let text_1 = "";
94
+ for (const key in objectBody) {
95
+ text_1 += key + ": \n";
96
+ if (typeof objectBody[key] === "object") {
97
+ text_1 += JSON.stringify(objectBody[key], undefined, 2);
98
+ } else {
99
+ text_1 += objectBody[key];
100
+ }
101
+ text_1 += "\n\n";
102
+ }
103
+ throw new Error(text_1);
104
+ }
105
+ throw new Error(data);
106
+ }
107
+ return data;
108
+ };
109
+
110
+ export { closeSession, getExistingPackages, startSession, uploadPackage };
111
+ //# sourceMappingURL=assetService.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assetService.mjs","sources":["../../src/lib/assetService.ts"],"sourcesContent":["import axios, { AxiosResponse } from \"axios\";\nimport * as fs from \"fs\";\n\nimport { Authentication } from \"./authentication\";\n\nexport interface SessionStartParams\n\textends Omit<\n\t\tSessionStartPayload,\n\t\t\"user\" | \"password\" | \"license\" | \"plugin\"\n\t> {\n\tauthentication: Authentication;\n\turl: string;\n}\n\nexport interface SessionStartPayload {\n\tplugin: string;\n\taddress: string | undefined;\n\tdomain: string;\n\tsubDomain: string;\n\tuser: string | undefined;\n\tpassword: string | undefined;\n\tlicense: string | undefined;\n}\n\nexport interface SessionStartResponse {\n\tsession: string;\n\tstate: string;\n}\n\nconst PLUGIN_ID = \"0feba3a0-b6d1-11e6-9598-0800200c9a66\";\n\nexport interface Session {\n\turl: string;\n\tsessionId: string;\n\tdomain: string;\n\tsubDomain: string;\n}\n\n/**\n * Starts an IG.Asset.Server session and returns the sessionId\n *\n * @param {SessionStartParams} params\n * @returns\n */\nexport const startSession = async ({\n\turl,\n\tauthentication,\n\t...params\n}: SessionStartParams): Promise<Session> => {\n\tconst payload: SessionStartPayload = {\n\t\t...params,\n\t\tuser: undefined,\n\t\tpassword: undefined,\n\t\tlicense: undefined,\n\t\tplugin: PLUGIN_ID,\n\t};\n\n\tif (authentication.type === \"credentials\") {\n\t\tpayload.user = authentication.username;\n\t\tpayload.password = authentication.password;\n\t} else if (authentication.type === \"license\") {\n\t\tpayload.license = authentication.license;\n\t}\n\n\tconst {\n\t\tdata: { session: sessionId, state },\n\t} = await axios.post<\n\t\tSessionStartResponse,\n\t\tAxiosResponse<SessionStartResponse>\n\t>(`Session/Start2`, JSON.stringify(payload), {\n\t\tbaseURL: url,\n\t});\n\n\tif (state !== \"SUCCESS\") {\n\t\tthrow new Error(\n\t\t\t`Could not start session: IG.Asset.Server responded with ${state}`,\n\t\t);\n\t}\n\n\treturn {\n\t\turl,\n\t\tsessionId,\n\t\tdomain: params.domain,\n\t\tsubDomain: params.subDomain,\n\t};\n};\n\nexport const closeSession = async (session: Session) => {\n\tawait axios.get(`Session/Close/${session.sessionId}`, {\n\t\tbaseURL: session.url,\n\t});\n};\n\nexport interface UploadPackageDetails {\n\tname: string;\n\tversion: string;\n}\n\nexport const uploadPackage = async (\n\tsession: Session,\n\t{ name, version }: UploadPackageDetails,\n\tzipFilePath: string,\n) => {\n\ttry {\n\t\tawait uploadPackageToUrl(\n\t\t\tsession.url,\n\t\t\t`UploadPackage/${session.sessionId}/${name}_${version}`,\n\t\t\tzipFilePath,\n\t\t);\n\t} catch (err) {\n\t\tawait uploadPackageToUrl(\n\t\t\tsession.url,\n\t\t\t`UploadPackage/${session.sessionId}/${name}_${version}/`,\n\t\t\tzipFilePath,\n\t\t);\n\t}\n};\n\nexport interface ExistingPackage {\n\tscope: string;\n\tinformalVersion: string;\n\tsupport: boolean;\n\tnumericVersion: number;\n}\n\nexport const getExistingPackages = async (\n\tsession: Session,\n): Promise<ExistingPackage[]> => {\n\tconst { data } = await axios.get(\n\t\t`Script/GetInformation/${session.sessionId}`,\n\t\t{\n\t\t\tbaseURL: session.url,\n\t\t\tvalidateStatus: (status) => status === 404 || status === 200,\n\t\t},\n\t);\n\n\treturn data;\n};\n\nconst uploadPackageToUrl = async (\n\turl: string,\n\tpath: string,\n\tzipFilePath: string,\n) => {\n\tconst { data, status } = await axios.post(\n\t\tpath,\n\t\tfs.createReadStream(zipFilePath),\n\t\t{\n\t\t\tbaseURL: url,\n\t\t},\n\t);\n\n\tlet objectBody: any;\n\tif (typeof data === \"string\") {\n\t\ttry {\n\t\t\tobjectBody = JSON.parse(data);\n\t\t} catch (err) {}\n\t} else if (typeof data === \"object\") {\n\t\tobjectBody = data;\n\t}\n\tif (objectBody !== undefined) {\n\t\tif (\"state\" in objectBody && objectBody.state !== \"SUCCESS\") {\n\t\t\tthrow new Error(objectBody.response ?? objectBody.state);\n\t\t}\n\t}\n\tif (status >= 400) {\n\t\tif (objectBody !== undefined) {\n\t\t\tlet text_1 = \"\";\n\n\t\t\tfor (const key in objectBody) {\n\t\t\t\ttext_1 += key + \": \\n\";\n\t\t\t\tif (typeof objectBody[key] === \"object\") {\n\t\t\t\t\ttext_1 += JSON.stringify(objectBody[key], undefined, 2);\n\t\t\t\t} else {\n\t\t\t\t\ttext_1 += objectBody[key];\n\t\t\t\t}\n\t\t\t\ttext_1 += \"\\n\\n\";\n\t\t\t}\n\n\t\t\tthrow new Error(text_1);\n\t\t}\n\n\t\tthrow new Error(data);\n\t}\n\treturn data;\n};\n"],"names":["PLUGIN_ID","startSession","url","authentication","params","payload","user","undefined","password","license","plugin","type","username","data","session","sessionId","state","axios","post","JSON","stringify","baseURL","Error","domain","subDomain","closeSession","get","uploadPackage","name","version","zipFilePath","uploadPackageToUrl","err","getExistingPackages","validateStatus","status","path","fs","createReadStream","objectBody","parse","response","text_1","key"],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ const getWorkspaceBannerText = manifest => {
2
+ var _manifest$packager;
3
+ let bannerText = manifest === null || manifest === void 0 ? void 0 : (_manifest$packager = manifest.packager) === null || _manifest$packager === void 0 ? void 0 : _manifest$packager.banner;
4
+ if (bannerText) {
5
+ const match = bannerText.match(/Copyright \(C\) (\d+)( ?- ?(\d+))?/);
6
+ if (match !== null) {
7
+ const startYear = parseInt(match[1]);
8
+ const endYear = new Date().getFullYear();
9
+ if (startYear !== endYear) {
10
+ bannerText = bannerText.replace(match[0], `Copyright (C) ${startYear} - ${endYear}`);
11
+ } else {
12
+ bannerText = bannerText.replace(match[0], `Copyright (C) ${startYear}`);
13
+ }
14
+ }
15
+ }
16
+ return bannerText;
17
+ };
18
+
19
+ export { getWorkspaceBannerText };
20
+ //# sourceMappingURL=banner.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"banner.mjs","sources":["../../src/lib/banner.ts"],"sourcesContent":["import { WorkspacePackageJSON } from \"./workspace\";\n\nexport const getWorkspaceBannerText = (manifest: WorkspacePackageJSON) => {\n\tlet bannerText = manifest?.packager?.banner;\n\n\tif (bannerText) {\n\t\tconst match = bannerText.match(/Copyright \\(C\\) (\\d+)( ?- ?(\\d+))?/);\n\n\t\tif (match !== null) {\n\t\t\tconst startYear = parseInt(match[1]);\n\t\t\tconst endYear = new Date().getFullYear();\n\n\t\t\tif (startYear !== endYear) {\n\t\t\t\tbannerText = bannerText.replace(\n\t\t\t\t\tmatch[0],\n\t\t\t\t\t`Copyright (C) ${startYear} - ${endYear}`,\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tbannerText = bannerText.replace(\n\t\t\t\t\tmatch[0],\n\t\t\t\t\t`Copyright (C) ${startYear}`,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn bannerText;\n};\n"],"names":["getWorkspaceBannerText","manifest","bannerText","packager","banner","match","startYear","parseInt","endYear","Date","getFullYear","replace"],"mappings":"AAEaA,MAAAA,sBAAsB,GAAIC,QAA8B,IAAK;AAAA,EAAA,IAAA,kBAAA,CAAA;EACzE,IAAIC,UAAU,GAAGD,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAARA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,CAAAA,kBAAAA,GAAAA,QAAQ,CAAEE,QAAQ,MAAlB,IAAA,IAAA,kBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,kBAAA,CAAoBC,MAAM,CAAA;AAE3C,EAAA,IAAIF,UAAU,EAAE;AACf,IAAA,MAAMG,KAAK,GAAGH,UAAU,CAACG,KAAK,CAAC,oCAAoC,CAAC,CAAA;IAEpE,IAAIA,KAAK,KAAK,IAAI,EAAE;MACnB,MAAMC,SAAS,GAAGC,QAAQ,CAACF,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AACpC,MAAA,MAAMG,OAAO,GAAG,IAAIC,IAAI,EAAE,CAACC,WAAW,EAAE,CAAA;MAExC,IAAIJ,SAAS,KAAKE,OAAO,EAAE;AAC1BN,QAAAA,UAAU,GAAGA,UAAU,CAACS,OAAO,CAC9BN,KAAK,CAAC,CAAC,CAAC,EACP,CAAgBC,cAAAA,EAAAA,SAAU,CAAKE,GAAAA,EAAAA,OAAQ,EAAC,CACzC,CAAA;AACF,OAAC,MAAM;AACNN,QAAAA,UAAU,GAAGA,UAAU,CAACS,OAAO,CAC9BN,KAAK,CAAC,CAAC,CAAC,EACP,CAAgBC,cAAAA,EAAAA,SAAU,EAAC,CAC5B,CAAA;AACF,OAAA;AACD,KAAA;AACD,GAAA;AAEA,EAAA,OAAOJ,UAAU,CAAA;AAClB;;;;"}
@@ -1,65 +1,5 @@
1
- #!/usr/bin/env node
2
- import * as path from 'path';
3
- import * as fs from 'fs';
4
- import resolve from 'resolve';
5
- import { j as readNpmManifest, P as PACKAGE_FILE, s as stripUtf8Bom, i as isErrorENOENT, I as INDEX_FILE, f as readWorkspaceNpmManifest } from './cli.mjs';
6
-
7
- /**
8
- * Describes the location of a single published package.
9
- *
10
- * I.e. node_modules/@intelligentgraphics/3d.ig.gfx.core
11
- *
12
- * @export
13
- * @interface PublishedPackageLocation
14
- */
15
-
16
- const detectPublishedPackageByModuleName = (workspace, name) => {
17
- const manifestPath = resolve.sync(name + "/package.json", {
18
- basedir: workspace.path
19
- });
20
- const dir = path.dirname(manifestPath);
21
- return detectPublishedPackage(dir);
22
- };
23
- const detectPublishedPackage = path => ({
24
- _kind: "PublishedPackageLocation",
25
- path
26
- });
27
- const readPublishedPackageNpmManifest = location => {
28
- return readNpmManifest(location.path);
29
- };
30
- const readPublishedPackageCreatorManifest = location => {
31
- try {
32
- const packageJsonPath = path.join(location.path, PACKAGE_FILE);
33
- const packageJson = stripUtf8Bom(fs.readFileSync(packageJsonPath, {
34
- encoding: "utf8"
35
- }));
36
- const result = JSON.parse(packageJson);
37
- return {
38
- ...result,
39
- Scope: result.Scope || result.Package
40
- };
41
- } catch (err) {
42
- if (isErrorENOENT(err)) {
43
- return undefined;
44
- }
45
- throw err;
46
- }
47
- };
48
- const readPublishedPackageCreatorIndex = location => {
49
- try {
50
- const packageJsonPath = path.join(location.path, INDEX_FILE);
51
- const packageJson = stripUtf8Bom(fs.readFileSync(packageJsonPath, {
52
- encoding: "utf8"
53
- }));
54
- const result = JSON.parse(packageJson);
55
- return result;
56
- } catch (err) {
57
- if (isErrorENOENT(err)) {
58
- return undefined;
59
- }
60
- throw err;
61
- }
62
- };
1
+ import { readPublishedPackageNpmManifest, detectPublishedPackageFromPath } from './publishedPackage.mjs';
2
+ import { readWorkspaceNpmManifest } from './workspace.mjs';
63
3
 
64
4
  // /**
65
5
  // * Determines the implicit dependencies of a an actual data workspace package.
@@ -122,7 +62,7 @@ const collectIGLibraries = (workspace, manifest) => {
122
62
  const result = [];
123
63
  for (const runtimeDependency of runtimeDependencies) {
124
64
  var _runtimeManifest$ig;
125
- const location = detectPublishedPackageByModuleName(workspace, runtimeDependency);
65
+ const location = detectPublishedPackageFromPath(workspace.path, runtimeDependency);
126
66
  const runtimeManifest = readPublishedPackageNpmManifest(location);
127
67
 
128
68
  // packages need to explicitly be marked as ig scriptingLibraries
@@ -134,5 +74,5 @@ const collectIGLibraries = (workspace, manifest) => {
134
74
  return result;
135
75
  };
136
76
 
137
- export { readPublishedPackageNpmManifest as a, readPublishedPackageCreatorManifest as b, determineWorkspaceIGLibraries as d, readPublishedPackageCreatorIndex as r };
77
+ export { determineWorkspaceIGLibraries };
138
78
  //# sourceMappingURL=dependencies.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependencies.mjs","sources":["../../src/lib/dependencies.ts"],"sourcesContent":["import { PackageJSON } from \"./packageJSON\";\nimport {\n\tdetectPublishedPackageFromPath,\n\tPublishedPackageLocation,\n\treadPublishedPackageNpmManifest,\n} from \"./publishedPackage\";\nimport { readWorkspaceNpmManifest, WorkspaceLocation } from \"./workspace\";\n\n// /**\n// * Determines the implicit dependencies of a an actual data workspace package.\n// *\n// * An implicit dependency is a dependency that is installed for the workspace and has the same runtime environment (evaluator, interactor) as the package.\n// *\n// * @param {WorkspaceLocation} workspace\n// * @param {CreatorPackage} creatorPackage\n// * @returns {PublishedPackageLocation[]}\n// */\n// export const determinePackageImplicitDependencies = (\n// \tworkspace: WorkspaceLocation,\n// \tcreatorPackage: CreatorPackage,\n// ): PublishedPackageLocation[] => {\n// \tconst libraries = determineWorkspaceIGLibraries(workspace);\n\n// \tconst results: PublishedPackageLocation[] = [];\n// \tfor (const librarylocation of libraries) {\n// \t\tconst libraryManifest =\n// \t\t\treadPublishedPackageCreatorManifest(librarylocation);\n\n// \t\tif (\n// \t\t\tlibraryManifest !== undefined &&\n// \t\t\t(libraryManifest.Type === \"Mixed\" ||\n// \t\t\t\tlibraryManifest.RunTime === creatorPackage.RunTime)\n// \t\t) {\n// \t\t\tresults.push(librarylocation);\n// \t\t}\n// \t}\n\n// \treturn results;\n// };\n\n/**\n * Recursively determines all installed ig libraries for a workspace.\n *\n * @param {WorkspaceLocation} workspace\n * @returns {PublishedPackageLocation[]}\n */\nexport const determineWorkspaceIGLibraries = (\n\tworkspace: WorkspaceLocation,\n): PublishedPackageLocation[] => {\n\tconst manifest = readWorkspaceNpmManifest(workspace);\n\n\tif (manifest === undefined) {\n\t\treturn [];\n\t}\n\n\tconst libraries = collectIGLibraries(workspace, manifest);\n\tconst results = new Map<string, PublishedPackageLocation>();\n\n\tfor (const location of libraries) {\n\t\tconst manifest = readPublishedPackageNpmManifest(location);\n\t\tif (!results.has(manifest.name)) {\n\t\t\tresults.set(manifest.name, location);\n\t\t}\n\t}\n\n\treturn Array.from(results.values());\n};\n\nconst collectIGLibraries = (\n\tworkspace: WorkspaceLocation,\n\tmanifest: PackageJSON,\n): PublishedPackageLocation[] => {\n\tif (!manifest.dependencies) {\n\t\treturn [];\n\t}\n\n\tconst runtimeDependencies = Object.getOwnPropertyNames(\n\t\tmanifest.dependencies,\n\t);\n\n\tconst result: PublishedPackageLocation[] = [];\n\n\tfor (const runtimeDependency of runtimeDependencies) {\n\t\tconst location = detectPublishedPackageFromPath(\n\t\t\tworkspace.path,\n\t\t\truntimeDependency,\n\t\t);\n\n\t\tconst runtimeManifest = readPublishedPackageNpmManifest(location);\n\n\t\t// packages need to explicitly be marked as ig scriptingLibraries\n\t\tif (runtimeManifest.ig?.scriptingLibrary) {\n\t\t\tresult.push(location);\n\t\t\tresult.push(...collectIGLibraries(workspace, runtimeManifest));\n\t\t}\n\t}\n\n\treturn result;\n};\n"],"names":["determineWorkspaceIGLibraries","workspace","manifest","readWorkspaceNpmManifest","undefined","libraries","collectIGLibraries","results","Map","location","readPublishedPackageNpmManifest","has","name","set","Array","from","values","dependencies","runtimeDependencies","Object","getOwnPropertyNames","result","runtimeDependency","detectPublishedPackageFromPath","path","runtimeManifest","ig","scriptingLibrary","push"],"mappings":";;;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACaA,MAAAA,6BAA6B,GACzCC,SAA4B,IACI;AAChC,EAAA,MAAMC,QAAQ,GAAGC,wBAAwB,CAACF,SAAS,CAAC,CAAA;EAEpD,IAAIC,QAAQ,KAAKE,SAAS,EAAE;AAC3B,IAAA,OAAO,EAAE,CAAA;AACV,GAAA;AAEA,EAAA,MAAMC,SAAS,GAAGC,kBAAkB,CAACL,SAAS,EAAEC,QAAQ,CAAC,CAAA;AACzD,EAAA,MAAMK,OAAO,GAAG,IAAIC,GAAG,EAAoC,CAAA;AAE3D,EAAA,KAAK,MAAMC,QAAQ,IAAIJ,SAAS,EAAE;AACjC,IAAA,MAAMH,QAAQ,GAAGQ,+BAA+B,CAACD,QAAQ,CAAC,CAAA;IAC1D,IAAI,CAACF,OAAO,CAACI,GAAG,CAACT,QAAQ,CAACU,IAAI,CAAC,EAAE;MAChCL,OAAO,CAACM,GAAG,CAACX,QAAQ,CAACU,IAAI,EAAEH,QAAQ,CAAC,CAAA;AACrC,KAAA;AACD,GAAA;EAEA,OAAOK,KAAK,CAACC,IAAI,CAACR,OAAO,CAACS,MAAM,EAAE,CAAC,CAAA;AACpC,EAAC;AAED,MAAMV,kBAAkB,GAAG,CAC1BL,SAA4B,EAC5BC,QAAqB,KACW;AAChC,EAAA,IAAI,CAACA,QAAQ,CAACe,YAAY,EAAE;AAC3B,IAAA,OAAO,EAAE,CAAA;AACV,GAAA;EAEA,MAAMC,mBAAmB,GAAGC,MAAM,CAACC,mBAAmB,CACrDlB,QAAQ,CAACe,YAAY,CACrB,CAAA;EAED,MAAMI,MAAkC,GAAG,EAAE,CAAA;AAE7C,EAAA,KAAK,MAAMC,iBAAiB,IAAIJ,mBAAmB,EAAE;AAAA,IAAA,IAAA,mBAAA,CAAA;IACpD,MAAMT,QAAQ,GAAGc,8BAA8B,CAC9CtB,SAAS,CAACuB,IAAI,EACdF,iBAAiB,CACjB,CAAA;AAED,IAAA,MAAMG,eAAe,GAAGf,+BAA+B,CAACD,QAAQ,CAAC,CAAA;;AAEjE;AACA,IAAA,IAAA,CAAA,mBAAA,GAAIgB,eAAe,CAACC,EAAE,MAAlB,IAAA,IAAA,mBAAA,KAAA,KAAA,CAAA,IAAA,mBAAA,CAAoBC,gBAAgB,EAAE;AACzCN,MAAAA,MAAM,CAACO,IAAI,CAACnB,QAAQ,CAAC,CAAA;MACrBY,MAAM,CAACO,IAAI,CAAC,GAAGtB,kBAAkB,CAACL,SAAS,EAAEwB,eAAe,CAAC,CAAC,CAAA;AAC/D,KAAA;AACD,GAAA;AAEA,EAAA,OAAOJ,MAAM,CAAA;AACd,CAAC;;;;"}
@@ -0,0 +1,15 @@
1
+ const getNodeErrorCode = error => {
2
+ if (error !== null && typeof error === "object" && error.code !== undefined) {
3
+ return error.code;
4
+ }
5
+ };
6
+
7
+ /**
8
+ * No such file or directory: Commonly raised by fs operations to indicate that a component of the specified pathname does not exist. No entity (file or directory) could be found by the given path.
9
+ *
10
+ * @param {unknown} error
11
+ */
12
+ const isErrorENOENT = error => getNodeErrorCode(error) === "ENOENT";
13
+
14
+ export { getNodeErrorCode, isErrorENOENT };
15
+ //# sourceMappingURL=error.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.mjs","sources":["../../src/lib/error.ts"],"sourcesContent":["interface NodeError extends Error {\n\tcode: string;\n}\n\nexport const getNodeErrorCode = (error: unknown) => {\n\tif (\n\t\terror !== null &&\n\t\ttypeof error === \"object\" &&\n\t\t(error as NodeError).code !== undefined\n\t) {\n\t\treturn (error as NodeError).code;\n\t}\n};\n\n/**\n * Permission denied: An attempt was made to access a file in a way forbidden by its file access permissions.\n *\n * @param {unknown} error\n */\nexport const isErrorEACCES = (error: unknown) =>\n\tgetNodeErrorCode(error) === \"EACCES\";\n\n/**\n * No such file or directory: Commonly raised by fs operations to indicate that a component of the specified pathname does not exist. No entity (file or directory) could be found by the given path.\n *\n * @param {unknown} error\n */\nexport const isErrorENOENT = (error: unknown) =>\n\tgetNodeErrorCode(error) === \"ENOENT\";\n"],"names":["getNodeErrorCode","error","code","undefined","isErrorENOENT"],"mappings":"AAIaA,MAAAA,gBAAgB,GAAIC,KAAc,IAAK;AACnD,EAAA,IACCA,KAAK,KAAK,IAAI,IACd,OAAOA,KAAK,KAAK,QAAQ,IACxBA,KAAK,CAAeC,IAAI,KAAKC,SAAS,EACtC;IACD,OAAQF,KAAK,CAAeC,IAAI,CAAA;AACjC,GAAA;AACD,EAAC;;AAUD;AACA;AACA;AACA;AACA;AACO,MAAME,aAAa,GAAIH,KAAc,IAC3CD,gBAAgB,CAACC,KAAK,CAAC,KAAK;;;;"}
@@ -0,0 +1,19 @@
1
+ import * as fs from 'fs';
2
+ import { isErrorENOENT } from './error.mjs';
3
+
4
+ const readStringFromFile = filePath => fs.readFileSync(filePath, {
5
+ encoding: "utf8"
6
+ });
7
+ const readStringFromFileOrUndefined = filePath => {
8
+ try {
9
+ return readStringFromFile(filePath);
10
+ } catch (err) {
11
+ if (!isErrorENOENT(err)) {
12
+ throw err;
13
+ }
14
+ return undefined;
15
+ }
16
+ };
17
+
18
+ export { readStringFromFile, readStringFromFileOrUndefined };
19
+ //# sourceMappingURL=fs.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fs.mjs","sources":["../../src/lib/fs.ts"],"sourcesContent":["import * as fs from \"fs\";\n\nimport { isErrorENOENT } from \"./error\";\n\nexport const readStringFromFile = (filePath: string): string =>\n\tfs.readFileSync(filePath, { encoding: \"utf8\" });\n\nexport const readStringFromFileOrUndefined = (\n\tfilePath: string,\n): string | undefined => {\n\ttry {\n\t\treturn readStringFromFile(filePath);\n\t} catch (err) {\n\t\tif (!isErrorENOENT(err)) {\n\t\t\tthrow err;\n\t\t}\n\t\treturn undefined;\n\t}\n};\n"],"names":["readStringFromFile","filePath","fs","readFileSync","encoding","readStringFromFileOrUndefined","err","isErrorENOENT","undefined"],"mappings":";;;AAIO,MAAMA,kBAAkB,GAAIC,QAAgB,IAClDC,EAAE,CAACC,YAAY,CAACF,QAAQ,EAAE;AAAEG,EAAAA,QAAQ,EAAE,MAAA;AAAO,CAAC,EAAC;AAEnCC,MAAAA,6BAA6B,GACzCJ,QAAgB,IACQ;EACxB,IAAI;IACH,OAAOD,kBAAkB,CAACC,QAAQ,CAAC,CAAA;GACnC,CAAC,OAAOK,GAAG,EAAE;AACb,IAAA,IAAI,CAACC,aAAa,CAACD,GAAG,CAAC,EAAE;AACxB,MAAA,MAAMA,GAAG,CAAA;AACV,KAAA;AACA,IAAA,OAAOE,SAAS,CAAA;AACjB,GAAA;AACD;;;;"}
@@ -0,0 +1,37 @@
1
+ import simpleGit from 'simple-git';
2
+ import * as path from 'path';
3
+
4
+ const getVersionInformationFromGit = async (workspaceLocation, packageLocation) => {
5
+ try {
6
+ var _log$latest, _log$latest2;
7
+ const git = simpleGit({
8
+ baseDir: workspaceLocation.path
9
+ });
10
+
11
+ // check wether the files for a folder are changed
12
+ // if so, mark as dirty
13
+ const diff = await git.diffSummary();
14
+ const dirty = diff.files.some(file => {
15
+ if (file.file.toLowerCase().includes("releases") || file.file.toLowerCase().endsWith("version.ts") || file.file.toLowerCase().endsWith("package.json")) {
16
+ return false;
17
+ }
18
+ const fullPath = path.resolve(workspaceLocation.path, file.file);
19
+ const relativePath = path.relative(packageLocation.path, fullPath);
20
+ return !relativePath.startsWith("..");
21
+ });
22
+ const log = await git.log({
23
+ maxCount: 1
24
+ });
25
+ const commit = !((_log$latest = log.latest) !== null && _log$latest !== void 0 && _log$latest.hash) ? undefined : log.latest.hash.substring(0, 7);
26
+ return {
27
+ commit,
28
+ dirty,
29
+ commitDate: (_log$latest2 = log.latest) === null || _log$latest2 === void 0 ? void 0 : _log$latest2.date
30
+ };
31
+ } catch (err) {
32
+ return {};
33
+ }
34
+ };
35
+
36
+ export { getVersionInformationFromGit };
37
+ //# sourceMappingURL=git.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git.mjs","sources":["../../src/lib/git.ts"],"sourcesContent":["import simpleGit from \"simple-git\";\nimport * as path from \"path\";\n\nimport { WorkspaceLocation } from \"./workspace\";\nimport { PackageLocation } from \"./package\";\n\nexport const getVersionInformationFromGit = async (\n\tworkspaceLocation: WorkspaceLocation,\n\tpackageLocation: PackageLocation,\n) => {\n\ttry {\n\t\tconst git = simpleGit({\n\t\t\tbaseDir: workspaceLocation.path,\n\t\t});\n\n\t\t// check wether the files for a folder are changed\n\t\t// if so, mark as dirty\n\t\tconst diff = await git.diffSummary();\n\n\t\tconst dirty = diff.files.some((file) => {\n\t\t\tif (\n\t\t\t\tfile.file.toLowerCase().includes(\"releases\") ||\n\t\t\t\tfile.file.toLowerCase().endsWith(\"version.ts\") ||\n\t\t\t\tfile.file.toLowerCase().endsWith(\"package.json\")\n\t\t\t) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tconst fullPath = path.resolve(workspaceLocation.path, file.file);\n\t\t\tconst relativePath = path.relative(packageLocation.path, fullPath);\n\n\t\t\treturn !relativePath.startsWith(\"..\");\n\t\t});\n\n\t\tconst log = await git.log({ maxCount: 1 });\n\t\tconst commit = !log.latest?.hash\n\t\t\t? undefined\n\t\t\t: log.latest.hash.substring(0, 7);\n\n\t\treturn {\n\t\t\tcommit,\n\t\t\tdirty,\n\t\t\tcommitDate: log.latest?.date,\n\t\t};\n\t} catch (err) {\n\t\treturn {};\n\t}\n};\n"],"names":["getVersionInformationFromGit","workspaceLocation","packageLocation","git","simpleGit","baseDir","path","diff","diffSummary","dirty","files","some","file","toLowerCase","includes","endsWith","fullPath","resolve","relativePath","relative","startsWith","log","maxCount","commit","latest","hash","undefined","substring","commitDate","date","err"],"mappings":";;;MAMaA,4BAA4B,GAAG,OAC3CC,iBAAoC,EACpCC,eAAgC,KAC5B;EACJ,IAAI;AAAA,IAAA,IAAA,WAAA,EAAA,YAAA,CAAA;IACH,MAAMC,GAAG,GAAGC,SAAS,CAAC;MACrBC,OAAO,EAAEJ,iBAAiB,CAACK,IAAAA;AAC5B,KAAC,CAAC,CAAA;;AAEF;AACA;AACA,IAAA,MAAMC,IAAI,GAAG,MAAMJ,GAAG,CAACK,WAAW,EAAE,CAAA;IAEpC,MAAMC,KAAK,GAAGF,IAAI,CAACG,KAAK,CAACC,IAAI,CAAEC,IAAI,IAAK;AACvC,MAAA,IACCA,IAAI,CAACA,IAAI,CAACC,WAAW,EAAE,CAACC,QAAQ,CAAC,UAAU,CAAC,IAC5CF,IAAI,CAACA,IAAI,CAACC,WAAW,EAAE,CAACE,QAAQ,CAAC,YAAY,CAAC,IAC9CH,IAAI,CAACA,IAAI,CAACC,WAAW,EAAE,CAACE,QAAQ,CAAC,cAAc,CAAC,EAC/C;AACD,QAAA,OAAO,KAAK,CAAA;AACb,OAAA;AAEA,MAAA,MAAMC,QAAQ,GAAGV,IAAI,CAACW,OAAO,CAAChB,iBAAiB,CAACK,IAAI,EAAEM,IAAI,CAACA,IAAI,CAAC,CAAA;MAChE,MAAMM,YAAY,GAAGZ,IAAI,CAACa,QAAQ,CAACjB,eAAe,CAACI,IAAI,EAAEU,QAAQ,CAAC,CAAA;AAElE,MAAA,OAAO,CAACE,YAAY,CAACE,UAAU,CAAC,IAAI,CAAC,CAAA;AACtC,KAAC,CAAC,CAAA;AAEF,IAAA,MAAMC,GAAG,GAAG,MAAMlB,GAAG,CAACkB,GAAG,CAAC;AAAEC,MAAAA,QAAQ,EAAE,CAAA;AAAE,KAAC,CAAC,CAAA;IAC1C,MAAMC,MAAM,GAAG,EAACF,CAAAA,WAAAA,GAAAA,GAAG,CAACG,MAAM,MAAA,IAAA,IAAA,WAAA,KAAA,KAAA,CAAA,IAAV,WAAYC,CAAAA,IAAI,CAC7BC,GAAAA,SAAS,GACTL,GAAG,CAACG,MAAM,CAACC,IAAI,CAACE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAElC,OAAO;MACNJ,MAAM;MACNd,KAAK;AACLmB,MAAAA,UAAU,EAAEP,CAAAA,YAAAA,GAAAA,GAAG,CAACG,MAAM,iDAAV,YAAYK,CAAAA,IAAAA;KACxB,CAAA;GACD,CAAC,OAAOC,GAAG,EAAE;AACb,IAAA,OAAO,EAAE,CAAA;AACV,GAAA;AACD;;;;"}
@@ -0,0 +1,16 @@
1
+ import y18n from 'y18n';
2
+ import * as path from 'path';
3
+ import { dirname } from 'path';
4
+ import { fileURLToPath } from 'url';
5
+
6
+ const __dirname = dirname(fileURLToPath(import.meta.url));
7
+ const instance = y18n({
8
+ directory: path.join(__dirname, "..", "locales"),
9
+ updateFiles: false,
10
+ locale: "en",
11
+ fallbackToLanguage: true
12
+ });
13
+ const translate = (key, ...args) => instance.__(key, ...args);
14
+
15
+ export { translate };
16
+ //# sourceMappingURL=localization.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"localization.mjs","sources":["../../src/lib/localization.ts"],"sourcesContent":["import y18n from \"y18n\";\nimport * as path from \"path\";\nimport { dirname } from \"path\";\nimport { fileURLToPath } from \"url\";\n\nconst __dirname = dirname(fileURLToPath(import.meta.url));\n\nconst instance = y18n({\n\tdirectory: path.join(__dirname, \"..\", \"locales\"),\n\tupdateFiles: false,\n\tlocale: \"en\",\n\tfallbackToLanguage: true,\n});\n\nexport const setLocale = (locale: string) => {\n\tinstance.setLocale(locale);\n};\n\nexport const translate = (key: string, ...args: string[]) =>\n\tinstance.__(key, ...args);\n"],"names":["__dirname","dirname","fileURLToPath","import","meta","url","instance","y18n","directory","path","join","updateFiles","locale","fallbackToLanguage","translate","key","args","__"],"mappings":";;;;;AAKA,MAAMA,SAAS,GAAGC,OAAO,CAACC,aAAa,CAACC,MAAM,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC,CAAA;AAEzD,MAAMC,QAAQ,GAAGC,IAAI,CAAC;EACrBC,SAAS,EAAEC,IAAI,CAACC,IAAI,CAACV,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;AAChDW,EAAAA,WAAW,EAAE,KAAK;AAClBC,EAAAA,MAAM,EAAE,IAAI;AACZC,EAAAA,kBAAkB,EAAE,IAAA;AACrB,CAAC,CAAC,CAAA;MAMWC,SAAS,GAAG,CAACC,GAAW,EAAE,GAAGC,IAAc,KACvDV,QAAQ,CAACW,EAAE,CAACF,GAAG,EAAE,GAAGC,IAAI;;;;"}
@@ -0,0 +1,9 @@
1
+ const logPackageMessage = (name, step, index, total) => {
2
+ const numLength = total === undefined ? undefined : total.toString().length;
3
+ const indexString = total === undefined || total < 2 ? "" : `${index.toString().padStart(numLength, "0")}/${total} `;
4
+ const identifierString = `${indexString}${name.padEnd(15)}`;
5
+ console.log(`${identifierString} >> ${step}`);
6
+ };
7
+
8
+ export { logPackageMessage };
9
+ //# sourceMappingURL=log.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log.mjs","sources":["../../src/lib/log.ts"],"sourcesContent":["export const logPackageMessage = (\n\tname: string,\n\tstep: string,\n\tindex?: number,\n\ttotal?: number,\n) => {\n\tconst numLength = total === undefined ? undefined : total.toString().length;\n\n\tconst indexString =\n\t\ttotal === undefined || total < 2\n\t\t\t? \"\"\n\t\t\t: `${index!.toString().padStart(numLength!, \"0\")}/${total} `;\n\n\tconst identifierString = `${indexString}${name.padEnd(15)}`;\n\n\tconsole.log(`${identifierString} >> ${step}`);\n};\n"],"names":["logPackageMessage","name","step","index","total","numLength","undefined","toString","length","indexString","padStart","identifierString","padEnd","console","log"],"mappings":"AAAO,MAAMA,iBAAiB,GAAG,CAChCC,IAAY,EACZC,IAAY,EACZC,KAAc,EACdC,KAAc,KACV;AACJ,EAAA,MAAMC,SAAS,GAAGD,KAAK,KAAKE,SAAS,GAAGA,SAAS,GAAGF,KAAK,CAACG,QAAQ,EAAE,CAACC,MAAM,CAAA;EAE3E,MAAMC,WAAW,GAChBL,KAAK,KAAKE,SAAS,IAAIF,KAAK,GAAG,CAAC,GAC7B,EAAE,GACD,CAAA,EAAED,KAAK,CAAEI,QAAQ,EAAE,CAACG,QAAQ,CAACL,SAAS,EAAG,GAAG,CAAE,CAAGD,CAAAA,EAAAA,KAAM,CAAE,CAAA,CAAA,CAAA;EAE9D,MAAMO,gBAAgB,GAAI,CAAA,EAAEF,WAAY,CAAA,EAAER,IAAI,CAACW,MAAM,CAAC,EAAE,CAAE,CAAC,CAAA,CAAA;EAE3DC,OAAO,CAACC,GAAG,CAAE,CAAA,EAAEH,gBAAiB,CAAMT,IAAAA,EAAAA,IAAK,EAAC,CAAC,CAAA;AAC9C;;;;"}
@@ -0,0 +1,19 @@
1
+ import * as fs from 'fs';
2
+ import * as path from 'path';
3
+ import { writePackageSync } from 'write-pkg';
4
+ import { stripUtf8Bom } from './stripUtf8Bom.mjs';
5
+
6
+ const readNpmManifest = directory => {
7
+ const packageJsonPath = path.join(directory, "package.json");
8
+ const packageJson = stripUtf8Bom(fs.readFileSync(packageJsonPath, {
9
+ encoding: "utf8"
10
+ }));
11
+ return JSON.parse(packageJson);
12
+ };
13
+ const writeNpmManifest = (directory, packageJson) => {
14
+ const packageJsonPath = path.join(directory, "package.json");
15
+ writePackageSync(packageJsonPath, packageJson);
16
+ };
17
+
18
+ export { readNpmManifest, writeNpmManifest };
19
+ //# sourceMappingURL=npmPackage.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"npmPackage.mjs","sources":["../../src/lib/npmPackage.ts"],"sourcesContent":["import * as fs from \"fs\";\nimport * as path from \"path\";\nimport { writePackageSync } from \"write-pkg\";\n\nimport { PackageJSON } from \"./packageJSON\";\nimport { stripUtf8Bom } from \"./stripUtf8Bom\";\n\nexport const readNpmManifest = <T extends PackageJSON>(\n\tdirectory: string,\n): T => {\n\tconst packageJsonPath = path.join(directory, \"package.json\");\n\tconst packageJson = stripUtf8Bom(\n\t\tfs.readFileSync(packageJsonPath, {\n\t\t\tencoding: \"utf8\",\n\t\t}),\n\t);\n\treturn JSON.parse(packageJson);\n};\n\nexport const writeNpmManifest = <T extends PackageJSON>(\n\tdirectory: string,\n\tpackageJson: T,\n) => {\n\tconst packageJsonPath = path.join(directory, \"package.json\");\n\twritePackageSync(packageJsonPath, packageJson);\n};\n"],"names":["readNpmManifest","directory","packageJsonPath","path","join","packageJson","stripUtf8Bom","fs","readFileSync","encoding","JSON","parse","writeNpmManifest","writePackageSync"],"mappings":";;;;;AAOaA,MAAAA,eAAe,GAC3BC,SAAiB,IACV;EACP,MAAMC,eAAe,GAAGC,IAAI,CAACC,IAAI,CAACH,SAAS,EAAE,cAAc,CAAC,CAAA;EAC5D,MAAMI,WAAW,GAAGC,YAAY,CAC/BC,EAAE,CAACC,YAAY,CAACN,eAAe,EAAE;AAChCO,IAAAA,QAAQ,EAAE,MAAA;AACX,GAAC,CAAC,CACF,CAAA;AACD,EAAA,OAAOC,IAAI,CAACC,KAAK,CAACN,WAAW,CAAC,CAAA;AAC/B,EAAC;MAEYO,gBAAgB,GAAG,CAC/BX,SAAiB,EACjBI,WAAc,KACV;EACJ,MAAMH,eAAe,GAAGC,IAAI,CAACC,IAAI,CAACH,SAAS,EAAE,cAAc,CAAC,CAAA;AAC5DY,EAAAA,gBAAgB,CAACX,eAAe,EAAEG,WAAW,CAAC,CAAA;AAC/C;;;;"}
@@ -0,0 +1,129 @@
1
+ import * as path from 'path';
2
+ import * as fs from 'fs';
3
+ import { isErrorENOENT } from './error.mjs';
4
+ import { readNpmManifest, writeNpmManifest } from './npmPackage.mjs';
5
+ import { stripUtf8Bom } from './stripUtf8Bom.mjs';
6
+
7
+ // Functionality related to working with a single package.
8
+ const PACKAGE_FILE = "_Package.json";
9
+ const INDEX_FILE = "_Index.json";
10
+ const ANIMATION_FILE_SUFFIX = ".animation.json";
11
+
12
+ /**
13
+ * Describes the location of a single package.
14
+ *
15
+ * @export
16
+ * @interface PackageLocation
17
+ */
18
+
19
+ const parseCreatorPackageName = manifest => {
20
+ const [domain, ...subdomainParts] = manifest.Package.split(".");
21
+ return {
22
+ domain,
23
+ subdomain: subdomainParts.join(".")
24
+ };
25
+ };
26
+ /**
27
+ * Detects the package at the given directory.
28
+ *
29
+ * @param {string} directory
30
+ * @returns {PackageLocation}
31
+ */
32
+ const detectPackage = (workspace, directory) => {
33
+ directory = path.resolve(workspace.path, directory);
34
+ const scriptsPath = path.join(directory, "Scripts");
35
+ const tsPath = path.join(directory, "ts");
36
+ let location;
37
+ if (fs.existsSync(scriptsPath)) {
38
+ location = {
39
+ _kind: "PackageLocation",
40
+ path: directory,
41
+ scriptsDir: scriptsPath,
42
+ manifestDir: scriptsPath
43
+ };
44
+ } else if (fs.existsSync(tsPath)) {
45
+ location = {
46
+ _kind: "PackageLocation",
47
+ path: directory,
48
+ scriptsDir: tsPath,
49
+ manifestDir: directory
50
+ };
51
+ } else {
52
+ location = {
53
+ _kind: "PackageLocation",
54
+ path: directory,
55
+ scriptsDir: directory,
56
+ manifestDir: directory
57
+ };
58
+ }
59
+ try {
60
+ readPackageCreatorManifest(location);
61
+ } catch (err) {
62
+ if (isErrorENOENT(err)) {
63
+ throw new Error(`No _Package.json found in ${location.manifestDir}`);
64
+ }
65
+ throw err;
66
+ }
67
+ return location;
68
+ };
69
+ const readPackageCreatorManifest = location => {
70
+ const packageJsonPath = path.join(location.manifestDir, PACKAGE_FILE);
71
+ const packageJson = stripUtf8Bom(fs.readFileSync(packageJsonPath, {
72
+ encoding: "utf8"
73
+ }));
74
+ const result = JSON.parse(packageJson);
75
+ return {
76
+ ...result,
77
+ Scope: result.Scope || result.Package
78
+ };
79
+ };
80
+ const writePackageCreatorManifest = (location, creatorPackage) => {
81
+ const packageJsonPath = path.join(location.manifestDir, PACKAGE_FILE);
82
+ fs.writeFileSync(packageJsonPath, JSON.stringify(creatorPackage, null, "\t") + "\n");
83
+ };
84
+ const readPackageCreatorIndex = location => {
85
+ try {
86
+ const indexPath = path.join(location.manifestDir, INDEX_FILE);
87
+ const index = stripUtf8Bom(fs.readFileSync(indexPath, {
88
+ encoding: "utf8"
89
+ }));
90
+ return JSON.parse(index);
91
+ } catch (err) {
92
+ if (isErrorENOENT(err)) {
93
+ return undefined;
94
+ }
95
+ throw err;
96
+ }
97
+ };
98
+ const writePackageCreatorIndex = (location, index) => {
99
+ const packageJsonPath = path.join(location.manifestDir, INDEX_FILE);
100
+ fs.writeFileSync(packageJsonPath, JSON.stringify(index, null, "\t") + "\n");
101
+ };
102
+ const readPackageNpmManifest = location => {
103
+ try {
104
+ return readNpmManifest(location.manifestDir);
105
+ } catch (err) {
106
+ if (isErrorENOENT(err)) {
107
+ return undefined;
108
+ }
109
+ throw err;
110
+ }
111
+ };
112
+ const writePackageNpmManifest = (location, packageJson) => {
113
+ writeNpmManifest(location.manifestDir, packageJson);
114
+ };
115
+ const readPackageAnimationList = location => {
116
+ const directoryContent = fs.readdirSync(location.manifestDir);
117
+ const animationPathList = [];
118
+ for (const entry of directoryContent) {
119
+ if (entry.endsWith(ANIMATION_FILE_SUFFIX)) {
120
+ const animationPath = path.join(location.manifestDir, entry);
121
+ animationPathList.push(animationPath);
122
+ }
123
+ }
124
+ return animationPathList;
125
+ };
126
+ const getPackageReleasesDirectory = location => path.join(location.path, "Releases");
127
+
128
+ export { INDEX_FILE, PACKAGE_FILE, detectPackage, getPackageReleasesDirectory, parseCreatorPackageName, readPackageAnimationList, readPackageCreatorIndex, readPackageCreatorManifest, readPackageNpmManifest, writePackageCreatorIndex, writePackageCreatorManifest, writePackageNpmManifest };
129
+ //# sourceMappingURL=package.mjs.map