From ddeacb73b52a0a9c11a1386479482dac06836daa Mon Sep 17 00:00:00 2001 From: Vladimir Haltakov Date: Fri, 17 Jul 2026 00:17:57 +0200 Subject: [PATCH] chore: switch to tag based releases --- .changeset/config.json | 11 - .github/workflows/check-cli.yml | 17 +- .github/workflows/release.yml | 54 +-- AGENTS.md | 17 + package.json | 10 +- scripts/release.mjs | 112 +++--- yarn.lock | 580 +------------------------------- 7 files changed, 100 insertions(+), 701 deletions(-) delete mode 100644 .changeset/config.json create mode 100644 AGENTS.md diff --git a/.changeset/config.json b/.changeset/config.json deleted file mode 100644 index ec98e35..0000000 --- a/.changeset/config.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "$schema": "https://unpkg.com/@changesets/config@3.1.4/schema.json", - "changelog": "@changesets/cli/changelog", - "commit": false, - "fixed": [], - "linked": [], - "access": "public", - "baseBranch": "main", - "updateInternalDependencies": "patch", - "ignore": [] -} diff --git a/.github/workflows/check-cli.yml b/.github/workflows/check-cli.yml index 15e714e..2ecf941 100644 --- a/.github/workflows/check-cli.yml +++ b/.github/workflows/check-cli.yml @@ -30,18 +30,5 @@ jobs: - name: Install dependencies run: yarn install --immutable - - name: Run checks (common) - working-directory: ./common - run: yarn check && yarn build - - - name: Run checks (gallery) - working-directory: ./gallery - run: yarn check - - - name: Run checks (theme-modern) - working-directory: ./themes/modern - run: yarn lint && yarn format - - - name: Run tests - working-directory: ./gallery - run: yarn test + - name: Run CI checks + run: yarn ci diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c2a7b8d..35e675a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,45 +1,49 @@ -name: Release +name: Publish packages on: push: - branches: [main] + tags: + - "v*.*.*" concurrency: - group: release-${{ github.ref }} + group: npm-publish-${{ github.ref }} cancel-in-progress: false -permissions: - contents: write - pull-requests: write - id-token: write - jobs: - release: - name: Version or publish packages + publish: runs-on: ubuntu-latest + permissions: + contents: read + id-token: write steps: - - name: Checkout code - uses: actions/checkout@v4 + - name: Check out repository + uses: actions/checkout@v6 - - name: Setup Node.js - uses: actions/setup-node@v4 + - name: Set up Node.js + uses: actions/setup-node@v6 with: - node-version: 24.x - cache: "yarn" - cache-dependency-path: "yarn.lock" + node-version: 24 + package-manager-cache: false registry-url: "https://registry.npmjs.org" - - name: Enable Corepack - run: corepack enable + - name: Set up Yarn + run: | + corepack enable + corepack prepare yarn@4.9.3 --activate - name: Install dependencies run: yarn install --immutable - - name: Create release PR or publish - uses: changesets/action@v1 - with: - version: yarn version-packages - publish: yarn release + - name: Verify release tag and package artifacts + env: + RELEASE_TAG: ${{ github.ref_name }} + run: yarn release:check --version "${RELEASE_TAG#v}" + + - name: Run CI checks + run: yarn ci + + - name: Publish packages env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + RELEASE_TAG: ${{ github.ref_name }} + run: yarn release --version "${RELEASE_TAG#v}" diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..30411fb --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,17 @@ +# Agent Instructions + +## Release And Publish Flow + +When publishing the `@simple-photo-gallery/common`, `@simple-photo-gallery/theme-modern`, and `simple-photo-gallery` packages, use the GitHub Actions CI flow. Do not run `npm publish` manually from a local shell, and do not ask for an npm OTP for these packages. + +The publish workflow lives in `.github/workflows/release.yml` and is triggered by tags matching `v*.*.*`. All three packages are released together. The workflow verifies that every package version matches the tag, runs the repository CI checks and a package dry-run, then publishes the packages to npm in dependency order. + +Use this sequence for releases: + +1. Check the registry versions with `npm view @simple-photo-gallery/common version`, `npm view @simple-photo-gallery/theme-modern version`, and `npm view simple-photo-gallery version`. +2. Bump `common/package.json`, `themes/modern/package.json`, and `gallery/package.json` to the same next patch, minor, or major version. +3. Run `yarn ci` and `yarn release:check --version ` from the repository root. +4. Commit the release changes. +5. Push the release commit to `main`. +6. Create and push the matching version tag, for example `git tag v2.2.2 && git push origin v2.2.2`. +7. Verify all three packages on npm before updating downstream applications. diff --git a/package.json b/package.json index d9d5db9..d5882ae 100644 --- a/package.json +++ b/package.json @@ -4,10 +4,9 @@ "private": true, "scripts": { "gallery": "yarn workspace simple-photo-gallery gallery", - "changeset": "changeset", - "version-packages": "changeset version", + "ci": "yarn workspace @simple-photo-gallery/common check && yarn workspace @simple-photo-gallery/common build && yarn workspace simple-photo-gallery check && yarn workspace @simple-photo-gallery/theme-modern check && yarn workspace simple-photo-gallery test", "release": "node scripts/release.mjs", - "release:dry-run": "node scripts/release.mjs --dry-run" + "release:check": "node scripts/release.mjs --dry-run" }, "workspaces": { "packages": [ @@ -19,8 +18,5 @@ "engines": { "node": ">=20.0.0" }, - "packageManager": "yarn@4.9.3", - "devDependencies": { - "@changesets/cli": "^2.31.0" - } + "packageManager": "yarn@4.9.3" } diff --git a/scripts/release.mjs b/scripts/release.mjs index 4f7e437..5c904c3 100644 --- a/scripts/release.mjs +++ b/scripts/release.mjs @@ -15,21 +15,28 @@ const dependencyFields = [ const rootDir = resolve(dirname(fileURLToPath(import.meta.url)), ".."); const options = parseOptions(process.argv.slice(2)); + +if (!options.dryRun && !options.version) { + throw new Error( + "Publishing requires --version. Use the version-tagged GitHub Actions workflow.", + ); +} + const rootPackageJson = readJson(join(rootDir, "package.json")); -const changesetConfig = readJson(join(rootDir, ".changeset", "config.json")); const packages = sortPackages(loadWorkspacePackages(rootPackageJson)); const archiveDir = mkdtempSync(join(tmpdir(), "simple-photo-gallery-release-")); +if (options.version) { + validatePackageVersions(packages, options.version); +} + let releasedPackages = 0; for (const pkg of packages) { - const tagName = `${pkg.packageJson.name}@${pkg.packageJson.version}`; - if (!options.dryRun && packageVersionExists(pkg.packageJson)) { console.log( `${pkg.packageJson.name}@${pkg.packageJson.version} is already published on npm`, ); - createTagIfNeeded(tagName, { dryRun: false, emitNewTag: true }); continue; } @@ -59,17 +66,18 @@ for (const pkg of packages) { "publish", archivePath, "--access", - options.access ?? changesetConfig.access ?? "public", + options.access ?? "public", "--tag", options.tag, ]); - createTagIfNeeded(tagName, { dryRun: false, emitNewTag: true }); releasedPackages += 1; } if (options.dryRun) { - console.log(`Dry run complete. Packed ${packages.length} publishable packages.`); + console.log( + `Dry run complete. Packed ${packages.length} publishable packages.`, + ); } else if (releasedPackages === 0) { console.log("No unpublished packages were published."); } @@ -79,6 +87,7 @@ function parseOptions(args) { access: undefined, dryRun: false, tag: "latest", + version: undefined, }; for (let index = 0; index < args.length; index += 1) { @@ -101,6 +110,12 @@ function parseOptions(args) { continue; } + if (arg === "--version") { + parsed.version = readOptionValue(args, index, arg); + index += 1; + continue; + } + throw new Error(`Unknown release option: ${arg}`); } @@ -117,6 +132,28 @@ function readOptionValue(args, index, name) { return value; } +function validatePackageVersions(workspacePackages, expectedVersion) { + const mismatches = workspacePackages.filter( + (pkg) => pkg.packageJson.version !== expectedVersion, + ); + + if (mismatches.length === 0) { + console.log( + `All package versions match release version ${expectedVersion}.`, + ); + return; + } + + const details = mismatches + .map( + (pkg) => + `- ${pkg.packageJson.name}: ${pkg.packageJson.version} (expected ${expectedVersion})`, + ) + .join("\n"); + + throw new Error(`Package versions do not match the release tag:\n${details}`); +} + function loadWorkspacePackages(packageJson) { const workspacePatterns = Array.isArray(packageJson.workspaces) ? packageJson.workspaces @@ -248,67 +285,6 @@ function validatePackedManifest(archivePath, pkg) { } } -function createTagIfNeeded(tagName, { dryRun, emitNewTag }) { - if (remoteTagExists(tagName)) { - console.log(`Tag already exists on origin: ${tagName}`); - return; - } - - if (dryRun) { - console.log(`[dry-run] Would create tag ${tagName}`); - return; - } - - if (localTagExists(tagName)) { - ensureLocalTagPointsAtHead(tagName); - } else { - run("git", ["tag", tagName]); - } - - if (emitNewTag) { - console.log(`New tag: ${tagName}`); - } -} - -function remoteTagExists(tagName) { - const result = spawnSync( - "git", - ["ls-remote", "--exit-code", "--tags", "origin", `refs/tags/${tagName}`], - { - cwd: rootDir, - encoding: "utf8", - }, - ); - - return result.status === 0; -} - -function localTagExists(tagName) { - const result = spawnSync("git", ["rev-parse", "--verify", tagName], { - cwd: rootDir, - encoding: "utf8", - }); - - return result.status === 0; -} - -function ensureLocalTagPointsAtHead(tagName) { - const head = execFileSync("git", ["rev-parse", "HEAD"], { - cwd: rootDir, - encoding: "utf8", - }).trim(); - const taggedCommit = execFileSync("git", ["rev-list", "-n", "1", tagName], { - cwd: rootDir, - encoding: "utf8", - }).trim(); - - if (head !== taggedCommit) { - throw new Error( - `Local tag ${tagName} exists but points at ${taggedCommit}, not HEAD ${head}`, - ); - } -} - function readJson(path) { return JSON.parse(readFileSync(path, "utf8")); } diff --git a/yarn.lock b/yarn.lock index 54006f6..3aaa2be 100644 --- a/yarn.lock +++ b/yarn.lock @@ -415,13 +415,6 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:^7.5.5": - version: 7.29.7 - resolution: "@babel/runtime@npm:7.29.7" - checksum: 10c0/ca11572f7146b21e0bde6a9ed4bb6a89eafbee5f0944c7eb54d0d8a2dac962c33638a1d611e14faa71dfbb92b4b5f9236232208568a6b7d5c6f3f39ddb91771e - languageName: node - linkType: hard - "@babel/template@npm:^7.27.2": version: 7.27.2 resolution: "@babel/template@npm:7.27.2" @@ -476,239 +469,6 @@ __metadata: languageName: node linkType: hard -"@changesets/apply-release-plan@npm:^7.1.1": - version: 7.1.1 - resolution: "@changesets/apply-release-plan@npm:7.1.1" - dependencies: - "@changesets/config": "npm:^3.1.4" - "@changesets/get-version-range-type": "npm:^0.4.0" - "@changesets/git": "npm:^3.0.4" - "@changesets/should-skip-package": "npm:^0.1.2" - "@changesets/types": "npm:^6.1.0" - "@manypkg/get-packages": "npm:^1.1.3" - detect-indent: "npm:^6.0.0" - fs-extra: "npm:^7.0.1" - lodash.startcase: "npm:^4.4.0" - outdent: "npm:^0.5.0" - prettier: "npm:^2.7.1" - resolve-from: "npm:^5.0.0" - semver: "npm:^7.5.3" - checksum: 10c0/27de184e74e8e48b43fca1f73e7c7a2887b0cdacfe7ba9c09cdc4547dff0de1587bed5fe2d5ec0a3754fa422f6b8a528e0ac452c22ac7a6ae5211f5ac089bfb2 - languageName: node - linkType: hard - -"@changesets/assemble-release-plan@npm:^6.0.10": - version: 6.0.10 - resolution: "@changesets/assemble-release-plan@npm:6.0.10" - dependencies: - "@changesets/errors": "npm:^0.2.0" - "@changesets/get-dependents-graph": "npm:^2.1.4" - "@changesets/should-skip-package": "npm:^0.1.2" - "@changesets/types": "npm:^6.1.0" - "@manypkg/get-packages": "npm:^1.1.3" - semver: "npm:^7.5.3" - checksum: 10c0/a0ea336a5f19f8d0a97b684983bcd9c3bb8d6881b7b6abd5b482b301795ae4600924c188982f5f98dc48ac88e94a063b66ab72659041eb2623ade3e35f05d555 - languageName: node - linkType: hard - -"@changesets/changelog-git@npm:^0.2.1": - version: 0.2.1 - resolution: "@changesets/changelog-git@npm:0.2.1" - dependencies: - "@changesets/types": "npm:^6.1.0" - checksum: 10c0/6a6fb315ffb2266fcb8f32ae9a60ccdb5436e52350a2f53beacf9822d3355f9052aba5001a718e12af472b4a8fabd69b408d0b11c02ac909ba7a183d27a9f7fd - languageName: node - linkType: hard - -"@changesets/cli@npm:^2.31.0": - version: 2.31.0 - resolution: "@changesets/cli@npm:2.31.0" - dependencies: - "@changesets/apply-release-plan": "npm:^7.1.1" - "@changesets/assemble-release-plan": "npm:^6.0.10" - "@changesets/changelog-git": "npm:^0.2.1" - "@changesets/config": "npm:^3.1.4" - "@changesets/errors": "npm:^0.2.0" - "@changesets/get-dependents-graph": "npm:^2.1.4" - "@changesets/get-release-plan": "npm:^4.0.16" - "@changesets/git": "npm:^3.0.4" - "@changesets/logger": "npm:^0.1.1" - "@changesets/pre": "npm:^2.0.2" - "@changesets/read": "npm:^0.6.7" - "@changesets/should-skip-package": "npm:^0.1.2" - "@changesets/types": "npm:^6.1.0" - "@changesets/write": "npm:^0.4.0" - "@inquirer/external-editor": "npm:^1.0.2" - "@manypkg/get-packages": "npm:^1.1.3" - ansi-colors: "npm:^4.1.3" - enquirer: "npm:^2.4.1" - fs-extra: "npm:^7.0.1" - mri: "npm:^1.2.0" - package-manager-detector: "npm:^0.2.0" - picocolors: "npm:^1.1.0" - resolve-from: "npm:^5.0.0" - semver: "npm:^7.5.3" - spawndamnit: "npm:^3.0.1" - term-size: "npm:^2.1.0" - bin: - changeset: bin.js - checksum: 10c0/3b15f4f5fc7ccaa0b82ca4f9803977ed141b6bed66f83cf8004c2f4ab8e3a00c3a813569b76e4c757d0a8ca5e778bcb6df6e4df91be6c98e0dfaa2cff87c9434 - languageName: node - linkType: hard - -"@changesets/config@npm:^3.1.4": - version: 3.1.4 - resolution: "@changesets/config@npm:3.1.4" - dependencies: - "@changesets/errors": "npm:^0.2.0" - "@changesets/get-dependents-graph": "npm:^2.1.4" - "@changesets/logger": "npm:^0.1.1" - "@changesets/should-skip-package": "npm:^0.1.2" - "@changesets/types": "npm:^6.1.0" - "@manypkg/get-packages": "npm:^1.1.3" - fs-extra: "npm:^7.0.1" - micromatch: "npm:^4.0.8" - checksum: 10c0/1c0e7975aa719e2c87dfda3f5a1eb81b9f4852cdfb5b5c9d181fa2f8f485e92370b3bdfdb6f666432207dd75a3f79fa8fffe7847d48fb11308acb5ecf327bc12 - languageName: node - linkType: hard - -"@changesets/errors@npm:^0.2.0": - version: 0.2.0 - resolution: "@changesets/errors@npm:0.2.0" - dependencies: - extendable-error: "npm:^0.1.5" - checksum: 10c0/f2757c752ab04e9733b0dfd7903f1caf873f9e603794c4d9ea2294af4f937c73d07273c24be864ad0c30b6a98424360d5b96a6eab14f97f3cf2cbfd3763b95c1 - languageName: node - linkType: hard - -"@changesets/get-dependents-graph@npm:^2.1.4": - version: 2.1.4 - resolution: "@changesets/get-dependents-graph@npm:2.1.4" - dependencies: - "@changesets/types": "npm:^6.1.0" - "@manypkg/get-packages": "npm:^1.1.3" - picocolors: "npm:^1.1.0" - semver: "npm:^7.5.3" - checksum: 10c0/37b12ba42f16c458d0b574bcafa0247ff2b9a218686a64c86fc75bccc9ba3982f9c27206542941cf3a0563d9b199f40a830682b45e9fd902536de91344cbd0a2 - languageName: node - linkType: hard - -"@changesets/get-release-plan@npm:^4.0.16": - version: 4.0.16 - resolution: "@changesets/get-release-plan@npm:4.0.16" - dependencies: - "@changesets/assemble-release-plan": "npm:^6.0.10" - "@changesets/config": "npm:^3.1.4" - "@changesets/pre": "npm:^2.0.2" - "@changesets/read": "npm:^0.6.7" - "@changesets/types": "npm:^6.1.0" - "@manypkg/get-packages": "npm:^1.1.3" - checksum: 10c0/4be4553e13fe331f6d5b2ed98fece21c8d2b38c04a0543f726a0398b7538ef8fd073d712c35ae4540ed4fc6f84f08de6335318bc09dd562b189fb6968d049e95 - languageName: node - linkType: hard - -"@changesets/get-version-range-type@npm:^0.4.0": - version: 0.4.0 - resolution: "@changesets/get-version-range-type@npm:0.4.0" - checksum: 10c0/e466208c8383489a383f37958d8b5b9aed38539f9287b47fe155a2e8855973f6960fb1724a1ee33b11580d65e1011059045ee654e8ef51e4783017d8989c9d3f - languageName: node - linkType: hard - -"@changesets/git@npm:^3.0.4": - version: 3.0.4 - resolution: "@changesets/git@npm:3.0.4" - dependencies: - "@changesets/errors": "npm:^0.2.0" - "@manypkg/get-packages": "npm:^1.1.3" - is-subdir: "npm:^1.1.1" - micromatch: "npm:^4.0.8" - spawndamnit: "npm:^3.0.1" - checksum: 10c0/4abbdc1dec6ddc50b6ad927d9eba4f23acd775fdff615415813099befb0cecd1b0f56ceea5e18a5a3cbbb919d68179366074b02a954fbf4016501e5fd125d2b5 - languageName: node - linkType: hard - -"@changesets/logger@npm:^0.1.1": - version: 0.1.1 - resolution: "@changesets/logger@npm:0.1.1" - dependencies: - picocolors: "npm:^1.1.0" - checksum: 10c0/a0933b5bd4d99e10730b22612dc1bdfd25b8804c5b48f8cada050bf5c7a89b2ae9a61687f846a5e9e5d379a95b59fef795c8d5d91e49a251f8da2be76133f83f - languageName: node - linkType: hard - -"@changesets/parse@npm:^0.4.3": - version: 0.4.3 - resolution: "@changesets/parse@npm:0.4.3" - dependencies: - "@changesets/types": "npm:^6.1.0" - js-yaml: "npm:^4.1.1" - checksum: 10c0/4d8488eaf224974ae335fec964dc1dc486abcfa9f96856cf4267c2765b02ed6af1778375ec03d38252ebab9e191aa4a11c5f37a6ad42e907e08290fed2b9690c - languageName: node - linkType: hard - -"@changesets/pre@npm:^2.0.2": - version: 2.0.2 - resolution: "@changesets/pre@npm:2.0.2" - dependencies: - "@changesets/errors": "npm:^0.2.0" - "@changesets/types": "npm:^6.1.0" - "@manypkg/get-packages": "npm:^1.1.3" - fs-extra: "npm:^7.0.1" - checksum: 10c0/0af9396d84c47a88d79b757e9db4e3579b6620260f92c243b8349e7fcefca3c2652583f6d215c13115bed5d5cdc30c975f307fd6acbb89d205b1ba2ae403b918 - languageName: node - linkType: hard - -"@changesets/read@npm:^0.6.7": - version: 0.6.7 - resolution: "@changesets/read@npm:0.6.7" - dependencies: - "@changesets/git": "npm:^3.0.4" - "@changesets/logger": "npm:^0.1.1" - "@changesets/parse": "npm:^0.4.3" - "@changesets/types": "npm:^6.1.0" - fs-extra: "npm:^7.0.1" - p-filter: "npm:^2.1.0" - picocolors: "npm:^1.1.0" - checksum: 10c0/eebda5f5cea8684b9cb470e74cd5e67043a62ca54452ac88bb1a998bebeee1a2e3a642dc76818155a145863551c65f10f9c4ff85378b0419179fc60049edbbc6 - languageName: node - linkType: hard - -"@changesets/should-skip-package@npm:^0.1.2": - version: 0.1.2 - resolution: "@changesets/should-skip-package@npm:0.1.2" - dependencies: - "@changesets/types": "npm:^6.1.0" - "@manypkg/get-packages": "npm:^1.1.3" - checksum: 10c0/484e339e7d6e6950e12bff4eda6e8eccb077c0fbb1f09dd95d2ae948b715226a838c71eaf50cd2d7e0e631ce3bfb1ca93ac752436e6feae5b87aece2e917b440 - languageName: node - linkType: hard - -"@changesets/types@npm:^4.0.1": - version: 4.1.0 - resolution: "@changesets/types@npm:4.1.0" - checksum: 10c0/a372ad21f6a1e0d4ce6c19573c1ca269eef1ad53c26751ad9515a24f003e7c49dcd859dbb1fedb6badaf7be956c1559e8798304039e0ec0da2d9a68583f13464 - languageName: node - linkType: hard - -"@changesets/types@npm:^6.1.0": - version: 6.1.0 - resolution: "@changesets/types@npm:6.1.0" - checksum: 10c0/b4cea3a4465d1eaf0bbd7be1e404aca5a055a61d4cc72aadcb73bbbda1670b4022736b8d3052616cbf1f451afa0637545d077697f4b923236539af9cd5abce6c - languageName: node - linkType: hard - -"@changesets/write@npm:^0.4.0": - version: 0.4.0 - resolution: "@changesets/write@npm:0.4.0" - dependencies: - "@changesets/types": "npm:^6.1.0" - fs-extra: "npm:^7.0.1" - human-id: "npm:^4.1.1" - prettier: "npm:^2.7.1" - checksum: 10c0/311f4d0e536d1b5f2d3f9053537d62b2d4cdbd51e1d2767807ac9d1e0f380367f915d2ad370e5c73902d5a54bffd282d53fff5418c8ad31df51751d652bea826 - languageName: node - linkType: hard - "@emnapi/core@npm:^1.4.3": version: 1.4.5 resolution: "@emnapi/core@npm:1.4.5" @@ -1237,21 +997,6 @@ __metadata: languageName: node linkType: hard -"@inquirer/external-editor@npm:^1.0.2": - version: 1.0.3 - resolution: "@inquirer/external-editor@npm:1.0.3" - dependencies: - chardet: "npm:^2.1.1" - iconv-lite: "npm:^0.7.0" - peerDependencies: - "@types/node": ">=18" - peerDependenciesMeta: - "@types/node": - optional: true - checksum: 10c0/82951cb7f3762dd78cca2ea291396841e3f4adfe26004b5badfed1cec4b6a04bb567dff94d0e41b35c61bdd7957317c64c22f58074d14b238d44e44d9e420019 - languageName: node - linkType: hard - "@isaacs/cliui@npm:^8.0.2": version: 8.0.2 resolution: "@isaacs/cliui@npm:8.0.2" @@ -1595,32 +1340,6 @@ __metadata: languageName: node linkType: hard -"@manypkg/find-root@npm:^1.1.0": - version: 1.1.0 - resolution: "@manypkg/find-root@npm:1.1.0" - dependencies: - "@babel/runtime": "npm:^7.5.5" - "@types/node": "npm:^12.7.1" - find-up: "npm:^4.1.0" - fs-extra: "npm:^8.1.0" - checksum: 10c0/0ee907698e6c73d6f1821ff630f3fec6dcf38260817c8752fec8991ac38b95ba431ab11c2773ddf9beb33d0e057f1122b00e8ffc9b8411b3fd24151413626fa6 - languageName: node - linkType: hard - -"@manypkg/get-packages@npm:^1.1.3": - version: 1.1.3 - resolution: "@manypkg/get-packages@npm:1.1.3" - dependencies: - "@babel/runtime": "npm:^7.5.5" - "@changesets/types": "npm:^4.0.1" - "@manypkg/find-root": "npm:^1.1.0" - fs-extra: "npm:^8.1.0" - globby: "npm:^11.0.0" - read-yaml-file: "npm:^1.1.0" - checksum: 10c0/f05907d1174ae28861eaa06d0efdc144f773d9a4b8b65e1e7cdc01eb93361d335351b4a336e05c6aac02661be39e8809a3f7ad28bc67b6b338071434ab442130 - languageName: node - linkType: hard - "@napi-rs/wasm-runtime@npm:^0.2.11": version: 0.2.12 resolution: "@napi-rs/wasm-runtime@npm:0.2.12" @@ -2000,8 +1719,6 @@ __metadata: "@simple-photo-gallery/workspace@workspace:.": version: 0.0.0-use.local resolution: "@simple-photo-gallery/workspace@workspace:." - dependencies: - "@changesets/cli": "npm:^2.31.0" languageName: unknown linkType: soft @@ -2225,13 +1942,6 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:^12.7.1": - version: 12.20.55 - resolution: "@types/node@npm:12.20.55" - checksum: 10c0/3b190bb0410047d489c49bbaab592d2e6630de6a50f00ba3d7d513d59401d279972a8f5a598b5bb8ddc1702f8a2f4ec57a65d93852f9c329639738e7053637d1 - languageName: node - linkType: hard - "@types/photoswipe@npm:^4.1.6": version: 4.1.6 resolution: "@types/photoswipe@npm:4.1.6" @@ -2643,13 +2353,6 @@ __metadata: languageName: node linkType: hard -"ansi-colors@npm:^4.1.1, ansi-colors@npm:^4.1.3": - version: 4.1.3 - resolution: "ansi-colors@npm:4.1.3" - checksum: 10c0/ec87a2f59902f74e61eada7f6e6fe20094a628dab765cfdbd03c3477599368768cffccdb5d3bb19a1b6c99126783a143b1fee31aab729b31ffe5836c7e5e28b9 - languageName: node - linkType: hard - "ansi-escapes@npm:^4.3.2": version: 4.3.2 resolution: "ansi-escapes@npm:4.3.2" @@ -2769,13 +2472,6 @@ __metadata: languageName: node linkType: hard -"array-union@npm:^2.1.0": - version: 2.1.0 - resolution: "array-union@npm:2.1.0" - checksum: 10c0/429897e68110374f39b771ec47a7161fc6a8fc33e196857c0a396dc75df0b5f65e4d046674db764330b6bb66b39ef48dd7c53b6a2ee75cfb0681e0c1a7033962 - languageName: node - linkType: hard - "array.prototype.findlastindex@npm:^1.2.6": version: 1.2.6 resolution: "array.prototype.findlastindex@npm:1.2.6" @@ -3106,15 +2802,6 @@ __metadata: languageName: node linkType: hard -"better-path-resolve@npm:1.0.0": - version: 1.0.0 - resolution: "better-path-resolve@npm:1.0.0" - dependencies: - is-windows: "npm:^1.0.0" - checksum: 10c0/7335130729d59a14b8e4753fea180ca84e287cccc20cb5f2438a95667abc5810327c414eee7b3c79ed1b5a348a40284ea872958f50caba69432c40405eb0acce - languageName: node - linkType: hard - "blob-to-buffer@npm:^1.2.8": version: 1.2.9 resolution: "blob-to-buffer@npm:1.2.9" @@ -3392,13 +3079,6 @@ __metadata: languageName: node linkType: hard -"chardet@npm:^2.1.1": - version: 2.1.1 - resolution: "chardet@npm:2.1.1" - checksum: 10c0/d8391dd412338442b3de0d3a488aa9327f8bcf74b62b8723d6bd0b85c4084d50b731320e0a7c710edb1d44de75969995d2784b80e4c13b004a6c7a0db4c6e793 - languageName: node - linkType: hard - "chokidar@npm:^4.0.3": version: 4.0.3 resolution: "chokidar@npm:4.0.3" @@ -3634,7 +3314,7 @@ __metadata: languageName: node linkType: hard -"cross-spawn@npm:^7.0.3, cross-spawn@npm:^7.0.5, cross-spawn@npm:^7.0.6": +"cross-spawn@npm:^7.0.3, cross-spawn@npm:^7.0.6": version: 7.0.6 resolution: "cross-spawn@npm:7.0.6" dependencies: @@ -3821,13 +3501,6 @@ __metadata: languageName: node linkType: hard -"detect-indent@npm:^6.0.0": - version: 6.1.0 - resolution: "detect-indent@npm:6.1.0" - checksum: 10c0/dd83cdeda9af219cf77f5e9a0dc31d828c045337386cfb55ce04fad94ba872ee7957336834154f7647b89b899c3c7acc977c57a79b7c776b506240993f97acc7 - languageName: node - linkType: hard - "detect-libc@npm:^2.0.3": version: 2.0.4 resolution: "detect-libc@npm:2.0.4" @@ -3881,15 +3554,6 @@ __metadata: languageName: node linkType: hard -"dir-glob@npm:^3.0.1": - version: 3.0.1 - resolution: "dir-glob@npm:3.0.1" - dependencies: - path-type: "npm:^4.0.0" - checksum: 10c0/dcac00920a4d503e38bb64001acb19df4efc14536ada475725e12f52c16777afdee4db827f55f13a908ee7efc0cb282e2e3dbaeeb98c0993dd93d1802d3bf00c - languageName: node - linkType: hard - "dlv@npm:^1.1.3": version: 1.1.3 resolution: "dlv@npm:1.1.3" @@ -3984,16 +3648,6 @@ __metadata: languageName: node linkType: hard -"enquirer@npm:^2.4.1": - version: 2.4.1 - resolution: "enquirer@npm:2.4.1" - dependencies: - ansi-colors: "npm:^4.1.1" - strip-ansi: "npm:^6.0.1" - checksum: 10c0/43850479d7a51d36a9c924b518dcdc6373b5a8ae3401097d336b7b7e258324749d0ad37a1fcaa5706f04799baa05585cd7af19ebdf7667673e7694435fcea918 - languageName: node - linkType: hard - "entities@npm:^6.0.0": version: 6.0.1 resolution: "entities@npm:6.0.1" @@ -4708,13 +4362,6 @@ __metadata: languageName: node linkType: hard -"extendable-error@npm:^0.1.5": - version: 0.1.7 - resolution: "extendable-error@npm:0.1.7" - checksum: 10c0/c46648b7682448428f81b157cbfe480170fd96359c55db477a839ddeaa34905a18cba0b989bafe5e83f93c2491a3fcc7cc536063ea326ba9d72e9c6e2fe736a7 - languageName: node - linkType: hard - "fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3": version: 3.1.3 resolution: "fast-deep-equal@npm:3.1.3" @@ -4729,7 +4376,7 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.2, fast-glob@npm:^3.3.3": +"fast-glob@npm:^3.3.2, fast-glob@npm:^3.3.3": version: 3.3.3 resolution: "fast-glob@npm:3.3.3" dependencies: @@ -4953,28 +4600,6 @@ __metadata: languageName: node linkType: hard -"fs-extra@npm:^7.0.1": - version: 7.0.1 - resolution: "fs-extra@npm:7.0.1" - dependencies: - graceful-fs: "npm:^4.1.2" - jsonfile: "npm:^4.0.0" - universalify: "npm:^0.1.0" - checksum: 10c0/1943bb2150007e3739921b8d13d4109abdc3cc481e53b97b7ea7f77eda1c3c642e27ae49eac3af074e3496ea02fde30f411ef410c760c70a38b92e656e5da784 - languageName: node - linkType: hard - -"fs-extra@npm:^8.1.0": - version: 8.1.0 - resolution: "fs-extra@npm:8.1.0" - dependencies: - graceful-fs: "npm:^4.2.0" - jsonfile: "npm:^4.0.0" - universalify: "npm:^0.1.0" - checksum: 10c0/259f7b814d9e50d686899550c4f9ded85c46c643f7fe19be69504888e007fcbc08f306fae8ec495b8b998635e997c9e3e175ff2eeed230524ef1c1684cc96423 - languageName: node - linkType: hard - "fs-minipass@npm:^3.0.0": version: 3.0.3 resolution: "fs-minipass@npm:3.0.3" @@ -5207,20 +4832,6 @@ __metadata: languageName: node linkType: hard -"globby@npm:^11.0.0": - version: 11.1.0 - resolution: "globby@npm:11.1.0" - dependencies: - array-union: "npm:^2.1.0" - dir-glob: "npm:^3.0.1" - fast-glob: "npm:^3.2.9" - ignore: "npm:^5.2.0" - merge2: "npm:^1.4.1" - slash: "npm:^3.0.0" - checksum: 10c0/b39511b4afe4bd8a7aead3a27c4ade2b9968649abab0a6c28b1a90141b96ca68ca5db1302f7c7bd29eab66bf51e13916b8e0a3d0ac08f75e1e84a39b35691189 - languageName: node - linkType: hard - "gopd@npm:^1.0.1, gopd@npm:^1.2.0": version: 1.2.0 resolution: "gopd@npm:1.2.0" @@ -5228,7 +4839,7 @@ __metadata: languageName: node linkType: hard -"graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.5, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.11, graceful-fs@npm:^4.2.6": +"graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.11, graceful-fs@npm:^4.2.6": version: 4.2.11 resolution: "graceful-fs@npm:4.2.11" checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 @@ -5538,15 +5149,6 @@ __metadata: languageName: node linkType: hard -"human-id@npm:^4.1.1": - version: 4.2.0 - resolution: "human-id@npm:4.2.0" - bin: - human-id: dist/cli.js - checksum: 10c0/80071f3b785b2e91080b5f9aa2d079c2e9a464e009ea12c035255b61d1b70beefe7eda42209dff9c1bb9a9fa58e50ada38c1b314ba3a23266a72cd5e9a453e1f - languageName: node - linkType: hard - "human-signals@npm:^2.1.0": version: 2.1.0 resolution: "human-signals@npm:2.1.0" @@ -5563,15 +5165,6 @@ __metadata: languageName: node linkType: hard -"iconv-lite@npm:^0.7.0": - version: 0.7.2 - resolution: "iconv-lite@npm:0.7.2" - dependencies: - safer-buffer: "npm:>= 2.1.2 < 3.0.0" - checksum: 10c0/3c228920f3bd307f56bf8363706a776f4a060eb042f131cd23855ceca962951b264d0997ab38a1ad340e1c5df8499ed26e1f4f0db6b2a2ad9befaff22f14b722 - languageName: node - linkType: hard - "ignore@npm:^5.2.0": version: 5.3.2 resolution: "ignore@npm:5.3.2" @@ -5937,15 +5530,6 @@ __metadata: languageName: node linkType: hard -"is-subdir@npm:^1.1.1": - version: 1.2.0 - resolution: "is-subdir@npm:1.2.0" - dependencies: - better-path-resolve: "npm:1.0.0" - checksum: 10c0/03a03ee2ee6578ce589b1cfaf00e65c86b20fd1b82c1660625557c535439a7477cda77e20c62cda6d4c99e7fd908b4619355ae2d989f4a524a35350a44353032 - languageName: node - linkType: hard - "is-symbol@npm:^1.0.4, is-symbol@npm:^1.1.1": version: 1.1.1 resolution: "is-symbol@npm:1.1.1" @@ -5992,13 +5576,6 @@ __metadata: languageName: node linkType: hard -"is-windows@npm:^1.0.0": - version: 1.0.2 - resolution: "is-windows@npm:1.0.2" - checksum: 10c0/b32f418ab3385604a66f1b7a3ce39d25e8881dee0bd30816dc8344ef6ff9df473a732bcc1ec4e84fe99b2f229ae474f7133e8e93f9241686cfcf7eebe53ba7a5 - languageName: node - linkType: hard - "is-wsl@npm:^3.1.0": version: 3.1.0 resolution: "is-wsl@npm:3.1.0" @@ -6558,18 +6135,6 @@ __metadata: languageName: node linkType: hard -"js-yaml@npm:^3.6.1": - version: 3.14.2 - resolution: "js-yaml@npm:3.14.2" - dependencies: - argparse: "npm:^1.0.7" - esprima: "npm:^4.0.0" - bin: - js-yaml: bin/js-yaml.js - checksum: 10c0/3261f25912f5dd76605e5993d0a126c2b6c346311885d3c483706cd722efe34f697ea0331f654ce27c00a42b426e524518ec89d65ed02ea47df8ad26dcc8ce69 - languageName: node - linkType: hard - "js-yaml@npm:^4.1.0": version: 4.1.0 resolution: "js-yaml@npm:4.1.0" @@ -6581,17 +6146,6 @@ __metadata: languageName: node linkType: hard -"js-yaml@npm:^4.1.1": - version: 4.2.0 - resolution: "js-yaml@npm:4.2.0" - dependencies: - argparse: "npm:^2.0.1" - bin: - js-yaml: bin/js-yaml.js - checksum: 10c0/1916456c118746603b067d74bbcbb0445d9a1d5e474ad4ae775e7b20525bed902e01d9d97dd0c81fcd8d4f596162309d0eb057f4aa38f3e9647f14075e9dea45 - languageName: node - linkType: hard - "jsesc@npm:^3.0.2, jsesc@npm:^3.1.0": version: 3.1.0 resolution: "jsesc@npm:3.1.0" @@ -6672,18 +6226,6 @@ __metadata: languageName: node linkType: hard -"jsonfile@npm:^4.0.0": - version: 4.0.0 - resolution: "jsonfile@npm:4.0.0" - dependencies: - graceful-fs: "npm:^4.1.6" - dependenciesMeta: - graceful-fs: - optional: true - checksum: 10c0/7dc94b628d57a66b71fb1b79510d460d662eb975b5f876d723f81549c2e9cd316d58a2ddf742b2b93a4fa6b17b2accaf1a738a0e2ea114bdfb13a32e5377e480 - languageName: node - linkType: hard - "jsonfile@npm:^6.0.1": version: 6.2.0 resolution: "jsonfile@npm:6.2.0" @@ -6797,13 +6339,6 @@ __metadata: languageName: node linkType: hard -"lodash.startcase@npm:^4.4.0": - version: 4.4.0 - resolution: "lodash.startcase@npm:4.4.0" - checksum: 10c0/bd82aa87a45de8080e1c5ee61128c7aee77bf7f1d86f4ff94f4a6d7438fc9e15e5f03374b947be577a93804c8ad6241f0251beaf1452bf716064eeb657b3a9f0 - languageName: node - linkType: hard - "longest-streak@npm:^3.0.0": version: 3.1.0 resolution: "longest-streak@npm:3.1.0" @@ -7101,7 +6636,7 @@ __metadata: languageName: node linkType: hard -"merge2@npm:^1.3.0, merge2@npm:^1.4.1": +"merge2@npm:^1.3.0": version: 1.4.1 resolution: "merge2@npm:1.4.1" checksum: 10c0/254a8a4605b58f450308fc474c82ac9a094848081bf4c06778200207820e5193726dc563a0d2c16468810516a5c97d9d3ea0ca6585d23c58ccfff2403e8dbbeb @@ -7606,13 +7141,6 @@ __metadata: languageName: node linkType: hard -"mri@npm:^1.2.0": - version: 1.2.0 - resolution: "mri@npm:1.2.0" - checksum: 10c0/a3d32379c2554cf7351db6237ddc18dc9e54e4214953f3da105b97dc3babe0deb3ffe99cf409b38ea47cc29f9430561ba6b53b24ab8f9ce97a4b50409e4a50e7 - languageName: node - linkType: hard - "mrmime@npm:^2.0.1": version: 2.0.1 resolution: "mrmime@npm:2.0.1" @@ -7927,13 +7455,6 @@ __metadata: languageName: node linkType: hard -"outdent@npm:^0.5.0": - version: 0.5.0 - resolution: "outdent@npm:0.5.0" - checksum: 10c0/e216a4498889ba1babae06af84cdc4091f7cac86da49d22d0163b3be202a5f52efcd2bcd3dfca60a361eb3a27b4299f185c5655061b6b402552d7fcd1d040cff - languageName: node - linkType: hard - "own-keys@npm:^1.0.1": version: 1.0.1 resolution: "own-keys@npm:1.0.1" @@ -7945,15 +7466,6 @@ __metadata: languageName: node linkType: hard -"p-filter@npm:^2.1.0": - version: 2.1.0 - resolution: "p-filter@npm:2.1.0" - dependencies: - p-map: "npm:^2.0.0" - checksum: 10c0/5ac34b74b3b691c04212d5dd2319ed484f591c557a850a3ffc93a08cb38c4f5540be059c6b10a185773c479ca583a91ea00c7d6c9958c815e6b74d052f356645 - languageName: node - linkType: hard - "p-limit@npm:^2.2.0": version: 2.3.0 resolution: "p-limit@npm:2.3.0" @@ -7999,13 +7511,6 @@ __metadata: languageName: node linkType: hard -"p-map@npm:^2.0.0": - version: 2.1.0 - resolution: "p-map@npm:2.1.0" - checksum: 10c0/735dae87badd4737a2dd582b6d8f93e49a1b79eabbc9815a4d63a528d5e3523e978e127a21d784cccb637010e32103a40d2aaa3ab23ae60250b1a820ca752043 - languageName: node - linkType: hard - "p-map@npm:^7.0.2": version: 7.0.3 resolution: "p-map@npm:7.0.3" @@ -8044,15 +7549,6 @@ __metadata: languageName: node linkType: hard -"package-manager-detector@npm:^0.2.0": - version: 0.2.11 - resolution: "package-manager-detector@npm:0.2.11" - dependencies: - quansync: "npm:^0.2.7" - checksum: 10c0/247991de461b9e731f3463b7dae9ce187e53095b7b94d7d96eec039abf418b61ccf74464bec1d0c11d97311f33472e77baccd4c5898f77358da4b5b33395e0b1 - languageName: node - linkType: hard - "package-manager-detector@npm:^1.1.0": version: 1.3.0 resolution: "package-manager-detector@npm:1.3.0" @@ -8149,13 +7645,6 @@ __metadata: languageName: node linkType: hard -"path-type@npm:^4.0.0": - version: 4.0.0 - resolution: "path-type@npm:4.0.0" - checksum: 10c0/666f6973f332f27581371efaf303fd6c272cc43c2057b37aa99e3643158c7e4b2626549555d88626e99ea9e046f82f32e41bbde5f1508547e9a11b149b52387c - languageName: node - linkType: hard - "pathe@npm:^2.0.1": version: 2.0.3 resolution: "pathe@npm:2.0.3" @@ -8170,7 +7659,7 @@ __metadata: languageName: node linkType: hard -"picocolors@npm:^1.1.0, picocolors@npm:^1.1.1": +"picocolors@npm:^1.1.1": version: 1.1.1 resolution: "picocolors@npm:1.1.1" checksum: 10c0/e2e3e8170ab9d7c7421969adaa7e1b31434f789afb9b3f115f6b96d91945041ac3ceb02e9ec6fe6510ff036bcc0bf91e69a1772edc0b707e12b19c0f2d6bcf58 @@ -8191,13 +7680,6 @@ __metadata: languageName: node linkType: hard -"pify@npm:^4.0.1": - version: 4.0.1 - resolution: "pify@npm:4.0.1" - checksum: 10c0/6f9d404b0d47a965437403c9b90eca8bb2536407f03de165940e62e72c8c8b75adda5516c6b9b23675a5877cc0bcac6bdfb0ef0e39414cd2476d5495da40e7cf - languageName: node - linkType: hard - "pirates@npm:^4.0.1, pirates@npm:^4.0.7": version: 4.0.7 resolution: "pirates@npm:4.0.7" @@ -8310,15 +7792,6 @@ __metadata: languageName: node linkType: hard -"prettier@npm:^2.7.1": - version: 2.8.8 - resolution: "prettier@npm:2.8.8" - bin: - prettier: bin-prettier.js - checksum: 10c0/463ea8f9a0946cd5b828d8cf27bd8b567345cf02f56562d5ecde198b91f47a76b7ac9eae0facd247ace70e927143af6135e8cf411986b8cb8478784a4d6d724a - languageName: node - linkType: hard - "prettier@npm:^3.0.0, prettier@npm:^3.4.2": version: 3.6.2 resolution: "prettier@npm:3.6.2" @@ -8408,13 +7881,6 @@ __metadata: languageName: node linkType: hard -"quansync@npm:^0.2.7": - version: 0.2.11 - resolution: "quansync@npm:0.2.11" - checksum: 10c0/cb9a1f8ebce074069f2f6a78578873ffedd9de9f6aa212039b44c0870955c04a71c3b1311b5d97f8ac2f2ec476de202d0a5c01160cb12bc0a11b7ef36d22ef56 - languageName: node - linkType: hard - "queue-microtask@npm:^1.2.2": version: 1.2.3 resolution: "queue-microtask@npm:1.2.3" @@ -8436,18 +7902,6 @@ __metadata: languageName: node linkType: hard -"read-yaml-file@npm:^1.1.0": - version: 1.1.0 - resolution: "read-yaml-file@npm:1.1.0" - dependencies: - graceful-fs: "npm:^4.1.5" - js-yaml: "npm:^3.6.1" - pify: "npm:^4.0.1" - strip-bom: "npm:^3.0.0" - checksum: 10c0/85a9ba08bb93f3c91089bab4f1603995ec7156ee595f8ce40ae9f49d841cbb586511508bd47b7cf78c97f678c679b2c6e2c0092e63f124214af41b6f8a25ca31 - languageName: node - linkType: hard - "readdirp@npm:^4.0.1": version: 4.1.2 resolution: "readdirp@npm:4.1.2" @@ -9281,16 +8735,6 @@ __metadata: languageName: node linkType: hard -"spawndamnit@npm:^3.0.1": - version: 3.0.1 - resolution: "spawndamnit@npm:3.0.1" - dependencies: - cross-spawn: "npm:^7.0.5" - signal-exit: "npm:^4.0.1" - checksum: 10c0/a9821a59bc78a665bd44718dea8f4f4010bb1a374972b0a6a1633b9186cda6d6fd93f22d1e49d9944d6bb175ba23ce29036a4bd624884fb157d981842c3682f3 - languageName: node - linkType: hard - "sprintf-js@npm:~1.0.2": version: 1.0.3 resolution: "sprintf-js@npm:1.0.3" @@ -9561,13 +9005,6 @@ __metadata: languageName: node linkType: hard -"term-size@npm:^2.1.0": - version: 2.2.1 - resolution: "term-size@npm:2.2.1" - checksum: 10c0/89f6bba1d05d425156c0910982f9344d9e4aebf12d64bfa1f460d93c24baa7bc4c4a21d355fbd7153c316433df0538f64d0ae6e336cc4a69fdda4f85d62bc79d - languageName: node - linkType: hard - "test-exclude@npm:^6.0.0": version: 6.0.0 resolution: "test-exclude@npm:6.0.0" @@ -10148,13 +9585,6 @@ __metadata: languageName: node linkType: hard -"universalify@npm:^0.1.0": - version: 0.1.2 - resolution: "universalify@npm:0.1.2" - checksum: 10c0/e70e0339f6b36f34c9816f6bf9662372bd241714dc77508d231d08386d94f2c4aa1ba1318614f92015f40d45aae1b9075cd30bd490efbe39387b60a76ca3f045 - languageName: node - linkType: hard - "universalify@npm:^2.0.0": version: 2.0.1 resolution: "universalify@npm:2.0.1"