{
  "Notes": [
    "The 'all' runs _all_ named scripts in sequence, even if one fails; and exits with failure in that case.",
    "check:links actually has the side-effect of 'fixing' the refcache; this is why test-and-fix uses _fix:most"
  ],
  "scripts": {
    "__check:links": "make --keep-going check-links",
    "_build": "npm run _hugo -- -e dev --buildDrafts --buildFuture --baseURL \"${DEPLOY_PRIME_URL:-http://localhost}\"",
    "__check:format": "./scripts/npx-helper.sh prettier",
    "_check:format:any": "npm run __check:format -- --check --ignore-path ''",
    "_check:format:ja+zh": "npm run _check:format:nowrap -- content/ja content/zh",
    "_check:format:nowrap": "npm run _check:format:any -- --prose-wrap preserve",
    "_check:format": "npm run __check:format -- --check .",
    "_check:links--md": "npx markdown-link-check --config .markdown-link-check.json *.md",
    "_check:links--warn": "npm run _check:links || (echo; echo 'WARNING: see link-checker output for issues.'; echo)",
    "_check:links:internal": "npm run __check:links",
    "_check:links": "HTMLTEST_ARGS='--log-level 1' npm run __check:links",
    "_check:markdown": "npx gulp lint-md",
    "_check:registry": "npx gulp validate-registry",
    "_check:text": "npx textlint content data `ls *.md`",
    "_commit:public": "HASH=$(git rev-parse --short main); cd public && git add -A && git commit -m \"Site at $HASH\"",
    "_diff:check": "git diff --name-only --exit-code",
    "_diff:fail": "git diff --name-only --exit-code || exit 1",
    "_fail": "exit 1",
    "_filename-error": "echo 'ERROR: the following files violate naming conventions; fix using: `npm run fix:filenames`'; echo; npm run -s _ls-bad-filenames; exit 1",
    "_fix:trailing-spaces": "find content -name '*.md' -exec perl -i -pe 's/[ \t]+$//g' {} +",
    "_get:no": "echo SKIPPING get operation",
    "_get:submodule": "set -x && git submodule update --init ${DEPTH:- --depth 999}",
    "_hugo": "hugo --cleanDestinationDir",
    "_install:dict": "npm install -D $(npm run -s _list:dict)",
    "_install:netlify-cli": "npm list netlify-cli || npm install -O netlify-cli",
    "_list:check:*": "npm run --loglevel=warn | grep -Ee '^\\s*check:[^:]+$'",
    "_list:check:for-test-and-fix": "npm -s run _list:check:* | grep -Ev \"i18n|${CMD_SKIP:-noop}\"",
    "_list:dict": "grep '^\\s*\"@cspell' package.json | awk -F: '{print $1}'  | tr -d '\"'",
    "_list:fix:*": "npm run --loglevel=warn | grep -Ee '^\\s*fix:[^:]+$' | grep -v 'fix:all'",
    "_list:fix:for-test-and-fix": "npm -s run _list:fix:* | grep -Ev \"i18n|refcache|submodule|${CMD_SKIP:-noop}\"",
    "_ls-bad-filenames": "find assets content static -name '*_*' ! -name '[_.]*'",
    "_pin:submodule": "scripts/pin-submodules.pl",
    "_prebuild": "npm run seq -- get:submodule cp:spec",
    "_prepare:docsy": "cd themes/docsy && npm install",
    "_prettier:any": "npx prettier --ignore-path ''",
    "_refcache:prune": "npx gulp prune",
    "_rename-to-kebab-case": "find assets content static -name '*_*' ! -name '[_.]*' -exec sh -c 'mv \"$1\" \"${1//_/-}\"' _ {} \\;",
    "_serve:hugo": "hugo server --buildDrafts --minify",
    "_serve:netlify": "netlify dev -c \"npm run _serve:hugo -- --renderToMemory\"",
    "all": "bash -c 'x=0; for c in \"$@\"; do npm run $c || x=$((x+1)); done; ((!x)) || (echo \"ERROR: some scripts failed!\" && exit 1)' -",
    "build:preview": "set -x && npm run _build -- --minify",
    "build:production": "npm run _hugo -- --minify",
    "build": "npm run _build --",
    "cd:public": "cd public &&",
    "check:expired": "find content -name '*.md' | xargs ./scripts/list-expired.pl",
    "check:filenames": "test -z \"$(npm run -s _ls-bad-filenames)\" || npm run -s _filename-error",
    "check:format": "npm run _check:format && npm run _check:format:ja+zh || (echo '[help] Run: npm run fix:format'; exit 1)",
    "check:i18n": "scripts/check-i18n.sh",
    "check:links:internal": "npm run _check:links:internal",
    "check:links": "npm run _check:links",
    "check:markdown": "scripts/check-markdown-wrapper.sh",
    "check:markdown2": "npx markdownlint-cli2 'content/**/*.md' '*.md'",
    "check:registry": "npm run _check:registry -- ",
    "check:spelling": "npx cspell --no-progress -c .cspell.yml content data 'layouts/**/*.md'",
    "check:text": "npm run _check:text -- ",
    "check": "npm run seq -- $(npm run -s _list:check:*)",
    "clean": "make clean",
    "code-excerpts:get": "cd tools && dart run build_runner build --delete-conflicting-outputs --output ../tmp/excerpts",
    "code-excerpts:update-docs": "cd tools && dart run code_excerpt_updater --fragment-dir-path ../tmp/excerpts --src-dir-path examples --yaml --write-in-place content",
    "code-excerpts": "rm -Rf tmp/excerpts/* && npm run seq -- code-excerpts:get code-excerpts:update-docs",
    "cp:spec": "scripts/content-modules/cp-pages.sh",
    "diff:check": "npm run _diff:check || (echo; echo 'WARNING: the files above have not been committed'; echo)",
    "diff:fail": "npm run _diff:check || (echo; echo 'ERROR: the files above have changed. Locally rerun `npm run test-and-fix` and commit changes'; echo; exit 1)",
    "fix:all": "npm run all -- $(npm -s run _list:fix:* | grep -Ev \"i18n|${CMD_SKIP:-noop}\")",
    "fix:dict": "find content layouts -name \"*.md\" -print0 | xargs -0 scripts/normalize-cspell-front-matter.pl",
    "fix:expired": "npm run -s check:expired -- -q | xargs -r -I {} sh -c 'echo \"Deleting expired file: {}\" && rm {}'",
    "fix:filenames": "npm run _rename-to-kebab-case",
    "fix:format": "npm run format; npm run _fix:trailing-spaces",
    "fix:htmltest-config": "scripts/htmltest-config.sh",
    "fix:i18n:status": "scripts/check-i18n.sh -D",
    "fix:i18n:new": "scripts/check-i18n.sh -n -c HEAD",
    "fix:i18n": "npm run seq -- fix:i18n:new fix:i18n:status",
    "fix:markdown": "npm run check:markdown -- --fix; echo '\nTrimming trailing whitespace'; npm run _fix:trailing-spaces",
    "fix:refcache:refresh": "npm run _refcache:prune -- -n ${PRUNE_N:-128}",
    "fix:refcache": "npm run check:links",
    "fix:submodule": "npm run pin:submodule",
    "fix:text": "npm run check:text -- --fix",
    "fix": "npm run all -- $(npm -s run _list:fix:*)",
    "format": "npm run _check:format -- --write && npm run _check:format:ja+zh -- --write",
    "get:submodule": "npm run _get:${GET:-submodule} --",
    "log:check:links": "npm run check:links 2>&1 | tee tmp/build-log.txt",
    "log:test-and-fix": "npm run test-and-fix 2>&1 | tee tmp/build-log.txt",
    "make:public": "make public ls-public",
    "netlify-build:preview": "npm run seq -- build:preview diff:check",
    "netlify-build:production": "npm run seq -- build:production diff:check",
    "pin:submodule": "npm run _pin:submodule -- $PIN_SKIP",
    "postfix:refcache:refresh": "npm run fix:refcache",
    "postfix:submodule": "git submodule",
    "postget:submodule": "git submodule",
    "prebuild:preview": "npm run _prebuild",
    "prebuild:production": "npm run _prebuild",
    "prebuild": "npm run _prebuild",
    "precheck:links:internal": "npm run build && npm run fix:htmltest-config",
    "precheck:links": "npm run build && npm run fix:htmltest-config",
    "prefix:submodule": "npm run update:submodule",
    "prepare": "npm run seq -- get:submodule _prepare:docsy",
    "preserve:hugo": "npm run _prebuild",
    "preserve:netlify": "npm run seq -- _prebuild _install:netlify-cli",
    "schemas:update": "npm run update:submodule content-modules/opentelemetry-specification",
    "seq": "bash -c 'for cmd in \"$@\"; do npm run $cmd || exit 1; done' - ",
    "serve:hugo": "npm run _serve:hugo -- --renderToMemory",
    "serve:netlify": "npm run _serve:netlify",
    "serve": "npm run serve:hugo --",
    "test-and-fix": "npm run seq -- fix:submodule $(npm -s run _list:fix:for-test-and-fix) $(npm -s run _list:check:for-test-and-fix)",
    "test": "npm run check",
    "update:pkg:hugo": "npm install --save-dev --save-exact hugo-extended@latest",
    "update:pkgs": "npx npm-check-updates -u",
    "update:submodule": "set -x && git submodule update --remote ${DEPTH:- --depth 999} && git submodule foreach 'git fetch $(git remote | tail -1) --tags'"
  },
  "devDependencies": {
    "@cspell/dict-bn": "^1.0.1",
    "@cspell/dict-es-es": "^3.0.3",
    "@cspell/dict-fr-fr": "^2.3.0",
    "@cspell/dict-pt-br": "^2.4.0",
    "ajv": "^8.17.1",
    "ajv-errors": "^3.0.0",
    "ajv-formats": "^3.0.1",
    "autoprefixer": "^10.4.21",
    "cspell": "^9.0.1",
    "gulp": "^5.0.0",
    "hugo-extended": "0.147.2",
    "js-yaml": "^4.1.0",
    "markdown-link-check": "^3.13.7",
    "markdownlint": "^0.37.4",
    "markdownlint-cli2": "^0.17.2",
    "postcss-cli": "^11.0.1",
    "prettier": "3.5.3",
    "puppeteer": "^24.8.2",
    "require-dir": "^1.2.0",
    "textlint": "^14.7.1",
    "textlint-filter-rule-allowlist": "^4.0.0",
    "textlint-filter-rule-comments": "^1.2.2",
    "textlint-rule-terminology": "^5.2.12",
    "through2": "^4.0.2",
    "yargs": "^17.7.2"
  },
  "dependencies": {
    "@opentelemetry/api": "^1.9.0",
    "@opentelemetry/auto-instrumentations-web": "^0.46.0",
    "@opentelemetry/context-zone": "^2.0.0",
    "@opentelemetry/core": "^2.0.0",
    "@opentelemetry/exporter-trace-otlp-http": "^0.201.1",
    "@opentelemetry/instrumentation": "^0.200.0",
    "@opentelemetry/resources": "^2.0.0",
    "@opentelemetry/sdk-trace-base": "^2.0.0",
    "@opentelemetry/sdk-trace-web": "^2.0.0",
    "@opentelemetry/semantic-conventions": "^1.33.0",
    "path": "^0.12.7"
  },
  "optionalDependencies": {
    "netlify-cli": "^21.3.0",
    "npm-check-updates": "^18.0.1"
  },
  "enginesComment": "Ensure that engines.node value stays consistent with the project's .nvmrc",
  "engines": {
    "node": "22.x"
  },
  "gitHubActionCacheKey": "2023-07-13 - change this key to force cache refresh",
  "private": true,
  "prettier": {
    "proseWrap": "always",
    "singleQuote": true
  },
  "spelling": "cSpell:ignore docsy elemetry htmltest hugo loglevel netlify nowrap pkgs postnetlify prebuild precheck preinstall postbuild postget refcache textlint -"
}
