From b115dc3654996f049837bfb6b5d039a2313df0ad Mon Sep 17 00:00:00 2001 From: Leifer Mendez Date: Thu, 8 Dec 2022 21:56:34 +0100 Subject: [PATCH] feat(ci): :art: add releases --- .github/workflows/ci.yml | 2 +- .prettierignore | 2 +- packages/docs/package.json | 84 +++++++++++++++++++------------------- scripts/release.js | 33 +++++++++++++++ 4 files changed, 77 insertions(+), 44 deletions(-) create mode 100644 scripts/release.js diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8299bf9..6eb247b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -4,7 +4,7 @@ on: push: branches: [dev] pull_request: - branches: [main, dev] + branches: [main] jobs: build: diff --git a/.prettierignore b/.prettierignore index 4f7ce3d..547ec21 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,5 +1,5 @@ packages/**/lib -packages/docs +packages/docs/*.json **/.git **/.svn **/.hg diff --git a/packages/docs/package.json b/packages/docs/package.json index 7a94d17..c5955ac 100644 --- a/packages/docs/package.json +++ b/packages/docs/package.json @@ -1,44 +1,44 @@ { - "name": "bot-whatsapp-docs", - "version": "0.0.1", - "description": "Basic start point to build a docs site with Qwik", - "engines": { - "node": ">=15.0.0" - }, - "private": true, - "scripts": { - "build": "qwik build", - "build.client": "vite build", - "build.preview": "vite build --ssr src/entry.preview.tsx", - "build.server": "vite build -c adaptors/cloudflare-pages/vite.config.ts", - "build.types": "tsc --incremental --noEmit", - "deploy": "wrangler pages dev ./dist", - "dev": "vite --mode ssr", - "dev.debug": "node --inspect-brk ./node_modules/vite/bin/vite.js --mode ssr --force", - "fmt": "prettier --write .", - "fmt.check": "prettier --check .", - "lint": "eslint \"src/**/*.ts*\"", - "preview": "qwik build preview && vite preview --open", - "start": "vite --open --mode ssr", - "qwik": "qwik" - }, - "devDependencies": { - "@builder.io/qwik": "0.14.1", - "@builder.io/qwik-city": "0.0.127", - "@types/eslint": "8.4.10", - "@types/node": "latest", - "@typescript-eslint/eslint-plugin": "5.43.0", - "@typescript-eslint/parser": "5.43.0", - "autoprefixer": "10.4.11", - "eslint": "8.28.0", - "eslint-plugin-qwik": "0.14.1", - "node-fetch": "3.3.0", - "postcss": "^8.4.16", - "prettier": "2.7.1", - "tailwindcss": "^3.1.8", - "typescript": "4.9.3", - "vite": "3.2.4", - "vite-tsconfig-paths": "3.5.0", - "wrangler": "latest" - } + "name": "bot-whatsapp-docs", + "version": "0.0.1", + "description": "Basic start point to build a docs site with Qwik", + "engines": { + "node": ">=15.0.0" + }, + "private": true, + "scripts": { + "build": "qwik build", + "build.client": "vite build", + "build.preview": "vite build --ssr src/entry.preview.tsx", + "build.server": "vite build -c adaptors/cloudflare-pages/vite.config.ts", + "build.types": "tsc --incremental --noEmit", + "deploy": "wrangler pages dev ./dist", + "dev": "vite --mode ssr", + "dev.debug": "node --inspect-brk ./node_modules/vite/bin/vite.js --mode ssr --force", + "fmt": "prettier --write .", + "fmt.check": "prettier --check .", + "lint": "eslint \"src/**/*.ts*\"", + "preview": "qwik build preview && vite preview --open", + "start": "vite --open --mode ssr", + "qwik": "qwik" + }, + "devDependencies": { + "@builder.io/qwik": "0.14.1", + "@builder.io/qwik-city": "0.0.127", + "@types/eslint": "8.4.10", + "@types/node": "latest", + "@typescript-eslint/eslint-plugin": "5.43.0", + "@typescript-eslint/parser": "5.43.0", + "autoprefixer": "10.4.11", + "eslint": "8.28.0", + "eslint-plugin-qwik": "0.14.1", + "node-fetch": "3.3.0", + "postcss": "^8.4.16", + "prettier": "2.7.1", + "tailwindcss": "^3.1.8", + "typescript": "4.9.3", + "vite": "3.2.4", + "vite-tsconfig-paths": "3.5.0", + "wrangler": "latest" + } } diff --git a/scripts/release.js b/scripts/release.js new file mode 100644 index 0000000..213c2af --- /dev/null +++ b/scripts/release.js @@ -0,0 +1,33 @@ +const { writeFile, readFileSync } = require('fs') +const { join } = require('path') +const PATH_PACKAGES = join(__dirname, '..', `packages`) +const [PKG_ARG, PKG_ARG_VERSION] = process.argv.slice(2) || [null] + +/** + * Actualizar ramdon version de package + * @param {*} packageName + */ +const updateVersion = (packageName = null, number = null) => { + if (!packageName) throw new Error(`PATH_ERROR_PACKAGE: ${packageName}`) + const pkgJson = join(PATH_PACKAGES, packageName, 'package.json') + const rawFile = readFileSync(pkgJson, 'utf-8') + + if (!rawFile) throw new Error(`ERROR_FILE_READ`) + let pkgJsonObject = JSON.parse(rawFile) + const build = !number ? Date.now() : number + let [versionNumber] = pkgJsonObject.version.split('-') + pkgJsonObject.version = !number ? `${versionNumber}-${build}` : `${number}` + pkgJsonObject = JSON.stringify(pkgJsonObject) + writeFile(pkgJson, pkgJsonObject, (err) => { + if (err) throw err + }) +} + +/** + * Recibe los argumentos entrantes + */ +if (PKG_ARG) { + const pkgName = PKG_ARG ? PKG_ARG.split('=').at(1) : null + const pkgNumber = PKG_ARG_VERSION ? PKG_ARG_VERSION.split('=').at(1) : null + updateVersion(pkgName, pkgNumber) +}