{"_id":"@bigfootds/unity-semver-updater","_rev":"4-ebf0500c6551211221caa48189d8f6a8","name":"@bigfootds/unity-semver-updater","dist-tags":{"latest":"0.1.0"},"versions":{"0.0.3":{"name":"@bigfootds/unity-semver-updater","version":"0.0.3","keywords":["unity","gamedev","cicd","ci","semver","utility"],"author":{"url":"https://github.com/AlexStormwood","name":"Alex Stormwood","email":"alex@bigfootds.com"},"license":"MIT","_id":"@bigfootds/unity-semver-updater@0.0.3","maintainers":[{"name":"alexstormwood","email":"alex@bigfootds.com"}],"homepage":"https://github.com/BigfootDS/unity-semver-updater#readme","bugs":{"url":"https://github.com/BigfootDS/unity-semver-updater/issues"},"dist":{"shasum":"0851d1c79e2616daa5c2a5e012f0ba1d8e781e23","tarball":"https://registry.npmjs.org/@bigfootds/unity-semver-updater/-/unity-semver-updater-0.0.3.tgz","fileCount":20,"integrity":"sha512-NMAplqYL5vms9dQshxlOplOYAxStU0j8cCZ6rvNgau6TMsiCupg01u8Sk0f+WnJSBT48IrJZzo1/lus3kZJX0Q==","signatures":[{"sig":"MEYCIQC1KHyC7n4E8F8U/RQTWn9aC2vsEaly5zqXeE273iTvcAIhAMQIUL5v8usRbt7/VUKmD+wWvL0FFq41Km7J4PE9irIX","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":58297},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"2f9a895ed657e103ab0e05e8e1b5a09e18c15436","scripts":{"dev":"ts-node ./src/index.ts","test":"jest","build:code":"tsc","build:docs":"jsdoc ./src -r -c ./jsdoc.json"},"_npmUser":{"name":"alexstormwood","email":"alex@bigfootds.com"},"repository":{"url":"git+https://github.com/BigfootDS/unity-semver-updater.git","type":"git"},"_npmVersion":"10.7.0","description":"NodeJS tool to update a Unity project's version to a specified format - typically the semver format.","directories":{},"_nodeVersion":"20.15.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","typescript":"^5.5.3","@types/node":"^20.14.10"},"_npmOperationalInternal":{"tmp":"tmp/unity-semver-updater_0.0.3_1720358641813_0.5729945149099709","host":"s3://npm-registry-packages"}},"0.0.5":{"name":"@bigfootds/unity-semver-updater","version":"0.0.5","keywords":["unity","gamedev","cicd","ci","semver","utility"],"author":{"url":"https://github.com/AlexStormwood","name":"Alex Stormwood","email":"alex@bigfootds.com"},"license":"MIT","_id":"@bigfootds/unity-semver-updater@0.0.5","maintainers":[{"name":"alexstormwood","email":"alex@bigfootds.com"}],"homepage":"https://github.com/BigfootDS/unity-semver-updater#readme","bugs":{"url":"https://github.com/BigfootDS/unity-semver-updater/issues"},"dist":{"shasum":"4fa4602831856b28fe9c102a78125e8517acae57","tarball":"https://registry.npmjs.org/@bigfootds/unity-semver-updater/-/unity-semver-updater-0.0.5.tgz","fileCount":23,"integrity":"sha512-akieZbI8gbJb5sh9HE9RmlmrYjBeJ9brr7lFdVI7ufFNHv1sEIzl6NEE2J7ovclr1/v0sbCNdRhQd/j8NFe0Jg==","signatures":[{"sig":"MEYCIQD36hWW7d1j4iFOwQnLz+dXidBlZM2l1tBKhJuFSoZZDQIhANwXfQxQq/PXK5aXmY1kGwqYNhAx4BbwxOjGF+jF/k2Z","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":64680},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"91e33190bba91950e6ed55811f0fd78842db6fe3","scripts":{"dev":"ts-node ./src/index.ts","test":"jest","build:code":"tsc","build:docs":"jsdoc ./src -r -c ./jsdoc.json"},"_npmUser":{"name":"alexstormwood","email":"alex@bigfootds.com"},"repository":{"url":"git+https://github.com/BigfootDS/unity-semver-updater.git","type":"git"},"_npmVersion":"10.7.0","description":"NodeJS tool to update a Unity project's version to a specified format - typically the semver format.","directories":{},"_nodeVersion":"20.15.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","typescript":"^5.5.3","@types/node":"^20.14.10"},"_npmOperationalInternal":{"tmp":"tmp/unity-semver-updater_0.0.5_1720601623033_0.5630744431946502","host":"s3://npm-registry-packages"}},"0.0.7":{"name":"@bigfootds/unity-semver-updater","version":"0.0.7","keywords":["unity","gamedev","cicd","ci","semver","utility"],"author":{"name":"BigfootDS"},"license":"MIT","_id":"@bigfootds/unity-semver-updater@0.0.7","maintainers":[{"name":"alexstormwood","email":"alex@bigfootds.com"}],"homepage":"https://github.com/BigfootDS/pkg-unity-semver-updater#readme","bugs":{"url":"https://github.com/BigfootDS/pkg-unity-semver-updater/issues"},"dist":{"shasum":"107b81da7ac88b70a44b8c1ee5b7d6349150f2f2","tarball":"https://registry.npmjs.org/@bigfootds/unity-semver-updater/-/unity-semver-updater-0.0.7.tgz","fileCount":27,"integrity":"sha512-axt5S7O+OxvCkMgkzDtPsBmGbyrDIwyVk09MjVA0ltqriffAV0GjrXicgVskc36u0sGASZPiU1vSWFSFaGajzA==","signatures":[{"sig":"MEQCIAN2Zl6M1epxR1FEeupS5FZ6XRx+zTHhZeeG69v2EGddAiBVu+ansfCcSyy6EQ2UoQqyRt5HN92QFF/x5bmQo+Uh/A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIAa2SGf09vtXiIsr7THowGVQKIYGz/PrzbJNGV3N28BEAiEAoQqHr/ZX2fRggkK3B2SeQNFdbVAwcnp3diBowcGZ/R4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bigfootds%2funity-semver-updater@0.0.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":46788},"main":"./dist/index.js","type":"commonjs","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"30ceffd343c889500f9c48b5da1840d3c631af92","scripts":{"test":"npm run build && node --test test/*.test.js","build":"tsc --project tsconfig.json","prepack":"npm run build","build:code":"npm run build","pack:check":"npm pack --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4a581c27-fb9b-44b9-ab00-0b8cac3a3565"}},"repository":{"url":"git+https://github.com/BigfootDS/pkg-unity-semver-updater.git","type":"git"},"_npmVersion":"11.17.0","description":"Update Unity PlayerSettings version values from Node.js.","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"^24.13.3"},"_npmOperationalInternal":{"tmp":"tmp/unity-semver-updater_0.0.7_1787287287610_0.5210065171303029","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"_id":"@bigfootds/unity-semver-updater@0.1.0","bugs":{"url":"https://github.com/BigfootDS/pkg-unity-semver-updater/issues"},"dist":{"shasum":"cea66634940563a51d42076fcab58c4eccd39316","tarball":"https://registry.npmjs.org/@bigfootds/unity-semver-updater/-/unity-semver-updater-0.1.0.tgz","fileCount":27,"integrity":"sha512-elhvmcuNwlA8a24lc6DG1owvGuHPJPH6ZDHjzJRmVSIkTn7K4alZS99nEU6mtEJAgxouBMoaqcLJAWPURVpGPQ==","signatures":[{"sig":"MEQCIFjIE0g+OnHsQLE6L56JL5Lh1OJH5n0JlTFrBp5GDZ5PAiAKDDk6qymcUsu1iMnU6S182vg9GOPlzjUx9XmDS5Ulcw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQChjC0c0615OrIimj5/8ak7OkjhlNk4HbV0OfYbURczvQIhAP5LBYqHOkVx9J0omX0o2V7N+FkV4FQ4AqDRMmuBnv0G"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bigfootds%2funity-semver-updater@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":47228},"main":"./dist/index.js","name":"@bigfootds/unity-semver-updater","type":"commonjs","types":"./dist/index.d.ts","author":{"name":"BigfootDS"},"engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"e93b5aa0bead8f2b559f57e954edaa3aa8b197b5","license":"MIT","scripts":{"test":"npm run build && node --test test/*.test.js","build":"tsc --project tsconfig.json","prepack":"npm run build","build:code":"npm run build","pack:check":"npm pack --dry-run"},"version":"0.1.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4a581c27-fb9b-44b9-ab00-0b8cac3a3565"}},"homepage":"https://github.com/BigfootDS/pkg-unity-semver-updater#readme","keywords":["unity","gamedev","cicd","ci","semver","utility"],"repository":{"url":"git+https://github.com/BigfootDS/pkg-unity-semver-updater.git","type":"git"},"_npmVersion":"11.17.0","description":"Update Unity PlayerSettings version values from Node.js.","directories":{},"maintainers":[{"name":"alexstormwood","email":"alex@bigfootds.com"}],"_nodeVersion":"24.19.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"^24.13.3"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/unity-semver-updater_0.1.0_1787803231962_0.9531251475465958"}}},"time":{"created":"2024-07-07T13:24:01.670Z","modified":"2026-08-27T04:00:32.383Z","0.0.3":"2024-07-07T13:24:01.964Z","0.0.5":"2024-07-10T08:53:43.215Z","0.0.7":"2026-08-21T04:41:27.701Z","0.1.0":"2026-08-27T04:00:32.036Z"},"bugs":{"url":"https://github.com/BigfootDS/pkg-unity-semver-updater/issues"},"author":{"name":"BigfootDS"},"license":"MIT","homepage":"https://github.com/BigfootDS/pkg-unity-semver-updater#readme","keywords":["unity","gamedev","cicd","ci","semver","utility"],"repository":{"url":"git+https://github.com/BigfootDS/pkg-unity-semver-updater.git","type":"git"},"description":"Update Unity PlayerSettings version values from Node.js.","maintainers":[{"name":"alexstormwood","email":"alex@bigfootds.com"}],"readme":"# @bigfootds/unity-semver-updater\n\nNodeJS tool to update a Unity project's version to a specified format - typically the semver format.\n\n## Requirements\n\nNode.js 20 or later.\n\nThe intention is that this package exists separate from any automation workflow actions that might use it, so we can quickly prototype and iterate on the logic without the hassle of running automated workflows. Looking at you, GitHub Actions, and how painful it is to run things locally.\n\nFor example, this GitHub Action uses this package as the core of its logic:\n\n- [AlexStormwood/UnityAutomatedSemver](https://github.com/AlexStormwood/UnityAutomatedSemver)\n\nIf you wanna use this package in your own actions, or you just wish to modify it or archive it or do whatever with it, you can do so - this package is licensed with MIT license!\n\n## Installation\n\nInstall this package from the NPM registry into your NodeJS project by running: \n\n`npm install @bigfootds/unity-semver-updater`\n\n## Usage\n\n```js\nconst { findProjectSettingsPath } = require(\"../src/utils/autoFindProjectSettings\"); // not part of the library - logic to glob files is not part of this package\n\nconst {\n\tProjectSettingsHelpers\n} = require(\"@bigfootds/unity-semver-updater\");\n\nasync function app (){\n\n\tlet targetFiles = await findProjectSettingsPath();\n\tlet targetFile = targetFiles[0];\n\n\tlet result = await ProjectSettingsHelpers.getExistingBundleVersion(targetFile);\n\n\tconsole.log(\"String formatter example:\");\n\n\t// Default, per the semver spec:\n\tconsole.log(result.toString());\n\tconsole.log(result.toFormattedOutput());\n\n\t// Custom formats:\n\tconsole.log(result.toFormattedOutput(\"{major}-banana-{minor}\"));\n\n\t// Typical version number structures per the Unity docs:\n\tlet valuesToWrite = {\n\t\tbundleVersion: result.toFormattedOutput(\"{major}.{minor}.{patch}-{releaseLabel}+{buildLabel}\"),\n\t\tbuildNumber: {\n\t\t\tStandalone: Number.parseInt(result.toFormattedOutput(\"{major}{minor}{patch}\")),\n\t\t\tiPhone: Number.parseInt(result.toFormattedOutput(\"{major}{minor}{patch}\")),\n\t\t\ttvOS: Number.parseInt(result.toFormattedOutput(\"{major}{minor}{patch}\"))\n\t\t},\n\t\tswitchReleaseVersion: Number.parseInt(result.toFormattedOutput(\"{major}{minor}{patch}\")),\n\t\tswitchDisplayVersion: result.toFormattedOutput(\"{major}.{minor}.{patch}\"),\n\t\tps4MasterVersion: result.toFormattedOutput(\"{major}.{minor}\"),\n\t\tps4AppVersion: result.toFormattedOutput(\"{major}.{minor}\"),\n\t\tmetroPackageVersion: result.toFormattedOutput(\"{major}.{minor}.{patch}.{build}\"),\n\t\tXboxOneVersion: result.toFormattedOutput(\"{major}.{minor}.{patch}.{build}\"),\n\t\tpsp2MasterVersion: result.toFormattedOutput(\"{major}.{minor}\"),\n\t\tpsp2AppVersion: result.toFormattedOutput(\"{major}.{minor}\")\n\t}\n\n\t// Write a PlayerSettingsVersionStrings instance to the ProjectSettings.asset file:\n\tlet writeResult = await ProjectSettingsHelpers.writeToProjectSettings(targetFile, valuesToWrite);\n\n\t// Boolean file update result:\n\tconsole.log(\"Write result: \" + writeResult);\n}\n\napp();\n```\n\nWhen reading an existing `bundleVersion`, pass the same format string used to write it. Literal text is preserved, so `Version {major}.{minor}.{patch} beta` reads `Version 1.2.3 beta` as the semantic version `1.2.3`.\n\nWhen the above code is run and the `ProjectSettings.asset` file contains `bundleVersion: 0.1.0.0-rc1`, this will be the output:\n\n```\nString formatter example:\n0.1.0-rc1\n0.1.0\n0-banana-1\nWrite result: true\n```\n\n## Development\n\n```sh\nnpm ci\nnpm test\nnpm run pack:check\n```\n\n## Releases\n\nCD releases every conventional commit that reaches `main`; do not manually edit `package.json`'s version or create release tags. The highest-impact commit since the previous release determines the version:\n\n- `feat:` creates a minor release.\n- `type!:` or a `BREAKING CHANGE:` footer creates a major release.\n- Any other conventional commit type creates a patch release.\n\nThe workflow rejects a non-conventional commit that reaches `main`, commits the generated version, creates its `vX.Y.Z` tag and GitHub release, then publishes with npm Trusted Publishing. All feature work should use conventional commits and be merged into `main` through a pull request. If squash-merging, ensure the resulting squash commit (usually the pull request title) is conventional too.\n","readmeFilename":"README.md"}