@intelligentgraphics/ig.gfx.packager 2.3.4 → 3.0.0-alpha.0

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.
@@ -0,0 +1,31 @@
1
+ 'use strict';
2
+
3
+ var glob = require('glob');
4
+
5
+ function _interopNamespaceDefault(e) {
6
+ var n = Object.create(null);
7
+ if (e) {
8
+ Object.keys(e).forEach(function (k) {
9
+ if (k !== 'default') {
10
+ var d = Object.getOwnPropertyDescriptor(e, k);
11
+ Object.defineProperty(n, k, d.get ? d : {
12
+ enumerable: true,
13
+ get: function () { return e[k]; }
14
+ });
15
+ }
16
+ });
17
+ }
18
+ n.default = e;
19
+ return Object.freeze(n);
20
+ }
21
+
22
+ var glob__namespace = /*#__PURE__*/_interopNamespaceDefault(glob);
23
+
24
+ const getPackageTypescriptFiles = location => glob__namespace.sync("**/*.ts", {
25
+ absolute: true,
26
+ cwd: location.scriptsDir,
27
+ ignore: "node_modules/**/*"
28
+ });
29
+
30
+ exports.getPackageTypescriptFiles = getPackageTypescriptFiles;
31
+ //# sourceMappingURL=scripts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scripts.js","sources":["../src/lib/scripts.ts"],"sourcesContent":["import * as glob from \"glob\";\n\nimport { PackageLocation } from \"./package\";\n\nexport const getPackageTypescriptFiles = (location: PackageLocation) =>\n\tglob.sync(\"**/*.ts\", {\n\t\tabsolute: true,\n\t\tcwd: location.scriptsDir,\n\t\tignore: \"node_modules/**/*\",\n\t});\n"],"names":["getPackageTypescriptFiles","location","glob","sync","absolute","cwd","scriptsDir","ignore"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAIO,MAAMA,yBAAyB,GAAIC,QAAyB,IAClEC,eAAI,CAACC,IAAI,CAAC,SAAS,EAAE;AACpBC,EAAAA,QAAQ,EAAE,IAAI;EACdC,GAAG,EAAEJ,QAAQ,CAACK,UAAU;AACxBC,EAAAA,MAAM,EAAE,mBAAA;AACT,CAAC;;;;"}
@@ -0,0 +1,181 @@
1
+ 'use strict';
2
+
3
+ var simpleGit = require('simple-git');
4
+ var path = require('path');
5
+ var cli = require('./cli.js');
6
+ var fs = require('fs');
7
+
8
+ function _interopNamespaceDefault(e) {
9
+ var n = Object.create(null);
10
+ if (e) {
11
+ Object.keys(e).forEach(function (k) {
12
+ if (k !== 'default') {
13
+ var d = Object.getOwnPropertyDescriptor(e, k);
14
+ Object.defineProperty(n, k, d.get ? d : {
15
+ enumerable: true,
16
+ get: function () { return e[k]; }
17
+ });
18
+ }
19
+ });
20
+ }
21
+ n.default = e;
22
+ return Object.freeze(n);
23
+ }
24
+
25
+ var path__namespace = /*#__PURE__*/_interopNamespaceDefault(path);
26
+ var fs__namespace = /*#__PURE__*/_interopNamespaceDefault(fs);
27
+
28
+ const getVersionInformationFromGit = async (workspaceLocation, packageLocation) => {
29
+ try {
30
+ var _log$latest, _log$latest2;
31
+ const git = simpleGit({
32
+ baseDir: workspaceLocation.path
33
+ });
34
+
35
+ // check wether the files for a folder are changed
36
+ // if so, mark as dirty
37
+ const diff = await git.diffSummary();
38
+ const dirty = diff.files.some(file => {
39
+ if (file.file.toLowerCase().includes("releases") || file.file.toLowerCase().endsWith("version.ts")) {
40
+ return false;
41
+ }
42
+ const fullPath = path__namespace.resolve(workspaceLocation.path, file.file);
43
+ const relativePath = path__namespace.relative(packageLocation.path, fullPath);
44
+ return !relativePath.startsWith("..");
45
+ });
46
+ const log = await git.log({
47
+ maxCount: 1
48
+ });
49
+ const commit = !((_log$latest = log.latest) !== null && _log$latest !== void 0 && _log$latest.hash) ? undefined : log.latest.hash.substring(0, 7);
50
+ return {
51
+ commit,
52
+ dirty,
53
+ commitDate: (_log$latest2 = log.latest) === null || _log$latest2 === void 0 ? void 0 : _log$latest2.date
54
+ };
55
+ } catch (err) {
56
+ return {};
57
+ }
58
+ };
59
+
60
+ const getWorkspaceBannerText = manifest => {
61
+ var _manifest$packager;
62
+ let bannerText = manifest === null || manifest === void 0 ? void 0 : (_manifest$packager = manifest.packager) === null || _manifest$packager === void 0 ? void 0 : _manifest$packager.banner;
63
+ if (bannerText) {
64
+ const match = bannerText.match(/Copyright \(C\) (\d+)( ?- ?(\d+))?/);
65
+ if (match !== null) {
66
+ const startYear = parseInt(match[1]);
67
+ const endYear = new Date().getFullYear();
68
+ if (startYear !== endYear) {
69
+ bannerText = bannerText.replace(match[0], `Copyright (C) ${startYear} - ${endYear}`);
70
+ } else {
71
+ bannerText = bannerText.replace(match[0], `Copyright (C) ${startYear}`);
72
+ }
73
+ }
74
+ }
75
+ return bannerText;
76
+ };
77
+
78
+ const parseVersionFromString = input => {
79
+ if (input === undefined) {
80
+ throw new Error(`Can not parse version from undefined`);
81
+ }
82
+ let match;
83
+ let major;
84
+ let minor;
85
+ let patch;
86
+ let build;
87
+ let preReleaseType;
88
+ let preReleaseNumber;
89
+ if (
90
+ // first try to find a full match with build number
91
+ (match = input.match(/(\d+)\.(\d+)\.(\d+)\.(\d+)(-([^\.]+)\.(\d+))?/)) !== null) {
92
+ [, major, minor, patch, build, preReleaseType, preReleaseNumber] = match;
93
+ } else if ((match = input.match(/(\d+)\.(\d+)\.(\d+)(-([^\.]+)\.(\d+))?/)) !== null) {
94
+ [, major, minor, patch,, preReleaseType, preReleaseNumber] = match;
95
+ }
96
+ if (match === null) {
97
+ throw new Error(`Could not parse version from input: ${input}`);
98
+ }
99
+ let preRelease = undefined;
100
+ let buildNumber = 100;
101
+ if (preReleaseType && preReleaseNumber) {
102
+ preRelease = {
103
+ type: preReleaseType,
104
+ version: parseInt(preReleaseNumber)
105
+ };
106
+ }
107
+ if (build) {
108
+ buildNumber = Number(build);
109
+ } else if (input) {
110
+ const descriptionMatch = input.match(/(\d+)\)$/);
111
+ if (descriptionMatch) {
112
+ buildNumber = parseInt(descriptionMatch[1]);
113
+ }
114
+ }
115
+ return new cli.build.PackageVersion(parseInt(major), parseInt(minor), parseInt(patch), preRelease, buildNumber);
116
+ };
117
+
118
+ // https://regex101.com/r/LtGAu5/1
119
+ const logRegex = /console\.log\(\s*"([\w\s\.\(\)]+)\ *Copyright[\w\s\(\)\.]+(\d{4}|\d{4} - \d{4})([\w\s\(\)\.]+)?",?\s*\)/i;
120
+ const currentYear = new Date(Date.now()).getFullYear();
121
+ const getVersionFileHandler = location => {
122
+ const filePath = path__namespace.join(location.scriptsDir, "Version.ts");
123
+ const invalidVersionFile = () => ({
124
+ version: undefined,
125
+ write: (name, newVersion) => {
126
+ const scriptsContent = fs__namespace.readdirSync(location.scriptsDir);
127
+ const tsFiles = scriptsContent.filter(file => file.endsWith(".ts"));
128
+ if (tsFiles.length > 0) {
129
+ return createVersionFileWriter([currentYear], "")(name, newVersion);
130
+ }
131
+ },
132
+ reset: () => {
133
+ if (versionFile !== undefined) {
134
+ cli.build.FileUtil.writeFile(filePath, versionFile);
135
+ } else {
136
+ cli.build.FileUtil.deleteFile(filePath);
137
+ }
138
+ }
139
+ });
140
+ const createVersionFileWriter = (copyright = [currentYear], copyrightStuff = "") => (name, newVersion) => {
141
+ const descriptionText = newVersion.toDescriptionString(name);
142
+ const copyrightText = createYearString(copyright);
143
+ const result = `console.log("${descriptionText}. Copyright (C) ${copyrightText}${copyrightStuff}");`;
144
+ cli.build.FileUtil.writeFile(filePath, result);
145
+ };
146
+ let versionFile = cli.build.FileUtil.readFile(filePath);
147
+ if (versionFile === undefined) {
148
+ return invalidVersionFile();
149
+ }
150
+ versionFile = versionFile.replace(/\n/g, "");
151
+ const match = versionFile.match(logRegex);
152
+ if (!match) {
153
+ return invalidVersionFile();
154
+ }
155
+ const [_full, _description, copyright, copyrightStuff] = match;
156
+ const copyrightYears = copyright.match(/^(\d+)( ?- ?(\d+))?$/);
157
+ let years;
158
+ if (copyrightYears === null) {
159
+ years = [currentYear];
160
+ } else {
161
+ years = [Number(copyrightYears[1]), currentYear];
162
+ }
163
+ return {
164
+ write: createVersionFileWriter(years, copyrightStuff),
165
+ reset: () => {
166
+ cli.build.FileUtil.writeFile(filePath, versionFile);
167
+ }
168
+ };
169
+ };
170
+ const createYearString = years => {
171
+ if (years[1] === undefined || years[0] === years[1]) {
172
+ return years[0].toString();
173
+ }
174
+ return `${years[0]} - ${years[1]}`;
175
+ };
176
+
177
+ exports.getVersionFileHandler = getVersionFileHandler;
178
+ exports.getVersionInformationFromGit = getVersionInformationFromGit;
179
+ exports.getWorkspaceBannerText = getWorkspaceBannerText;
180
+ exports.parseVersionFromString = parseVersionFromString;
181
+ //# sourceMappingURL=versionFile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"versionFile.js","sources":["../src/lib/git.ts","../src/lib/banner.ts","../src/lib/parseVersion.ts","../src/lib/versionFile.ts"],"sourcesContent":["import simpleGit from \"simple-git\";\nimport * as path from \"path\";\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) {\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","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","import { PackageVersion } from \"@intelligentgraphics/ig.tools.core\";\n\nexport const parseVersionFromString = (input: string) => {\n\tif (input === undefined) {\n\t\tthrow new Error(`Can not parse version from undefined`);\n\t}\n\n\tlet match: RegExpMatchArray | null;\n\n\tlet major!: string;\n\tlet minor!: string;\n\tlet patch!: string;\n\tlet build: string | undefined;\n\tlet preReleaseType: string | undefined;\n\tlet preReleaseNumber: string | undefined;\n\n\tif (\n\t\t// first try to find a full match with build number\n\t\t(match = input.match(\n\t\t\t/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)(-([^\\.]+)\\.(\\d+))?/,\n\t\t)) !== null\n\t) {\n\t\t[, major, minor, patch, build, preReleaseType, preReleaseNumber] =\n\t\t\tmatch;\n\t} else if (\n\t\t(match = input.match(/(\\d+)\\.(\\d+)\\.(\\d+)(-([^\\.]+)\\.(\\d+))?/)) !== null\n\t) {\n\t\t[, major, minor, patch, , preReleaseType, preReleaseNumber] = match;\n\t}\n\n\tif (match === null) {\n\t\tthrow new Error(`Could not parse version from input: ${input}`);\n\t}\n\n\tlet preRelease: PackageVersion[\"preRelease\"] = undefined;\n\tlet buildNumber = 100;\n\n\tif (preReleaseType && preReleaseNumber) {\n\t\tpreRelease = {\n\t\t\ttype: preReleaseType,\n\t\t\tversion: parseInt(preReleaseNumber),\n\t\t};\n\t}\n\n\tif (build) {\n\t\tbuildNumber = Number(build);\n\t} else if (input) {\n\t\tconst descriptionMatch = input.match(/(\\d+)\\)$/);\n\n\t\tif (descriptionMatch) {\n\t\t\tbuildNumber = parseInt(descriptionMatch[1]);\n\t\t}\n\t}\n\n\treturn new PackageVersion(\n\t\tparseInt(major),\n\t\tparseInt(minor),\n\t\tparseInt(patch),\n\t\tpreRelease,\n\t\tbuildNumber,\n\t);\n};\n","import * as fs from \"fs\";\nimport * as path from \"path\";\n\nimport { FileUtil, PackageVersion } from \"@intelligentgraphics/ig.tools.core\";\n\nimport { PackageLocation } from \"./package\";\n\n// https://regex101.com/r/LtGAu5/1\nconst logRegex =\n\t/console\\.log\\(\\s*\"([\\w\\s\\.\\(\\)]+)\\ *Copyright[\\w\\s\\(\\)\\.]+(\\d{4}|\\d{4} - \\d{4})([\\w\\s\\(\\)\\.]+)?\",?\\s*\\)/i;\nconst currentYear = new Date(Date.now()).getFullYear();\n\nexport const getVersionFileHandler = (location: PackageLocation) => {\n\tconst filePath = path.join(location.scriptsDir, \"Version.ts\");\n\n\tconst invalidVersionFile = () => ({\n\t\tversion: undefined,\n\t\twrite: (name: string, newVersion: PackageVersion) => {\n\t\t\tconst scriptsContent = fs.readdirSync(location.scriptsDir);\n\t\t\tconst tsFiles = scriptsContent.filter((file) =>\n\t\t\t\tfile.endsWith(\".ts\"),\n\t\t\t);\n\n\t\t\tif (tsFiles.length > 0) {\n\t\t\t\treturn createVersionFileWriter([currentYear], \"\")(\n\t\t\t\t\tname,\n\t\t\t\t\tnewVersion,\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\treset: () => {\n\t\t\tif (versionFile !== undefined) {\n\t\t\t\tFileUtil.writeFile(filePath, versionFile);\n\t\t\t} else {\n\t\t\t\tFileUtil.deleteFile(filePath);\n\t\t\t}\n\t\t},\n\t});\n\n\ttype CopyrightRange = [number, number?];\n\n\tconst createVersionFileWriter =\n\t\t(\n\t\t\tcopyright: CopyrightRange = [currentYear],\n\t\t\tcopyrightStuff: string = \"\",\n\t\t) =>\n\t\t(name: string, newVersion: PackageVersion) => {\n\t\t\tconst descriptionText = newVersion.toDescriptionString(name);\n\t\t\tconst copyrightText = createYearString(copyright);\n\n\t\t\tconst result = `console.log(\"${descriptionText}. Copyright (C) ${copyrightText}${copyrightStuff}\");`;\n\n\t\t\tFileUtil.writeFile(filePath, result);\n\t\t};\n\n\tlet versionFile = FileUtil.readFile(filePath);\n\n\tif (versionFile === undefined) {\n\t\treturn invalidVersionFile();\n\t}\n\n\tversionFile = versionFile.replace(/\\n/g, \"\");\n\n\tconst match = versionFile.match(logRegex);\n\n\tif (!match) {\n\t\treturn invalidVersionFile();\n\t}\n\n\tconst [_full, _description, copyright, copyrightStuff] = match as [\n\t\tstring,\n\t\tstring,\n\t\tstring,\n\t\tstring?,\n\t];\n\n\tconst copyrightYears = copyright.match(/^(\\d+)( ?- ?(\\d+))?$/);\n\n\tlet years: [number, number?];\n\n\tif (copyrightYears === null) {\n\t\tyears = [currentYear];\n\t} else {\n\t\tyears = [Number(copyrightYears[1]), currentYear];\n\t}\n\n\treturn {\n\t\twrite: createVersionFileWriter(years, copyrightStuff),\n\t\treset: () => {\n\t\t\tFileUtil.writeFile(filePath, versionFile);\n\t\t},\n\t};\n};\n\nconst createYearString = (years: [number, number?]) => {\n\tif (years[1] === undefined || years[0] === years[1]) {\n\t\treturn years[0].toString();\n\t}\n\n\treturn `${years[0]} - ${years[1]}`;\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","getWorkspaceBannerText","manifest","bannerText","packager","banner","match","startYear","parseInt","endYear","Date","getFullYear","replace","parseVersionFromString","input","Error","major","minor","patch","build","preReleaseType","preReleaseNumber","preRelease","buildNumber","type","version","Number","descriptionMatch","PackageVersion","logRegex","currentYear","now","getVersionFileHandler","location","filePath","join","scriptsDir","invalidVersionFile","write","name","newVersion","scriptsContent","fs","readdirSync","tsFiles","filter","length","createVersionFileWriter","reset","versionFile","FileUtil","writeFile","deleteFile","copyright","copyrightStuff","descriptionText","toDescriptionString","copyrightText","createYearString","result","readFile","_full","_description","copyrightYears","years","toString"],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@intelligentgraphics/ig.gfx.packager",
3
- "version": "2.3.4",
4
- "description": "IG.GFX.Packager 2.3.4 (2.3.4.100)",
3
+ "version": "3.0.0-alpha.0",
4
+ "description": "IG.GFX.Packager 3.0.0 Alpha 0 (3.0.0.1)",
5
5
  "author": "Michael Beier <mb@intelligentgraphics.biz>",
6
6
  "main": "build/index.js",
7
7
  "private": false,
@@ -20,48 +20,45 @@
20
20
  "scripts"
21
21
  ],
22
22
  "scripts": {
23
- "dist": "webpack",
23
+ "dist": "rollup -c rollup.config.mjs",
24
24
  "clean": "rimraf build *.tsbuildinfo",
25
25
  "prepublishOnly": "yarn clean && yarn dist",
26
26
  "test": "jest",
27
- "_postinstall": "node scripts/postinstall.js",
28
27
  "format": "prettier --write \"**/*.{ts,tsx,json}\""
29
28
  },
30
29
  "dependencies": {
31
30
  "ajv": "^8.6.2",
32
31
  "axios": "^0.21.1",
33
32
  "core-js": "^3.16.0",
34
- "execa": "^5.1.1",
35
- "fs-extra": "^10.0.0",
36
33
  "glob": "^7.1.4",
34
+ "inquirer": "^9.1.4",
37
35
  "jszip": "^3.10.0",
38
- "rimraf": "^3.0.2",
36
+ "lodash": "^4.17.21",
37
+ "resolve": "^1.22.1",
39
38
  "simple-git": "^3.15.1",
40
39
  "source-map-support": "^0.5.19",
41
40
  "terser": "^4.8.0",
41
+ "tslib": "^2.4.1",
42
42
  "typedoc": "~0.23.2",
43
43
  "typescript": "~4.7.4",
44
44
  "update-notifier": "^5.1.0",
45
45
  "v8-compile-cache": "^2.1.1",
46
+ "write-pkg": "4",
46
47
  "y18n": "^5.0.8",
47
48
  "yargs": "^17.0.1"
48
49
  },
49
50
  "devDependencies": {
50
- "@babel/plugin-proposal-class-properties": "^7.18.6",
51
- "@babel/plugin-proposal-object-rest-spread": "^7.18.9",
52
51
  "@babel/preset-env": "^7.18.9",
52
+ "@babel/preset-typescript": "^7.18.6",
53
53
  "@intelligentgraphics/ig.tools.core": "^1.5.2",
54
54
  "@intelligentgraphics/ig.utilities": "^1.6.6",
55
- "@types/fs-extra": "^9.0.12",
55
+ "@rollup/plugin-babel": "^6.0.3",
56
+ "@rollup/plugin-commonjs": "^24.0.0",
57
+ "@rollup/plugin-node-resolve": "^15.0.1",
56
58
  "@types/glob": "^7.1.4",
57
59
  "@types/node": "^16.4.11",
58
- "@types/rimraf": "^3.0.1",
59
60
  "@types/update-notifier": "^5.1.0",
60
61
  "@types/yargs": "^17.0.2",
61
- "babel-loader": "^8.1.0",
62
- "ts-loader": "^9.2.5",
63
- "ts-node": "^10.1.0",
64
- "webpack": "^5.64.4",
65
- "webpack-cli": "^4.7.2"
62
+ "rollup": "^3.10.0"
66
63
  }
67
64
  }
package/readme.md CHANGED
@@ -2,14 +2,14 @@
2
2
 
3
3
  ## Requirements
4
4
 
5
- node.js (https://nodejs.org/en/download/) >= 14
5
+ node.js (https://nodejs.org/en/download/) >= 16
6
6
 
7
7
  ## Installation
8
8
 
9
- 1\. Install this package as a dev dependency
9
+ 1\. Install this package globally
10
10
 
11
11
  ```sh
12
- npm install --save-dev @intelligentgraphics/ig.gfx.packager@latest
12
+ npm install -g @intelligentgraphics/ig.gfx.packager@latest
13
13
  ```
14
14
 
15
15
  2\. Add a build and a release command to the package.json
@@ -19,7 +19,8 @@ npm install --save-dev @intelligentgraphics/ig.gfx.packager@latest
19
19
  "name": "a data repo",
20
20
  "scripts": {
21
21
  "build": "packager build",
22
- "upload": "packager publish"
22
+ "upload": "packager publish",
23
+ "postinstall": "package postinstall"
23
24
  }
24
25
  }
25
26
  ```
@@ -31,7 +32,8 @@ npm install --save-dev @intelligentgraphics/ig.gfx.packager@latest
31
32
  "name": "a data repo",
32
33
  "scripts": {
33
34
  "build": "packager build",
34
- "upload": "packager publish"
35
+ "upload": "packager publish",
36
+ "postinstall": "package postinstall"
35
37
  },
36
38
  "packager": {
37
39
  "banner": "This belongs to a data repo"
@@ -48,10 +50,8 @@ npm install --save-dev @intelligentgraphics/ig.gfx.packager@latest
48
50
  "private": true,
49
51
  "scripts": {
50
52
  "build": "packager build",
51
- "upload": "packager publish"
52
- },
53
- "devDependencies": {
54
- "@intelligentgraphics/ig.gfx.packager": "^2.0.0"
53
+ "upload": "packager publish",
54
+ "postinstall": "package postinstall"
55
55
  },
56
56
  "packager": {
57
57
  "banner": "This file is part of the IG.Graphics IGX Data Package. \n Copyright (C) 2015 - 2020 intelligentgraphics. All Rights Reserved."
@@ -61,7 +61,7 @@ npm install --save-dev @intelligentgraphics/ig.gfx.packager@latest
61
61
 
62
62
  ## Update
63
63
 
64
- You can update the installed package by running `npm install --save-dev @intelligentgraphics/ig.gfx.packager@latest` again.
64
+ You can update the installed package by running `npm install -g @intelligentgraphics/ig.gfx.packager@latest` again.
65
65
 
66
66
  ## Environment configuration
67
67
 
@@ -141,6 +141,37 @@ This command also allows the address and service to be overwritten. A list of al
141
141
  npm run upload -- --help
142
142
  ```
143
143
 
144
+ ### Declaring dependencies on ig libraries
145
+
146
+ Make sure to register a postinstall command in the workspace package.json if it's not yet set as shown in the installation examples.
147
+
148
+ A dependency can be declared by installing an npm package for the workspace either by manually adding it to the package.json of the workspace or by executing `npm install {packagename}.`
149
+
150
+ The following packages can be installed:
151
+
152
+ - @intelligentgraphics/3d.ig.gfx.core
153
+ - @intelligentgraphics/3d.ig.math
154
+ - @intelligentgraphics/3d.ig.gfx.standard
155
+ - @intelligentgraphics/3d.ig.gfx.furniture
156
+ - @intelligentgraphics/3d.igx.basic
157
+ - @intelligentgraphics/3d.igx.bath
158
+ - @intelligentgraphics/3d.igx.eval
159
+ - @intelligentgraphics/3d.igx.furniture
160
+ - @intelligentgraphics/3d.igx.geometry
161
+ - @intelligentgraphics/3d.igx.meshcreator
162
+ - @intelligentgraphics/3d.igx.upholstery
163
+
164
+ To install the package `IG.GFX.Standard` you can execute the command `npm install @intelligentgraphics/3d.ig.gfx.standard`.
165
+
166
+ In order to use the types of an installed package, a reference needs to be added to a typescript file of a package (generally an include.ts file).
167
+ You can add a reference by including the following comment at the top of the file:
168
+
169
+ ```ts
170
+ /// <reference types="@intelligentgraphics/3d.ig.gfx.standard" />
171
+ ```
172
+
173
+ The packager also replaces the content of the legacy definition files within the lib folder with a reference to the installed definition file, so old packages do not need to be updated.
174
+
144
175
  ### Migrating the build.txt
145
176
 
146
177
  Previous versions of this packager only provided the option to build packages but not to upload them.
@@ -278,6 +309,12 @@ The ts files have to adhere to a certain form to be processed.
278
309
 
279
310
  ## History
280
311
 
312
+ **IG.GFX.Packager 3.0.0-alpha.0**
313
+
314
+ - install globally instead of locally for every workspace
315
+ - add support for dependency uploading
316
+ - add support for library publishing
317
+
281
318
  **IG.GFX.Packager 2.3.4**
282
319
 
283
320
  - add comment to the top of built js and d.ts files containing the version, commit sha and date