diff --git a/README.md b/README.md index b5d0dc0..f7aea61 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,10 @@ # @btravstack/tools + + + btravstack tools + + Shared configuration packages for [btravstack](https://github.com/btravstack) repositories. Each repo used to hand-copy a near-identical `tools/tsconfig`, `tools/typedoc`, oxlint, oxfmt, commitlint, and lefthook setup; this monorepo diff --git a/branding/README.md b/branding/README.md new file mode 100644 index 0000000..05bb811 --- /dev/null +++ b/branding/README.md @@ -0,0 +1,12 @@ +# Tools identity + +The smiling pink beetroot keeps the approved illustrated style of the +btravstack family, with green leaves and soft shading; its silver open-end wrench +has a straight handle and distinct jaws, and identifies the shared build and +release toolchain. Its hands float independently of its body, without arms. Use `logo-light.svg` on light +surfaces, `logo-dark.svg` on dark surfaces, and `logo-mono.svg` for grayscale +print. `social-card.png` is the 1200 × 630 repository preview asset. + +Canonical SVG source: [generate-brand.mjs](https://github.com/btravstack/btravstack.github.io/blob/main/scripts/generate-brand.mjs). +Social source: [social-card.html](https://github.com/btravstack/btravstack.github.io/blob/main/branding/social-card.html), with `?project=tools`. +These are committed local copies; displaying them requires no external service. diff --git a/branding/logo-dark.svg b/branding/logo-dark.svg new file mode 100644 index 0000000..b9d21eb --- /dev/null +++ b/branding/logo-dark.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/branding/logo-favicon.svg b/branding/logo-favicon.svg new file mode 100644 index 0000000..5d7e10d --- /dev/null +++ b/branding/logo-favicon.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/branding/logo-light.svg b/branding/logo-light.svg new file mode 100644 index 0000000..cf06096 --- /dev/null +++ b/branding/logo-light.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/branding/logo-mono.svg b/branding/logo-mono.svg new file mode 100644 index 0000000..cfd263f --- /dev/null +++ b/branding/logo-mono.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/branding/social-card.png b/branding/social-card.png new file mode 100644 index 0000000..cedd5ba Binary files /dev/null and b/branding/social-card.png differ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9611c01..a929d4d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -184,7 +184,8 @@ catalogs: version: 1.73.0 overrides: - fast-uri@<3.1.6: 3.1.6 + fast-uri@<3.1.8: 3.1.8 + tinypool@<2.1.2: 2.1.2 js-yaml@4: 4.3.2 importers: @@ -750,8 +751,8 @@ packages: fast-string-width@3.0.2: resolution: {integrity: sha512-gX8LrtNEI5hq8DVUfRQMbr5lpaS4nMIWV+7XEbXk2b8kiQIizgnlr12B4dA3ZEx3308ze0O4Q1R+cHts8kyUJg==} - fast-uri@3.1.6: - resolution: {integrity: sha512-7Ical1vFEMr0onbVzEDIreM22I4khW+fzyQPwvAFWBp1iwdshSZRsL4jjRvPG9JP1uiqMHRto+YU6R2/CzDz5Q==} + fast-uri@3.1.8: + resolution: {integrity: sha512-GZMtZUTNRpOVIECoXwLNZS5xUGE+mVNbTB8h/7Rwh2TFWcBQiPzTgyZi05BF9UMZKkLJv8XBRJTlU7zg8+ZfMg==} fast-wrap-ansi@0.2.2: resolution: {integrity: sha512-7F2Fl+TjRSenLqlU3UjSH0iyqopqoZIu7eZVpEirP2g1GtWa2G/ecEmBdgz31+Mxr+ELclgg6sokpSFIQiZ02Q==} @@ -943,8 +944,8 @@ packages: engines: {node: '>=10'} hasBin: true - shell-quote@1.10.0: - resolution: {integrity: sha512-w1aiOKwKuRgtwAReIIj89puqg+I7GvX4IbLrvmhXbzQsj1+Zwi4VO3+fa6ZF91TWSjIxoEkKnMeHcLEODK5ZXA==} + shell-quote@1.11.0: + resolution: {integrity: sha512-JdxDPD0DBTyu08pq0kPC0xSNet/qsU07qT6IsX1AS8oO2ICNRY4ldNa8OAI6PuwAH8tG3lxEhbqmyp4Dw4036g==} engines: {node: '>= 0.4'} sisteransi@1.0.5: @@ -970,8 +971,8 @@ packages: resolution: {integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==} engines: {node: '>=12.0.0'} - tinypool@2.1.0: - resolution: {integrity: sha512-Pugqs6M0m7Lv1I7FtxN4aoyToKg1C4tu+/381vH35y8oENM/Ai7f7C4StcoK4/+BSw9ebcS8jRiVrORFKCALLw==} + tinypool@2.1.2: + resolution: {integrity: sha512-9YodfrxS9g9IbFr/KOjE5bAeJ0p61n3bW6mqvy0jtoeKd1kTW1Cxm0oulm6KX2lyM9Gl6WIe8nEbY7LWv5ZJww==} engines: {node: ^20.0.0 || >=22.0.0} wrap-ansi@9.0.2: @@ -1380,7 +1381,7 @@ snapshots: ajv@8.20.0: dependencies: fast-deep-equal: 3.1.3 - fast-uri: 3.1.6 + fast-uri: 3.1.8 json-schema-traverse: 1.0.0 require-from-string: 2.0.2 @@ -1447,7 +1448,7 @@ snapshots: dependencies: fast-string-truncated-width: 3.0.3 - fast-uri@3.1.6: {} + fast-uri@3.1.8: {} fast-wrap-ansi@0.2.2: dependencies: @@ -1499,7 +1500,7 @@ snapshots: launch-editor@2.14.1: dependencies: picocolors: 1.1.1 - shell-quote: 1.10.0 + shell-quote: 1.11.0 lefthook-darwin-arm64@2.1.10: optional: true @@ -1548,7 +1549,7 @@ snapshots: oxfmt@0.58.0: dependencies: - tinypool: 2.1.0 + tinypool: 2.1.2 optionalDependencies: '@oxfmt/binding-android-arm-eabi': 0.58.0 '@oxfmt/binding-android-arm64': 0.58.0 @@ -1617,7 +1618,7 @@ snapshots: semver@7.8.5: {} - shell-quote@1.10.0: {} + shell-quote@1.11.0: {} sisteransi@1.0.5: {} @@ -1640,7 +1641,7 @@ snapshots: fdir: 6.5.0(picomatch@4.0.7) picomatch: 4.0.7 - tinypool@2.1.0: {} + tinypool@2.1.2: {} wrap-ansi@9.0.2: dependencies: diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index cd01193..18913b9 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -20,14 +20,14 @@ allowBuilds: lefthook: true overrides: - # GHSA-7p8r-x3mc-p8w7 (High, supersedes GHSA-v2hh-gcrm-f6hx), then four more - # in the same parser — GHSA-5jgf-p345-68v8, GHSA-f65p-4m7j-42xc, - # GHSA-fph4-wmhf-6fwf, GHSA-jqff-g426-hqxp — all ReDoS or parsing confusion - # below 3.1.6. Transitive only (via @commitlint/cli > ajv); dev-tooling only. - # The floor moves rather than a second entry being added: two overlapping - # ranges for one package is how a floor stops applying unnoticed. 3.1.6 - # published 2026-08-23, past the 7-day cutoff. - "fast-uri@<3.1.6": "3.1.6" + # GHSA-qw65-cvwx-89v3, GHSA-58mr-gqgx-xq4g and GHSA-hrr3-gc8f-f4qj, + # plus earlier parser advisories: keep one security floor for commitlint's + # transitive URI parser. 3.1.8 published 2026-09-15, past the 7-day cutoff. + "fast-uri@<3.1.8": "3.1.8" + # oxfmt pins 2.1.0. These worker-option fixes address GHSA-5gmw-xhrv-c9v3 + # and GHSA-85c8-ppgw-ccpr without upgrading the formatter. 2.1.2 published + # 2026-08-23, past the 7-day cutoff; its Node floor is compatible with oxfmt. + "tinypool@<2.1.2": "2.1.2" # GHSA-2883-xcg3-v3hh (High): js-yaml maxTotalMergeKeys does not limit CPU use # for empty merge sources, below 4.3.2. Transitive only (via @commitlint/cli > # cosmiconfig); dev-tooling only. 4.3.2 published 2026-08-26, past the 7-day