diff --git a/package.json b/package.json index d26bd854..af6c8a1c 100644 --- a/package.json +++ b/package.json @@ -40,6 +40,7 @@ "@types/babel__plugin-transform-runtime": "^7.9.5", "@types/eslint-config-prettier": "^6.11.3", "@types/node": "^25.6.0", + "@types/semver": "^7.7.1", "@webos-tools/cli": "github:fire332/webos-cli#6cfbcf231a0fa1e50519d370ee6e5edc71c4998a", "babel-loader": "^10.1.1", "babel-plugin-polyfill-corejs3": "^0.14.2", @@ -58,6 +59,7 @@ "postcss-loader": "^8.2.1", "postcss-preset-env": "^11.2.1", "prettier": "^3.8.2", + "semver": "^7.7.3", "style-loader": "^4.0.0", "terser-webpack-plugin": "^5.4.0", "transform-async-modules-webpack-plugin": "^1.1.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 282f00a6..e5a1a334 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -54,6 +54,9 @@ importers: '@types/node': specifier: ^25.6.0 version: 25.6.0 + '@types/semver': + specifier: ^7.7.1 + version: 7.7.1 '@webos-tools/cli': specifier: github:fire332/webos-cli#6cfbcf231a0fa1e50519d370ee6e5edc71c4998a version: https://codeload.github.com/fire332/webos-cli/tar.gz/6cfbcf231a0fa1e50519d370ee6e5edc71c4998a(@types/node@25.6.0) @@ -111,6 +114,9 @@ importers: prettier: specifier: ^3.8.2 version: 3.8.2 + semver: + specifier: ^7.7.3 + version: 7.7.4 style-loader: specifier: ^4.0.0 version: 4.0.0(webpack@5.106.1) @@ -1238,6 +1244,9 @@ packages: '@types/node@25.6.0': resolution: {integrity: sha512-+qIYRKdNYJwY3vRCZMdJbPLJAtGjQBudzZzdzwQYkEPQd+PJGixUL5QfvCLDaULoLv+RhT3LDkwEfKaAkgSmNQ==} + '@types/semver@7.7.1': + resolution: {integrity: sha512-FmgJfu+MOcQ370SD0ev7EI8TlCAfKYU+B4m5T3yXc1CiRN94g/SZPtsCkk506aUDtlMnFZvasDwHHUcZUEaYuA==} + '@typescript-eslint/types@8.58.2': resolution: {integrity: sha512-9TukXyATBQf/Jq9AMQXfvurk+G5R2MwfqQGDR2GzGz28HvY/lXNKGhkY+6IOubwcquikWk5cjlgPvD2uAA7htQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -4968,6 +4977,8 @@ snapshots: dependencies: undici-types: 7.19.2 + '@types/semver@7.7.1': {} + '@typescript-eslint/types@8.58.2': {} '@webassemblyjs/ast@1.14.1': diff --git a/webpack.config.js b/webpack.config.js index fef4fea1..b2869582 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -4,14 +4,17 @@ import TerserPlugin from 'terser-webpack-plugin'; import pkgJson from './package.json' with { type: 'json' }; import webpack from 'webpack'; import { basename } from 'node:path'; +import { SemVer } from 'semver'; -/** +/** Inject the version from `package.json` with an extreme offset to prevent auto updates. * @param input {Buffer} * @returns {string} */ function transformAppInfo(input) { const appInfo = JSON.parse(input.toString()); - appInfo.version = pkgJson.version; + const newVersion = new SemVer(pkgJson.version); + newVersion.major += 100; + appInfo.version = newVersion.format(); return JSON.stringify(appInfo, null, 2); }