@intelligentgraphics/ig.gfx.packager 3.1.0-alpha.1 → 3.1.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/build/bin.mjs +1 -1
  2. package/build/{cli-fec9c069.mjs → cli-CuiqZ39_.mjs} +87 -82
  3. package/build/cli-CuiqZ39_.mjs.map +1 -0
  4. package/build/{dependencies-d870016d.mjs → dependencies-BiYItaVS.mjs} +2 -2
  5. package/build/{dependencies-d870016d.mjs.map → dependencies-BiYItaVS.mjs.map} +1 -1
  6. package/build/{generateIndex-dd0b4563.mjs → generateIndex-hg6jRXQv.mjs} +96 -83
  7. package/build/generateIndex-hg6jRXQv.mjs.map +1 -0
  8. package/build/{generateParameterType-9a671e36.mjs → generateParameterType-CDjqLM4J.mjs} +3 -4
  9. package/build/{generateParameterType-9a671e36.mjs.map → generateParameterType-CDjqLM4J.mjs.map} +1 -1
  10. package/build/{index-0caf1a6e.mjs → index-B2kXo6K7.mjs} +343 -119
  11. package/build/index-B2kXo6K7.mjs.map +1 -0
  12. package/build/{index-7fa42d48.mjs → index-BoGrZubW.mjs} +201 -188
  13. package/build/index-BoGrZubW.mjs.map +1 -0
  14. package/build/{postinstall-81b6f0b0.mjs → postinstall-CbMUz2zy.mjs} +3 -4
  15. package/build/{postinstall-81b6f0b0.mjs.map → postinstall-CbMUz2zy.mjs.map} +1 -1
  16. package/build/{publishNpm-c985bd6e.mjs → publishNpm-CrnuTwss.mjs} +14 -11
  17. package/build/publishNpm-CrnuTwss.mjs.map +1 -0
  18. package/build/rollup-UR3DADp8.mjs +198 -0
  19. package/build/rollup-UR3DADp8.mjs.map +1 -0
  20. package/build/scripts-Bfojy_uD.mjs +48 -0
  21. package/build/scripts-Bfojy_uD.mjs.map +1 -0
  22. package/build/versionFile-DSqOw-XB.mjs +208 -0
  23. package/build/versionFile-DSqOw-XB.mjs.map +1 -0
  24. package/lib/lib.mjs +2649 -18
  25. package/package.json +20 -15
  26. package/readme.md +126 -13
  27. package/build/cli-fec9c069.mjs.map +0 -1
  28. package/build/generateIndex-dd0b4563.mjs.map +0 -1
  29. package/build/index-0caf1a6e.mjs.map +0 -1
  30. package/build/index-7fa42d48.mjs.map +0 -1
  31. package/build/publishNpm-c985bd6e.mjs.map +0 -1
  32. package/build/scripts-7ed8dff6.mjs +0 -10
  33. package/build/scripts-7ed8dff6.mjs.map +0 -1
  34. package/build/swc-9ed0f3ce.mjs +0 -60
  35. package/build/swc-9ed0f3ce.mjs.map +0 -1
  36. package/build/versionFile-cbfd3f4a.mjs +0 -380
  37. package/build/versionFile-cbfd3f4a.mjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"versionFile-DSqOw-XB.mjs","sources":["../../tools.core/build/fs.mjs","../src/lib/git.ts","../src/lib/banner.ts","../src/lib/parseVersion.ts","../src/lib/versionFile.ts"],"sourcesContent":["import * as fs from 'fs';\nimport { isErrorENOENT } from './error.mjs';\n\nconst readStringFromFile = (filePath)=>fs.readFileSync(filePath, {\n encoding: \"utf8\"\n });\nconst readStringFromFileOrUndefined = (filePath)=>{\n try {\n return readStringFromFile(filePath);\n } catch (err) {\n if (!isErrorENOENT(err)) {\n throw err;\n }\n return undefined;\n }\n};\n\nexport { readStringFromFile, readStringFromFileOrUndefined };\n//# sourceMappingURL=fs.mjs.map\n","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","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 \"./packageVersion\";\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\n// 1000001001 -> 1.0.1.1\n// 1002017001 -> 1.2.17.1\nexport const parseVersionFromNumericVersion = (\n\tversion: number,\n): PackageVersion => {\n\tconst major = Math.floor(version / 1000000000);\n\tconst minor = Math.floor((version % 1000000000) / 1000000);\n\tconst patch = Math.floor((version % 1000000) / 1000);\n\tconst buildNumber = version % 1000;\n\n\treturn new PackageVersion(major, minor, patch, undefined, buildNumber);\n};\n","import * as fs from \"fs\";\nimport * as path from \"path\";\n\nimport { isErrorENOENT } from \"./error\";\nimport { readStringFromFileOrUndefined } from \"./fs\";\nimport { PackageLocation } from \"./package\";\nimport { PackageVersion } from \"./packageVersion\";\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 function getVersionFileHandler(location: PackageLocation) {\n\tconst filePath = path.join(location.scriptsDir, \"Version.ts\");\n\n\tfunction invalidVersionFile(\n\t\tversionFile: string | undefined,\n\t\texists: boolean,\n\t) {\n\t\treturn {\n\t\t\texists,\n\t\t\twrite: (name: string, newVersion: PackageVersion) => {\n\t\t\t\tconst scriptsContent = fs.readdirSync(location.scriptsDir);\n\t\t\t\tconst tsFiles = scriptsContent.filter((file) =>\n\t\t\t\t\tfile.endsWith(\".ts\"),\n\t\t\t\t);\n\n\t\t\t\tif (tsFiles.length > 0) {\n\t\t\t\t\treturn createVersionFileWriter([currentYear], \"\")(\n\t\t\t\t\t\tname,\n\t\t\t\t\t\tnewVersion,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t},\n\t\t\treset: () => {\n\t\t\t\tif (versionFile !== undefined) {\n\t\t\t\t\tfs.writeFileSync(filePath, versionFile, {\n\t\t\t\t\t\tencoding: \"utf8\",\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tfs.rmSync(filePath);\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\tif (!isErrorENOENT(err)) {\n\t\t\t\t\t\t\tthrow err;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t};\n\t}\n\n\ttype CopyrightRange = [number, number?];\n\n\tfunction createVersionFileWriter(\n\t\tcopyright: CopyrightRange = [currentYear],\n\t\tcopyrightStuff: string = \"\",\n\t) {\n\t\treturn (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\tfs.writeFileSync(filePath, result, { encoding: \"utf-8\" });\n\t\t};\n\t}\n\n\tlet rawVersionFile = readStringFromFileOrUndefined(filePath);\n\n\tif (rawVersionFile === undefined) {\n\t\treturn invalidVersionFile(rawVersionFile, false);\n\t}\n\n\tconst versionFile = rawVersionFile.replace(/\\n/g, \"\");\n\n\tconst match = versionFile.match(logRegex);\n\n\tif (!match) {\n\t\treturn invalidVersionFile(versionFile, true);\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\texists: true,\n\t\twrite: createVersionFileWriter(years, copyrightStuff),\n\t\treset: () => {\n\t\t\tfs.writeFileSync(filePath, versionFile, { encoding: \"utf8\" });\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":["readStringFromFile","filePath","fs","readFileSync","encoding","readStringFromFileOrUndefined","err","isErrorENOENT","undefined","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","substring","commitDate","date","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","parseVersionFromNumericVersion","Math","floor","logRegex","currentYear","now","getVersionFileHandler","location","join","scriptsDir","invalidVersionFile","versionFile","exists","write","name","newVersion","scriptsContent","readdirSync","tsFiles","filter","length","createVersionFileWriter","reset","writeFileSync","rmSync","copyright","copyrightStuff","descriptionText","toDescriptionString","copyrightText","createYearString","result","rawVersionFile","_full","_description","copyrightYears","years","toString"],"mappings":"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"}