From 5a10dffd0b955257f0f7bedbfd25aba37ac744db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isaac=20Rold=C3=A1n?= Date: Mon, 15 Jun 2026 17:21:48 +0200 Subject: [PATCH 1/4] Add generated freshness verification script --- CONTRIBUTING.md | 13 ++ bin/verify-generated.js | 273 ++++++++++++++++++++++++++++++++++++++++ package.json | 3 +- 3 files changed, 288 insertions(+), 1 deletion(-) create mode 100755 bin/verify-generated.js diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6422291582a..065bc5c0be5 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -8,6 +8,19 @@ This project uses [Changesets](https://github.com/changesets/changesets) to mana pnpm changeset add ``` +## Generated freshness checks + +Before pushing changes that touch GraphQL operations, command definitions, flags, autogenerated examples, or CLI +documentation, run: + +``` +pnpm verify:generated +``` + +This mirrors the generated-file freshness checks in `.github/workflows/tests-pr.yml` and fails when a generator changes +files that were not already changed. To inspect the planned commands without running generators, use +`pnpm verify:generated --dry-run`. + ### Choosing the right bump type The CLI follows [semantic versioning](https://semver.org). Pick the bump type that matches the nature of your change: diff --git a/bin/verify-generated.js b/bin/verify-generated.js new file mode 100755 index 00000000000..af6a3edd902 --- /dev/null +++ b/bin/verify-generated.js @@ -0,0 +1,273 @@ +#!/usr/bin/env node + +import {spawnSync} from 'node:child_process' +import path from 'node:path' +import {fileURLToPath} from 'node:url' + +const __dirname = path.dirname(fileURLToPath(import.meta.url)) +const root = path.resolve(__dirname, '..') + +const graphqlFamily = 'graphql' +const oclifFamilies = ['manifests', 'readme', 'code-documentation', 'shopify-dev-docs'] +const allFamilies = [graphqlFamily, ...oclifFamilies] +const aliases = new Map([ + ['all', allFamilies], + ['oclif', oclifFamilies], + ['docs', ['readme', 'code-documentation', 'shopify-dev-docs']], +]) + +const usage = `Usage: pnpm verify:generated [options] + +Runs the generated-file freshness checks enforced by tests-pr.yml. + +Options: + --only Comma-separated families: all, graphql, oclif, manifests, + readme, code-documentation, shopify-dev-docs, docs + --dry-run Print the commands and git checks without running them + --skip-build Skip the OCLIF/docs pre-build step + -h, --help Show this help message +` + +const options = parseArguments(process.argv.slice(2)) + +if (options.help) { + console.log(usage) + process.exit(0) +} + +const selectedFamilies = expandFamilies(options.only) +const initialSnapshots = options.dryRun ? new Map() : initialSnapshotsFor(selectedFamilies) + +if (selectedFamilies.has(graphqlFamily)) { + run('pnpm', ['graphql-codegen:get-graphql-schemas']) + run('pnpm', ['graphql-codegen']) + checkUnchanged([], 'Run pnpm graphql-codegen when queries are changed, committing any fixes and generated files.') +} + +if (oclifFamilies.some((family) => selectedFamilies.has(family))) { + if (!options.skipBuild) { + run('pnpm', ['build', '--output-style=stream']) + } + + if (selectedFamilies.has('manifests')) { + run('pnpm', ['refresh-manifests']) + checkUnchanged(['**/oclif.manifest.json'], 'Run pnpm refresh-manifests before pushing new commands or flags.') + } + + if (selectedFamilies.has('readme')) { + run('pnpm', ['refresh-readme']) + checkUnchanged(['packages/cli/README.md'], 'Run pnpm refresh-readme before pushing new commands or flags.') + } + + if (selectedFamilies.has('code-documentation')) { + run('pnpm', ['refresh-code-documentation']) + checkUnchanged([], 'Run pnpm refresh-code-documentation when you update functions with autogenerated examples.') + } + + if (selectedFamilies.has('shopify-dev-docs')) { + run('pnpm', ['build-dev-docs']) + checkUnchanged( + ['docs-shopify.dev/generated/*.json'], + 'Run pnpm build-dev-docs before pushing new commands or flags.', + ) + } +} + +if (options.dryRun) { + console.log('\nDry run complete.') +} else { + console.log('\nGenerated files are fresh.') +} + +function parseArguments(args) { + const parsed = { + dryRun: false, + help: false, + only: ['all'], + skipBuild: false, + } + + for (let index = 0; index < args.length; index++) { + const arg = args[index] + + if (arg === '--dry-run') { + parsed.dryRun = true + } else if (arg === '--skip-build') { + parsed.skipBuild = true + } else if (arg === '--help' || arg === '-h') { + parsed.help = true + } else if (arg === '--only') { + const value = args[index + 1] + if (!value) { + failWithUsage('--only requires a comma-separated value.') + } + parsed.only = value.split(',') + index++ + } else if (arg.startsWith('--only=')) { + parsed.only = arg.slice('--only='.length).split(',') + } else { + failWithUsage(`Unknown option: ${arg}`) + } + } + + return parsed +} + +function expandFamilies(values) { + const selected = new Set() + + for (const rawValue of values) { + const value = rawValue.trim() + + if (value === '') { + continue + } + + if (aliases.has(value)) { + for (const family of aliases.get(value)) { + selected.add(family) + } + } else if (allFamilies.includes(value)) { + selected.add(value) + } else { + failWithUsage(`Unknown generated freshness family: ${value}`) + } + } + + if (selected.size === 0) { + failWithUsage('Select at least one generated freshness family.') + } + + return selected +} + +function initialSnapshotsFor(selectedFamilies) { + const pathspecsToSnapshot = [] + + if (selectedFamilies.has(graphqlFamily) || selectedFamilies.has('code-documentation')) { + pathspecsToSnapshot.push([]) + } + + if (selectedFamilies.has('manifests')) { + pathspecsToSnapshot.push(['**/oclif.manifest.json']) + } + + if (selectedFamilies.has('readme')) { + pathspecsToSnapshot.push(['packages/cli/README.md']) + } + + if (selectedFamilies.has('shopify-dev-docs')) { + pathspecsToSnapshot.push(['docs-shopify.dev/generated/*.json']) + } + + return new Map(pathspecsToSnapshot.map((pathspecs) => [pathspecKey(pathspecs), gitSnapshot(pathspecs)])) +} + +function run(command, args) { + const printableCommand = [command, ...args].join(' ') + + if (options.dryRun) { + console.log(`$ ${printableCommand}`) + return + } + + console.log(`\n$ ${printableCommand}`) + const result = spawnSync(command, args, {cwd: root, stdio: 'inherit'}) + + if (result.status !== 0) { + process.exit(result.status ?? 1) + } +} + +function checkUnchanged(pathspecs, message) { + const printablePathspecs = pathspecs.length === 0 ? '' : ` -- ${pathspecs.join(' ')}` + + if (options.dryRun) { + console.log(`$ git status --porcelain${printablePathspecs}`) + console.log(`$ git diff${printablePathspecs}`) + return + } + + const baseline = initialSnapshots.get(pathspecKey(pathspecs)) + const snapshot = gitSnapshot(pathspecs) + + if (snapshot.status === baseline.status && snapshot.diff === baseline.diff) { + return + } + + console.error(`\n${message} + +Changed files: + +${formatStatusChange(baseline.status, snapshot.status)}`) + printDiff(pathspecs) + process.exit(1) +} + +function gitSnapshot(pathspecs) { + return { + diff: gitDiff(pathspecs), + status: gitStatus(pathspecs), + } +} + +function gitStatus(pathspecs) { + const result = spawnSync('git', ['status', '--porcelain', ...gitPathspecArgs(pathspecs)], { + cwd: root, + encoding: 'utf8', + }) + + if (result.status !== 0) { + process.stderr.write(result.stderr) + process.exit(result.status ?? 1) + } + + return result.stdout.trim() +} + +function printDiff(pathspecs) { + const diff = gitDiff(pathspecs) + + if (diff.trim() !== '') { + console.error(`\nDiff:\n\n${diff}`) + } +} + +function gitDiff(pathspecs) { + const result = spawnSync('git', ['diff', ...gitPathspecArgs(pathspecs)], { + cwd: root, + encoding: 'utf8', + }) + + if (result.status !== 0) { + process.stderr.write(result.stderr) + process.exit(result.status ?? 1) + } + + return result.stdout +} + +function gitPathspecArgs(pathspecs) { + return pathspecs.length === 0 ? [] : ['--', ...pathspecs] +} + +function pathspecKey(pathspecs) { + return pathspecs.join('\0') +} + +function formatStatusChange(before, after) { + if (before === '') { + return after + } + + return `Before: +${before} + +After: +${after}` +} + +function failWithUsage(message) { + console.error(`${message}\n\n${usage}`) + process.exit(1) +} diff --git a/package.json b/package.json index 942408f5f81..895d5bfc71b 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,8 @@ "test": "pnpm vitest run", "type-check:affected": "nx affected --target=type-check", "type-check": "nx run-many --target=type-check --all --skip-nx-cache", - "update-bugsnag": "bin/update-bugsnag.js" + "update-bugsnag": "bin/update-bugsnag.js", + "verify:generated": "node bin/verify-generated.js" }, "devDependencies": { "@bugsnag/source-maps": "^2.3.1", From af819ec46fa5dad23dd50c959db545a42aff1799 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isaac=20Rold=C3=A1n?= Date: Mon, 15 Jun 2026 17:48:32 +0200 Subject: [PATCH 2/4] Simplify generated freshness verifier --- CONTRIBUTING.md | 5 +- bin/verify-generated.js | 280 ++++++---------------------------------- 2 files changed, 44 insertions(+), 241 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 065bc5c0be5..ceb1821074d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -17,9 +17,8 @@ documentation, run: pnpm verify:generated ``` -This mirrors the generated-file freshness checks in `.github/workflows/tests-pr.yml` and fails when a generator changes -files that were not already changed. To inspect the planned commands without running generators, use -`pnpm verify:generated --dry-run`. +This mirrors the generated-file freshness checks in `.github/workflows/tests-pr.yml`. To inspect the planned commands +without running generators, use `pnpm verify:generated --dry-run`. ### Choosing the right bump type diff --git a/bin/verify-generated.js b/bin/verify-generated.js index af6a3edd902..5df717e86ca 100755 --- a/bin/verify-generated.js +++ b/bin/verify-generated.js @@ -1,273 +1,77 @@ #!/usr/bin/env node import {spawnSync} from 'node:child_process' -import path from 'node:path' -import {fileURLToPath} from 'node:url' -const __dirname = path.dirname(fileURLToPath(import.meta.url)) -const root = path.resolve(__dirname, '..') +const dryRun = process.argv.includes('--dry-run') +const help = process.argv.includes('--help') || process.argv.includes('-h') +const unknownOption = process.argv.slice(2).find((arg) => !['--dry-run', '--help', '-h'].includes(arg)) -const graphqlFamily = 'graphql' -const oclifFamilies = ['manifests', 'readme', 'code-documentation', 'shopify-dev-docs'] -const allFamilies = [graphqlFamily, ...oclifFamilies] -const aliases = new Map([ - ['all', allFamilies], - ['oclif', oclifFamilies], - ['docs', ['readme', 'code-documentation', 'shopify-dev-docs']], -]) +if (help) { + console.log(`Usage: pnpm verify:generated [--dry-run] -const usage = `Usage: pnpm verify:generated [options] - -Runs the generated-file freshness checks enforced by tests-pr.yml. - -Options: - --only Comma-separated families: all, graphql, oclif, manifests, - readme, code-documentation, shopify-dev-docs, docs - --dry-run Print the commands and git checks without running them - --skip-build Skip the OCLIF/docs pre-build step - -h, --help Show this help message -` - -const options = parseArguments(process.argv.slice(2)) - -if (options.help) { - console.log(usage) +Runs the generated-file freshness checks from .github/workflows/tests-pr.yml.`) process.exit(0) } -const selectedFamilies = expandFamilies(options.only) -const initialSnapshots = options.dryRun ? new Map() : initialSnapshotsFor(selectedFamilies) - -if (selectedFamilies.has(graphqlFamily)) { - run('pnpm', ['graphql-codegen:get-graphql-schemas']) - run('pnpm', ['graphql-codegen']) - checkUnchanged([], 'Run pnpm graphql-codegen when queries are changed, committing any fixes and generated files.') -} - -if (oclifFamilies.some((family) => selectedFamilies.has(family))) { - if (!options.skipBuild) { - run('pnpm', ['build', '--output-style=stream']) - } - - if (selectedFamilies.has('manifests')) { - run('pnpm', ['refresh-manifests']) - checkUnchanged(['**/oclif.manifest.json'], 'Run pnpm refresh-manifests before pushing new commands or flags.') - } - - if (selectedFamilies.has('readme')) { - run('pnpm', ['refresh-readme']) - checkUnchanged(['packages/cli/README.md'], 'Run pnpm refresh-readme before pushing new commands or flags.') - } - - if (selectedFamilies.has('code-documentation')) { - run('pnpm', ['refresh-code-documentation']) - checkUnchanged([], 'Run pnpm refresh-code-documentation when you update functions with autogenerated examples.') - } - - if (selectedFamilies.has('shopify-dev-docs')) { - run('pnpm', ['build-dev-docs']) - checkUnchanged( - ['docs-shopify.dev/generated/*.json'], - 'Run pnpm build-dev-docs before pushing new commands or flags.', - ) - } -} - -if (options.dryRun) { - console.log('\nDry run complete.') -} else { - console.log('\nGenerated files are fresh.') -} - -function parseArguments(args) { - const parsed = { - dryRun: false, - help: false, - only: ['all'], - skipBuild: false, - } - - for (let index = 0; index < args.length; index++) { - const arg = args[index] - - if (arg === '--dry-run') { - parsed.dryRun = true - } else if (arg === '--skip-build') { - parsed.skipBuild = true - } else if (arg === '--help' || arg === '-h') { - parsed.help = true - } else if (arg === '--only') { - const value = args[index + 1] - if (!value) { - failWithUsage('--only requires a comma-separated value.') - } - parsed.only = value.split(',') - index++ - } else if (arg.startsWith('--only=')) { - parsed.only = arg.slice('--only='.length).split(',') - } else { - failWithUsage(`Unknown option: ${arg}`) - } - } - - return parsed -} - -function expandFamilies(values) { - const selected = new Set() - - for (const rawValue of values) { - const value = rawValue.trim() - - if (value === '') { - continue - } - - if (aliases.has(value)) { - for (const family of aliases.get(value)) { - selected.add(family) - } - } else if (allFamilies.includes(value)) { - selected.add(value) - } else { - failWithUsage(`Unknown generated freshness family: ${value}`) - } - } - - if (selected.size === 0) { - failWithUsage('Select at least one generated freshness family.') - } - - return selected +if (unknownOption) { + console.error(`Unknown option: ${unknownOption}`) + process.exit(1) } -function initialSnapshotsFor(selectedFamilies) { - const pathspecsToSnapshot = [] +checkClean('', 'Commit or stash local changes before running generated freshness checks') - if (selectedFamilies.has(graphqlFamily) || selectedFamilies.has('code-documentation')) { - pathspecsToSnapshot.push([]) - } +run('pnpm graphql-codegen:get-graphql-schemas') +run('pnpm graphql-codegen') +run('git diff') +checkClean('', 'Run pnpm graphql-codegen when queries are changed, committing any fixes and generated files') - if (selectedFamilies.has('manifests')) { - pathspecsToSnapshot.push(['**/oclif.manifest.json']) - } +run('pnpm build --output-style=stream') +run('pnpm refresh-manifests') +checkClean('**/oclif.manifest.json', 'Run pnpm refresh-manifests before pushing new commands or flags') - if (selectedFamilies.has('readme')) { - pathspecsToSnapshot.push(['packages/cli/README.md']) - } +run('pnpm refresh-readme') +checkClean('packages/cli/README.md', 'Run pnpm refresh-readme before pushing new commands or flags') - if (selectedFamilies.has('shopify-dev-docs')) { - pathspecsToSnapshot.push(['docs-shopify.dev/generated/*.json']) - } +run('pnpm refresh-code-documentation') +checkClean('', 'Run pnpm refresh-code-documentation when you update functions with autogenerated examples') - return new Map(pathspecsToSnapshot.map((pathspecs) => [pathspecKey(pathspecs), gitSnapshot(pathspecs)])) -} +run('pnpm build-dev-docs') +checkClean('docs-shopify.dev/generated/*.json', 'Run pnpm build-dev-docs before pushing new commands or flags') -function run(command, args) { - const printableCommand = [command, ...args].join(' ') +console.log('Generated files are fresh.') - if (options.dryRun) { - console.log(`$ ${printableCommand}`) +function run(command) { + if (dryRun) { + console.log(`$ ${command}`) return } - console.log(`\n$ ${printableCommand}`) - const result = spawnSync(command, args, {cwd: root, stdio: 'inherit'}) - - if (result.status !== 0) { - process.exit(result.status ?? 1) - } + console.log(`\n$ ${command}`) + const result = spawnSync(command, {shell: true, stdio: 'inherit'}) + if (result.status !== 0) process.exit(result.status ?? 1) } -function checkUnchanged(pathspecs, message) { - const printablePathspecs = pathspecs.length === 0 ? '' : ` -- ${pathspecs.join(' ')}` - - if (options.dryRun) { - console.log(`$ git status --porcelain${printablePathspecs}`) - console.log(`$ git diff${printablePathspecs}`) - return - } - - const baseline = initialSnapshots.get(pathspecKey(pathspecs)) - const snapshot = gitSnapshot(pathspecs) - - if (snapshot.status === baseline.status && snapshot.diff === baseline.diff) { - return - } - - console.error(`\n${message} - -Changed files: +function checkClean(pathspec, message) { + const command = pathspec ? `git status --porcelain "${pathspec}"` : 'git status --porcelain' + const status = output(command) + if (status === '') return -${formatStatusChange(baseline.status, snapshot.status)}`) - printDiff(pathspecs) + console.error(`${message}.`) + console.error('\nChanged files:\n') + console.error(status) process.exit(1) } -function gitSnapshot(pathspecs) { - return { - diff: gitDiff(pathspecs), - status: gitStatus(pathspecs), +function output(command) { + if (dryRun) { + console.log(`$ ${command}`) + return '' } -} - -function gitStatus(pathspecs) { - const result = spawnSync('git', ['status', '--porcelain', ...gitPathspecArgs(pathspecs)], { - cwd: root, - encoding: 'utf8', - }) + const result = spawnSync(command, {shell: true, encoding: 'utf8'}) if (result.status !== 0) { process.stderr.write(result.stderr) process.exit(result.status ?? 1) } - return result.stdout.trim() } - -function printDiff(pathspecs) { - const diff = gitDiff(pathspecs) - - if (diff.trim() !== '') { - console.error(`\nDiff:\n\n${diff}`) - } -} - -function gitDiff(pathspecs) { - const result = spawnSync('git', ['diff', ...gitPathspecArgs(pathspecs)], { - cwd: root, - encoding: 'utf8', - }) - - if (result.status !== 0) { - process.stderr.write(result.stderr) - process.exit(result.status ?? 1) - } - - return result.stdout -} - -function gitPathspecArgs(pathspecs) { - return pathspecs.length === 0 ? [] : ['--', ...pathspecs] -} - -function pathspecKey(pathspecs) { - return pathspecs.join('\0') -} - -function formatStatusChange(before, after) { - if (before === '') { - return after - } - - return `Before: -${before} - -After: -${after}` -} - -function failWithUsage(message) { - console.error(`${message}\n\n${usage}`) - process.exit(1) -} From 644c6666614ec6c715fefbe5609aeb5c5a8560be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isaac=20Rold=C3=A1n?= Date: Mon, 15 Jun 2026 17:52:02 +0200 Subject: [PATCH 3/4] Use simple generated command chain --- CONTRIBUTING.md | 3 +- bin/verify-generated.js | 77 ----------------------------------------- package.json | 2 +- 3 files changed, 2 insertions(+), 80 deletions(-) delete mode 100755 bin/verify-generated.js diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ceb1821074d..7cea5ed0304 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -17,8 +17,7 @@ documentation, run: pnpm verify:generated ``` -This mirrors the generated-file freshness checks in `.github/workflows/tests-pr.yml`. To inspect the planned commands -without running generators, use `pnpm verify:generated --dry-run`. +This runs the generators checked by `.github/workflows/tests-pr.yml`. Commit any generated file changes before pushing. ### Choosing the right bump type diff --git a/bin/verify-generated.js b/bin/verify-generated.js deleted file mode 100755 index 5df717e86ca..00000000000 --- a/bin/verify-generated.js +++ /dev/null @@ -1,77 +0,0 @@ -#!/usr/bin/env node - -import {spawnSync} from 'node:child_process' - -const dryRun = process.argv.includes('--dry-run') -const help = process.argv.includes('--help') || process.argv.includes('-h') -const unknownOption = process.argv.slice(2).find((arg) => !['--dry-run', '--help', '-h'].includes(arg)) - -if (help) { - console.log(`Usage: pnpm verify:generated [--dry-run] - -Runs the generated-file freshness checks from .github/workflows/tests-pr.yml.`) - process.exit(0) -} - -if (unknownOption) { - console.error(`Unknown option: ${unknownOption}`) - process.exit(1) -} - -checkClean('', 'Commit or stash local changes before running generated freshness checks') - -run('pnpm graphql-codegen:get-graphql-schemas') -run('pnpm graphql-codegen') -run('git diff') -checkClean('', 'Run pnpm graphql-codegen when queries are changed, committing any fixes and generated files') - -run('pnpm build --output-style=stream') -run('pnpm refresh-manifests') -checkClean('**/oclif.manifest.json', 'Run pnpm refresh-manifests before pushing new commands or flags') - -run('pnpm refresh-readme') -checkClean('packages/cli/README.md', 'Run pnpm refresh-readme before pushing new commands or flags') - -run('pnpm refresh-code-documentation') -checkClean('', 'Run pnpm refresh-code-documentation when you update functions with autogenerated examples') - -run('pnpm build-dev-docs') -checkClean('docs-shopify.dev/generated/*.json', 'Run pnpm build-dev-docs before pushing new commands or flags') - -console.log('Generated files are fresh.') - -function run(command) { - if (dryRun) { - console.log(`$ ${command}`) - return - } - - console.log(`\n$ ${command}`) - const result = spawnSync(command, {shell: true, stdio: 'inherit'}) - if (result.status !== 0) process.exit(result.status ?? 1) -} - -function checkClean(pathspec, message) { - const command = pathspec ? `git status --porcelain "${pathspec}"` : 'git status --porcelain' - const status = output(command) - if (status === '') return - - console.error(`${message}.`) - console.error('\nChanged files:\n') - console.error(status) - process.exit(1) -} - -function output(command) { - if (dryRun) { - console.log(`$ ${command}`) - return '' - } - - const result = spawnSync(command, {shell: true, encoding: 'utf8'}) - if (result.status !== 0) { - process.stderr.write(result.stderr) - process.exit(result.status ?? 1) - } - return result.stdout.trim() -} diff --git a/package.json b/package.json index 895d5bfc71b..d7dddca38e3 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,7 @@ "type-check:affected": "nx affected --target=type-check", "type-check": "nx run-many --target=type-check --all --skip-nx-cache", "update-bugsnag": "bin/update-bugsnag.js", - "verify:generated": "node bin/verify-generated.js" + "verify:generated": "pnpm graphql-codegen:get-graphql-schemas && pnpm graphql-codegen && pnpm build --output-style=stream && pnpm refresh-manifests && pnpm refresh-readme && pnpm refresh-code-documentation && pnpm build-dev-docs" }, "devDependencies": { "@bugsnag/source-maps": "^2.3.1", From d9df8aec99499ed59fefb9422b3edeb2eac6235c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isaac=20Rold=C3=A1n?= Date: Mon, 15 Jun 2026 17:55:35 +0200 Subject: [PATCH 4/4] Rename generated refresh script --- CONTRIBUTING.md | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 7cea5ed0304..27311ea9fd6 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -14,10 +14,10 @@ Before pushing changes that touch GraphQL operations, command definitions, flags documentation, run: ``` -pnpm verify:generated +pnpm generate:all ``` -This runs the generators checked by `.github/workflows/tests-pr.yml`. Commit any generated file changes before pushing. +This runs all generators checked by `.github/workflows/tests-pr.yml`. Commit any generated file changes before pushing. ### Choosing the right bump type diff --git a/package.json b/package.json index d7dddca38e3..ccdb6335a60 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,7 @@ "type-check:affected": "nx affected --target=type-check", "type-check": "nx run-many --target=type-check --all --skip-nx-cache", "update-bugsnag": "bin/update-bugsnag.js", - "verify:generated": "pnpm graphql-codegen:get-graphql-schemas && pnpm graphql-codegen && pnpm build --output-style=stream && pnpm refresh-manifests && pnpm refresh-readme && pnpm refresh-code-documentation && pnpm build-dev-docs" + "generate:all": "pnpm graphql-codegen:get-graphql-schemas && pnpm graphql-codegen && pnpm build --output-style=stream && pnpm refresh-manifests && pnpm refresh-readme && pnpm refresh-code-documentation && pnpm build-dev-docs" }, "devDependencies": { "@bugsnag/source-maps": "^2.3.1",