From 6054696cbc185146713dbbee5455fbc9204938c9 Mon Sep 17 00:00:00 2001 From: Austin Turner Date: Sun, 14 Jul 2024 14:10:54 -0600 Subject: [PATCH] Added web-extension release process --- .release-it-web-ext.json | 29 ++++++++++ .release-it.json | 4 +- .../{src => }/jest.config.ts | 1 - .../jetstream-web-extension/src/manifest.json | 2 +- .../tsconfig.spec.json | 3 +- .../lib/__tests__/web-extension-utils.spec.ts | 7 --- libs/web-extension-utils2/src/index copy.ts | 3 + package.json | 3 +- yarn.lock | 58 +++++++++---------- 9 files changed, 68 insertions(+), 42 deletions(-) create mode 100644 .release-it-web-ext.json rename apps/jetstream-web-extension/{src => }/jest.config.ts (82%) delete mode 100644 libs/web-extension-utils/src/lib/__tests__/web-extension-utils.spec.ts create mode 100644 libs/web-extension-utils2/src/index copy.ts diff --git a/.release-it-web-ext.json b/.release-it-web-ext.json new file mode 100644 index 000000000..f7280ca38 --- /dev/null +++ b/.release-it-web-ext.json @@ -0,0 +1,29 @@ +{ + "$schema": "https://unpkg.com/release-it@17/schema/release-it.json", + "plugins": { + "@release-it/bumper": { + "in": "apps/jetstream-web-extension/src/manifest.json", + "out": "apps/jetstream-web-extension/src/manifest.json" + } + }, + "git": { + "tagAnnotation": "Release web extension ${version}", + "commitMessage": "chore: release web extension ${version}", + "tag": true, + "tagName": "web-ext-v${version}" + }, + "npm": false, + "github": { + "release": true, + "releaseName": "Jetstream Web Extension ${version}", + "assets": ["dist/jetstream-web-extension-${version}.zip"] + }, + "hooks": { + "after:bump": [ + "npx prettier --write apps/jetstream-web-extension/src/manifest.json", + "yarn build:web-extension", + "cd dist/apps/jetstream-web-extension zip -r ../../jetstream-web-extension-${version}.zip *" + ], + "after:release": "echo Successfully released ${name} v${version}." + } +} diff --git a/.release-it.json b/.release-it.json index f045294f5..a54c6bc16 100644 --- a/.release-it.json +++ b/.release-it.json @@ -1,4 +1,5 @@ { + "$schema": "https://unpkg.com/release-it@17/schema/release-it.json", "plugins": {}, "git": { "commitMessage": "chore: release ${version}", @@ -10,7 +11,8 @@ "publish": false }, "github": { - "release": true + "release": true, + "releaseName": "Jetstream ${version}" }, "hooks": { "before:init": ["yarn test:all", "SKIP_ROLLBAR=true yarn build"], diff --git a/apps/jetstream-web-extension/src/jest.config.ts b/apps/jetstream-web-extension/jest.config.ts similarity index 82% rename from apps/jetstream-web-extension/src/jest.config.ts rename to apps/jetstream-web-extension/jest.config.ts index 4d3bb5227..57d166e9f 100644 --- a/apps/jetstream-web-extension/src/jest.config.ts +++ b/apps/jetstream-web-extension/jest.config.ts @@ -7,5 +7,4 @@ export default { '^.+\\.[tj]sx?$': ['babel-jest', { presets: ['@nx/react/babel'] }], }, moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx'], - coverageDirectory: '../../coverage/apps/jetstream-web-extension', }; diff --git a/apps/jetstream-web-extension/src/manifest.json b/apps/jetstream-web-extension/src/manifest.json index 92de036b9..bfaf83a29 100644 --- a/apps/jetstream-web-extension/src/manifest.json +++ b/apps/jetstream-web-extension/src/manifest.json @@ -1,7 +1,7 @@ { "name": "Jetstream", "description": "Jetstream is a set of tools that supercharge your administration of Salesforce.com.", - "version": "1.0", + "version": "0.0.1", "manifest_version": 3, "action": { "default_popup": "popup.html" diff --git a/apps/jetstream-web-extension/tsconfig.spec.json b/apps/jetstream-web-extension/tsconfig.spec.json index 6306666a1..e5d4e8064 100644 --- a/apps/jetstream-web-extension/tsconfig.spec.json +++ b/apps/jetstream-web-extension/tsconfig.spec.json @@ -13,7 +13,8 @@ "src/**/*.spec.js", "src/**/*.test.jsx", "src/**/*.spec.jsx", - "src/**/*.d.ts" + "src/**/*.d.ts", + "jest.config.ts" ], "files": ["../../node_modules/@nx/react/typings/cssmodule.d.ts", "../../node_modules/@nx/react/typings/image.d.ts"] } diff --git a/libs/web-extension-utils/src/lib/__tests__/web-extension-utils.spec.ts b/libs/web-extension-utils/src/lib/__tests__/web-extension-utils.spec.ts deleted file mode 100644 index e96df2f6b..000000000 --- a/libs/web-extension-utils/src/lib/__tests__/web-extension-utils.spec.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { webExtensionUtils } from '../web-extension-utils'; - -describe('webExtensionUtils', () => { - it('should work', () => { - expect(webExtensionUtils()).toEqual('web-extension-utils'); - }); -}); diff --git a/libs/web-extension-utils2/src/index copy.ts b/libs/web-extension-utils2/src/index copy.ts new file mode 100644 index 000000000..ab7a9532d --- /dev/null +++ b/libs/web-extension-utils2/src/index copy.ts @@ -0,0 +1,3 @@ +export * from './lib/extension.types'; +export * from './lib/web-extension-localforage-driver'; +export * from './lib/web-extension-utils'; diff --git a/package.json b/package.json index f78bbabcf..71a6255fd 100644 --- a/package.json +++ b/package.json @@ -53,6 +53,7 @@ "build:web-extension": "nx run jetstream-web-extension:build", "release": "dotenv release-it ${0}", "release:build": "zx ./scripts/build-release.mjs", + "release:web-extension": "dotenv -- release-it --config .release-it-web-ext.json", "bundle-analyzer:client": "npx webpack-bundle-analyzer dist/apps/jetstream/stats.json", "docs:index": "docker run -it -e APPLICATION_ID=21D7I5RB7N -e API_KEY=$ALGOLIA_API_KEY -e \"CONFIG=$(cat ./apps/docs/algolia-config.json | jq -r tostring)\" algolia/docsearch-scraper", "rollbar:upload-sourcemaps": "yarn generate:version && nx ./scripts/upload-source-maps.mjs", @@ -114,7 +115,7 @@ "@nx/workspace": "19.3.2", "@playwright/test": "^1.43.1", "@pmmmwh/react-refresh-webpack-plugin": "^0.5.7", - "@release-it/bumper": "^4.0.2", + "@release-it/bumper": "^6.0.1", "@release-it/conventional-changelog": "^5.0.0", "@salesforce-ux/design-system": "^2.23.2", "@storybook/addon-essentials": "7.5.3", diff --git a/yarn.lock b/yarn.lock index 59d4a46bb..903951f74 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7666,19 +7666,17 @@ resolved "https://registry.yarnpkg.com/@react-types/shared/-/shared-3.22.1.tgz#4e5de032fcb0b7bca50f6a9f8e133fd882821930" integrity sha512-PCpa+Vo6BKnRMuOEzy5zAZ3/H5tnQg1e80khMhK2xys0j6ZqzkgQC+fHMNZ7VDFNLqqNMj/o0eVeSBDh2POjkw== -"@release-it/bumper@^4.0.2": - version "4.0.2" - resolved "https://registry.yarnpkg.com/@release-it/bumper/-/bumper-4.0.2.tgz#2f1e9ffd1c3baccd058f5c005b0abf7009f67c74" - integrity sha512-HjiFIBNvb67cLTbzdm6EqiSRwpB4MJY4TGJFY/ac5qnIxERWK5gx1zBnwbJZffDSoS46hJMugoXrDbITEfX4gA== +"@release-it/bumper@^6.0.1": + version "6.0.1" + resolved "https://registry.yarnpkg.com/@release-it/bumper/-/bumper-6.0.1.tgz#2397969ffc64e24601516119942135f963ecad47" + integrity sha512-yeQsbGNMzzN0c/5JV1awXP6UHX/kJamXCKR6/daS0YQfj98SZXAcLn3JEq+qfK/Jq/cnATnlz5r6UY0cfBkm1A== dependencies: "@iarna/toml" "^2.2.5" detect-indent "7.0.1" - fast-glob "3.2.12" - ini "3.0.1" + fast-glob "^3.3.2" + ini "^4.1.1" js-yaml "^4.1.0" - lodash.castarray "^4.4.0" - lodash.get "^4.4.2" - lodash.set "^4.3.2" + lodash-es "^4.17.21" semver "^7.3.7" "@release-it/conventional-changelog@^5.0.0": @@ -15515,17 +15513,6 @@ fast-diff@1.1.2: resolved "https://registry.npmjs.org/fast-diff/-/fast-diff-1.1.2.tgz" integrity sha512-KaJUt+M9t1qaIteSvjc6P3RbMdXsNhK61GRftR6SNxqmhthcd9MGIi4T+o0jD8LUSpSnSKXE20nLtJ3fOHxQig== -fast-glob@3.2.12, fast-glob@^3.2.12, fast-glob@^3.2.5: - version "3.2.12" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" - integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - fast-glob@3.2.7: version "3.2.7" resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz" @@ -15548,6 +15535,17 @@ fast-glob@^3.2.11, fast-glob@^3.2.7, fast-glob@^3.2.9: merge2 "^1.3.0" micromatch "^4.0.4" +fast-glob@^3.2.12, fast-glob@^3.2.5: + version "3.2.12" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" + integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + fast-glob@^3.3.0, fast-glob@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" @@ -17272,16 +17270,16 @@ ini@2.0.0: resolved "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz" integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== -ini@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/ini/-/ini-3.0.1.tgz#c76ec81007875bc44d544ff7a11a55d12294102d" - integrity sha512-it4HyVAUTKBc6m8e1iXWvXSTdndF7HbdN713+kvLrymxTaU4AUBWrJ4vEooP+V7fexnVD3LKcBshjGGPefSMUQ== - ini@^1.3.2, ini@^1.3.4, ini@~1.3.0: version "1.3.8" resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== +ini@^4.1.1: + version "4.1.3" + resolved "https://registry.yarnpkg.com/ini/-/ini-4.1.3.tgz#4c359675a6071a46985eb39b14e4a2c0ec98a795" + integrity sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg== + inquirer@9.2.19: version "9.2.19" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-9.2.19.tgz#e142ebc111b6328a21eb84d8e7dd226ff824239e" @@ -19093,6 +19091,11 @@ locate-path@^7.1.0: dependencies: p-locate "^6.0.0" +lodash-es@^4.17.21: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee" + integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== + lodash.camelcase@^4.3.0: version "4.3.0" resolved "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz" @@ -19188,11 +19191,6 @@ lodash.once@^4.0.0: resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" integrity sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg== -lodash.set@^4.3.2: - version "4.3.2" - resolved "https://registry.yarnpkg.com/lodash.set/-/lodash.set-4.3.2.tgz#d8757b1da807dde24816b0d6a84bea1a76230b23" - integrity sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg== - lodash.uniq@^4.5.0: version "4.5.0" resolved "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz"