diff --git a/Dockerfile b/Dockerfile index 78ae5fc..9202c40 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # FRONTEND -FROM node:16-alpine as client +FROM node:18-alpine as client WORKDIR /tmp RUN npm install -g pnpm@8 COPY . . diff --git a/package.json b/package.json index c610986..2823468 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "devDependencies": { "@playwright/test": "^1.32.3", "@types/node": "^18.16.1", - "npm-run-all": "^4.1.5" + "npm-run-all": "^4.1.5", + "shelljs": "^0.8.5" } } diff --git a/packages/backend/Cargo.lock b/packages/backend/Cargo.lock index 36cedfb..11e1e84 100644 --- a/packages/backend/Cargo.lock +++ b/packages/backend/Cargo.lock @@ -439,7 +439,7 @@ dependencies = [ [[package]] name = "cryptgeon" -version = "2.2.0" +version = "2.3.0-beta.4" dependencies = [ "actix-files", "actix-web", diff --git a/packages/backend/Cargo.toml b/packages/backend/Cargo.toml index 73166cf..00ffa0d 100644 --- a/packages/backend/Cargo.toml +++ b/packages/backend/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cryptgeon" -version = "2.2.0" +version = "2.3.0-beta.4" authors = ["cupcakearmy "] edition = "2021" diff --git a/packages/cli/package.json b/packages/cli/package.json index 60e20d6..848675e 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,5 +1,5 @@ { - "version": "2.3.0-beta.2", + "version": "2.3.0-beta.4", "name": "cryptgeon", "type": "module", "engines": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 234bb92..0334fc4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -13,6 +13,9 @@ importers: npm-run-all: specifier: ^4.1.5 version: 4.1.5 + shelljs: + specifier: ^0.8.5 + version: 0.8.5 packages/backend: {} @@ -1774,6 +1777,11 @@ packages: side-channel: 1.0.4 dev: true + /interpret@1.4.0: + resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} + engines: {node: '>= 0.10'} + dev: true + /into-stream@6.0.0: resolution: {integrity: sha512-XHbaOAvP+uFKUFsOgoNPRjLkwB+I22JFPFe5OjTkQ0nwgj6+pSjb4NmB6VMxaPshLiOf+zcpOCBQuLwC1KHhZA==} engines: {node: '>=10'} @@ -2501,6 +2509,13 @@ packages: picomatch: 2.3.1 dev: true + /rechoir@0.6.2: + resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} + engines: {node: '>= 0.10'} + dependencies: + resolve: 1.22.2 + dev: true + /regexp.prototype.flags@1.5.0: resolution: {integrity: sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==} engines: {node: '>= 0.4'} @@ -2673,6 +2688,16 @@ packages: resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} dev: true + /shelljs@0.8.5: + resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==} + engines: {node: '>=4'} + hasBin: true + dependencies: + glob: 7.2.3 + interpret: 1.4.0 + rechoir: 0.6.2 + dev: true + /side-channel@1.0.4: resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} dependencies: diff --git a/version.mjs b/version.mjs new file mode 100755 index 0000000..a897d72 --- /dev/null +++ b/version.mjs @@ -0,0 +1,20 @@ +#!/usr/bin/env node + +import shelljs from 'shelljs' +import { execSync } from 'node:child_process' + +const VERSION = process.argv[2] +// https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string +const semver = + /^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/gm +if (!semver.test(VERSION)) { + console.error('Invalid version number') + process.exit(1) +} + +// CLI +shelljs.sed('-i', /"version": ".*"/, `"version": "${process.argv[2]}"`, './packages/cli/package.json') + +// Backend +shelljs.sed('-i', /^version = ".*"$/m, `version = "${process.argv[2]}"`, './packages/backend/Cargo.toml') +execSync('cargo check -p cryptgeon', { cwd: './packages/backend' })