{"bomFormat":"CycloneDX","specVersion":"1.5","version":1,"serialNumber":"urn:uuid:99b3199f-5de5-4e96-83b7-2f4378d85e91","metadata":{"timestamp":"2026-04-19T11:25:15Z","tools":[{"vendor":"Ecosystems","name":"Ecosystems SBOM Generator"}],"component":{"type":"application","name":"TechQuery/TechQuery.github.io"}},"components":[{"type":"library","name":"actions/checkout","version":"v3","purl":"pkg:githubactions/actions/checkout","properties":[{"name":"filePath","value":".github/workflows/main.yml"}]},{"type":"library","name":"actions/setup-node","version":"v3","purl":"pkg:githubactions/actions/setup-node","properties":[{"name":"filePath","value":".github/workflows/main.yml"}]},{"type":"library","name":"peaceiris/actions-gh-pages","version":"v3","purl":"pkg:githubactions/peaceiris/actions-gh-pages","properties":[{"name":"filePath","value":".github/workflows/main.yml"}]},{"type":"library","name":"hexo","version":"^4.2.1","purl":"pkg:npm/hexo","properties":[{"name":"filePath","value":"package.json"}]},{"type":"library","name":"hexo-auto-category","version":"^0.2.1","purl":"pkg:npm/hexo-auto-category","properties":[{"name":"filePath","value":"package.json"}]},{"type":"library","name":"hexo-deployer-git","version":"^2.1.0","purl":"pkg:npm/hexo-deployer-git","properties":[{"name":"filePath","value":"package.json"}]},{"type":"library","name":"hexo-generator-archive","version":"^1.0.0","purl":"pkg:npm/hexo-generator-archive","properties":[{"name":"filePath","value":"package.json"}]},{"type":"library","name":"hexo-generator-category","version":"^1.0.0","purl":"pkg:npm/hexo-generator-category","properties":[{"name":"filePath","value":"package.json"}]},{"type":"library","name":"hexo-generator-feed","version":"^2.2.0","purl":"pkg:npm/hexo-generator-feed","properties":[{"name":"filePath","value":"package.json"}]},{"type":"library","name":"hexo-generator-index","version":"^1.0.0","purl":"pkg:npm/hexo-generator-index","properties":[{"name":"filePath","value":"package.json"}]},{"type":"library","name":"hexo-generator-search","version":"^2.4.3","purl":"pkg:npm/hexo-generator-search","properties":[{"name":"filePath","value":"package.json"}]},{"type":"library","name":"hexo-generator-slidehtml","version":"0.0.62","purl":"pkg:npm/hexo-generator-slidehtml","properties":[{"name":"filePath","value":"package.json"}]},{"type":"library","name":"hexo-generator-tag","version":"^1.0.0","purl":"pkg:npm/hexo-generator-tag","properties":[{"name":"filePath","value":"package.json"}]},{"type":"library","name":"hexo-migrator-web","version":"^1.2.1","purl":"pkg:npm/hexo-migrator-web","properties":[{"name":"filePath","value":"package.json"}]},{"type":"library","name":"hexo-permalink-pinyin","version":"^1.1.0","purl":"pkg:npm/hexo-permalink-pinyin","properties":[{"name":"filePath","value":"package.json"}]},{"type":"library","name":"hexo-prism-plugin","version":"^2.3.0","purl":"pkg:npm/hexo-prism-plugin","properties":[{"name":"filePath","value":"package.json"}]},{"type":"library","name":"hexo-renderer-ejs","version":"^1.0.0","purl":"pkg:npm/hexo-renderer-ejs","properties":[{"name":"filePath","value":"package.json"}]},{"type":"library","name":"hexo-renderer-marked","version":"^3.3.0","purl":"pkg:npm/hexo-renderer-marked","properties":[{"name":"filePath","value":"package.json"}]},{"type":"library","name":"hexo-renderer-stylus","version":"^1.1.0","purl":"pkg:npm/hexo-renderer-stylus","properties":[{"name":"filePath","value":"package.json"}]},{"type":"library","name":"hexo-server","version":"^1.0.0","purl":"pkg:npm/hexo-server","properties":[{"name":"filePath","value":"package.json"}]},{"type":"library","name":"object-assign","version":"^4.1.1","purl":"pkg:npm/object-assign","properties":[{"name":"filePath","value":"package.json"}]},{"type":"library","name":"husky","version":"^8.0.3","purl":"pkg:npm/husky","properties":[{"name":"filePath","value":"package.json"}]},{"type":"library","name":"jsonresume-theme-kendall","version":"^0.2.0","purl":"pkg:npm/jsonresume-theme-kendall","properties":[{"name":"filePath","value":"package.json"}]},{"type":"library","name":"lint-staged","version":"^13.1.2","purl":"pkg:npm/lint-staged","properties":[{"name":"filePath","value":"package.json"}]},{"type":"library","name":"prettier","version":"^2.8.4","purl":"pkg:npm/prettier","properties":[{"name":"filePath","value":"package.json"}]},{"type":"library","name":"resume-cli","version":"^3.0.8","purl":"pkg:npm/resume-cli","properties":[{"name":"filePath","value":"package.json"}]},{"type":"library","name":"yamljs","version":"^0.3.0","purl":"pkg:npm/yamljs","properties":[{"name":"filePath","value":"package.json"}]},{"type":"library","name":"remapping@2.3.0","purl":"pkg:npm/remapping@2.3.0","properties":[{"name":"filePath","value":"pnpm-lock.yaml"}]},{"type":"library","name":"code-frame@7.24.2","purl":"pkg:npm/code-frame@7.24.2","properties":[{"name":"filePath","value":"pnpm-lock.yaml"}]},{"type":"library","name":"compat-data@7.24.4","purl":"pkg:npm/compat-data@7.24.4","properties":[{"name":"filePath","value":"pnpm-lock.yaml"}]},{"type":"library","name":"core@7.24.5","purl":"pkg:npm/core@7.24.5","properties":[{"name":"filePath","value":"pnpm-lock.yaml"}]},{"type":"library","name":"generator@7.24.5","purl":"pkg:npm/generator@7.24.5","properties":[{"name":"filePath","value":"pnpm-lock.yaml"}]},{"type":"library","name":"helper-compilation-targets@7.23.6","purl":"pkg:npm/helper-compilation-targets@7.23.6","properties":[{"name":"filePath","value":"pnpm-lock.yaml"}]},{"type":"library","name":"helper-environment-visitor@7.22.20","purl":"pkg:npm/helper-environment-visitor@7.22.20","properties":[{"name":"filePath","value":"pnpm-lock.yaml"}]},{"type":"library","name":"helper-function-name@7.23.0","purl":"pkg:npm/helper-function-name@7.23.0","properties":[{"name":"filePath","value":"pnpm-lock.yaml"}]},{"type":"library","name":"helper-hoist-variables@7.22.5","purl":"pkg:npm/helper-hoist-variables@7.22.5","properties":[{"name":"filePath","value":"pnpm-lock.yaml"}]},{"type":"library","name":"helper-module-imports@7.24.3","purl":"pkg:npm/helper-module-imports@7.24.3","properties":[{"name":"filePath","value":"pnpm-lock.yaml"}]},{"type":"library","name":"helper-module-transforms@7.24.5","purl":"pkg:npm/helper-module-transforms@7.24.5","properties":[{"name":"filePath","value":"pnpm-lock.yaml"}]},{"type":"library","name":"helper-simple-access@7.24.5","purl":"pkg:npm/helper-simple-access@7.24.5","properties":[{"name":"filePath","value":"pnpm-lock.yaml"}]},{"type":"library","name":"helper-split-export-declaration@7.24.5","purl":"pkg:npm/helper-split-export-declaration@7.24.5","properties":[{"name":"filePath","value":"pnpm-lock.yaml"}]},{"type":"library","name":"helper-string-parser@7.24.1","purl":"pkg:npm/helper-string-parser@7.24.1","properties":[{"name":"filePath","value":"pnpm-lock.yaml"}]},{"type":"library","name":"helper-validator-identifier@7.24.5","purl":"pkg:npm/helper-validator-identifier@7.24.5","properties":[{"name":"filePath","value":"pnpm-lock.yaml"}]},{"type":"library","name":"helper-validator-option@7.23.5","purl":"pkg:npm/helper-validator-option@7.23.5","properties":[{"name":"filePath","value":"pnpm-lock.yaml"}]},{"type":"library","name":"helpers@7.24.5","purl":"pkg:npm/helpers@7.24.5","properties":[{"name":"filePath","value":"pnpm-lock.yaml"}]},{"type":"library","name":"highlight@7.24.5","purl":"pkg:npm/highlight@7.24.5","properties":[{"name":"filePath","value":"pnpm-lock.yaml"}]},{"type":"library","name":"parser@7.24.5","purl":"pkg:npm/parser@7.24.5","properties":[{"name":"filePath","value":"pnpm-lock.yaml"}]},{"type":"library","name":"template@7.24.0","purl":"pkg:npm/template@7.24.0","properties":[{"name":"filePath","value":"pnpm-lock.yaml"}]},{"type":"library","name":"traverse@7.24.5","purl":"pkg:npm/traverse@7.24.5","properties":[{"name":"filePath","value":"pnpm-lock.yaml"}]},{"type":"library","name":"types@7.24.5","purl":"pkg:npm/types@7.24.5","properties":[{"name":"filePath","value":"pnpm-lock.yaml"}]},{"type":"library","name":"cliui@8.0.2","purl":"pkg:npm/cliui@8.0.2","properties":[{"name":"filePath","value":"pnpm-lock.yaml"}]},{"type":"library","name":"fs-minipass@4.0.1","purl":"pkg:npm/fs-minipass@4.0.1","properties":[{"name":"filePath","value":"pnpm-lock.yaml"}]},{"type":"library","name":"console@24.9.0","purl":"pkg:npm/console@24.9.0","properties":[{"name":"filePath","value":"pnpm-lock.yaml"}]},{"type":"library","name":"source-map@24.9.0","purl":"pkg:npm/source-map@24.9.0","properties":[{"name":"filePath","value":"pnpm-lock.yaml"}]},{"type":"library","name":"test-result@24.9.0","purl":"pkg:npm/test-result@24.9.0","properties":[{"name":"filePath","value":"pnpm-lock.yaml"}]},{"type":"library","name":"types@24.9.0","purl":"pkg:npm/types@24.9.0","properties":[{"name":"filePath","value":"pnpm-lock.yaml"}]},{"type":"library","name":"gen-mapping@0.3.5","purl":"pkg:npm/gen-mapping@0.3.5","properties":[{"name":"filePath","value":"pnpm-lock.yaml"}]},{"type":"library","name":"resolve-uri@3.1.2","purl":"pkg:npm/resolve-uri@3.1.2","properties":[{"name":"filePath","value":"pnpm-lock.yaml"}]},{"type":"library","name":"set-array@1.2.1","purl":"pkg:npm/set-array@1.2.1","properties":[{"name":"filePath","value":"pnpm-lock.yaml"}]},{"type":"library","name":"sourcemap-codec@1.4.15","purl":"pkg:npm/sourcemap-codec@1.4.15","properties":[{"name":"filePath","value":"pnpm-lock.yaml"}]},{"type":"library","name":"trace-mapping@0.3.25","purl":"pkg:npm/trace-mapping@0.3.25","properties":[{"name":"filePath","value":"pnpm-lock.yaml"}]},{"type":"library","name":"domino@2.2.0","purl":"pkg:npm/domino@2.2.0","properties":[{"name":"filePath","value":"pnpm-lock.yaml"}]},{"type":"library","name":"parseargs@0.11.0","purl":"pkg:npm/parseargs@0.11.0","properties":[{"name":"filePath","value":"pnpm-lock.yaml"}]},{"type":"library","name":"browsers@1.9.1","purl":"pkg:npm/browsers@1.9.1","properties":[{"name":"filePath","value":"pnpm-lock.yaml"}]},{"type":"library","name":"component-emitter@3.1.2","purl":"pkg:npm/component-emitter@3.1.2","properties":[{"name":"filePath","value":"pnpm-lock.yaml"}]},{"type":"library","name":"node-toolkit@1.2.1","purl":"pkg:npm/node-toolkit@1.2.1","properties":[{"name":"filePath","value":"pnpm-lock.yaml"}]},{"type":"library","name":"token@0.3.0","purl":"pkg:npm/token@0.3.0","properties":[{"name":"filePath","value":"pnpm-lock.yaml"}]},{"type":"library","name":"once@2.0.0","purl":"pkg:npm/once@2.0.0","properties":[{"name":"filePath","value":"pnpm-lock.yaml"}]},{"type":"library","name":"quickjs-emscripten@0.23.0","purl":"pkg:npm/quickjs-emscripten@0.23.0","properties":[{"name":"filePath","value":"pnpm-lock.yaml"}]},{"type":"library","name":"babel-types@7.0.15","purl":"pkg:npm/babel-types@7.0.15","properties":[{"name":"filePath","value":"pnpm-lock.yaml"}]},{"type":"library","name":"babylon@6.16.9","purl":"pkg:npm/babylon@6.16.9","properties":[{"name":"filePath","value":"pnpm-lock.yaml"}]},{"type":"library","name":"cookie@0.4.1","purl":"pkg:npm/cookie@0.4.1","properties":[{"name":"filePath","value":"pnpm-lock.yaml"}]},{"type":"library","name":"cors@2.8.17","purl":"pkg:npm/cors@2.8.17","properties":[{"name":"filePath","value":"pnpm-lock.yaml"}]},{"type":"library","name":"istanbul-lib-coverage@2.0.6","purl":"pkg:npm/istanbul-lib-coverage@2.0.6","properties":[{"name":"filePath","value":"pnpm-lock.yaml"}]},{"type":"library","name":"istanbul-lib-report@3.0.3","purl":"pkg:npm/istanbul-lib-report@3.0.3","properties":[{"name":"filePath","value":"pnpm-lock.yaml"}]},{"type":"library","name":"istanbul-reports@1.1.2","purl":"pkg:npm/istanbul-reports@1.1.2","properties":[{"name":"filePath","value":"pnpm-lock.yaml"}]},{"type":"library","name":"jsdom@21.1.6","purl":"pkg:npm/jsdom@21.1.6","properties":[{"name":"filePath","value":"pnpm-lock.yaml"}]},{"type":"library","name":"node@20.12.12","purl":"pkg:npm/node@20.12.12","properties":[{"name":"filePath","value":"pnpm-lock.yaml"}]},{"type":"library","name":"stack-utils@1.0.1","purl":"pkg:npm/stack-utils@1.0.1","properties":[{"name":"filePath","value":"pnpm-lock.yaml"}]},{"type":"library","name":"tough-cookie@4.0.5","purl":"pkg:npm/tough-cookie@4.0.5","properties":[{"name":"filePath","value":"pnpm-lock.yaml"}]},{"type":"library","name":"yargs-parser@21.0.3","purl":"pkg:npm/yargs-parser@21.0.3","properties":[{"name":"filePath","value":"pnpm-lock.yaml"}]},{"type":"library","name":"yargs@13.0.12","purl":"pkg:npm/yargs@13.0.12","properties":[{"name":"filePath","value":"pnpm-lock.yaml"}]},{"type":"library","name":"yauzl@2.10.3","purl":"pkg:npm/yauzl@2.10.3","properties":[{"name":"filePath","value":"pnpm-lock.yaml"}]}]}