Releases: tsofist/web-buddy
Releases · tsofist/web-buddy
Release list
v2.0.0
2.0.0 (2026-09-29)
Features
- v2 – ESM, flat config and compiled configuration sources (c0107fa)
BREAKING CHANGES
- ESM-only package – CommonJS consumption is no longer supported
- Requires Node.js >= 22.22.2 (was >= 20)
- Requires ESLint >= 10 and flat config only; extending .eslintrc.yaml or eslint/**/*.yaml no longer works
- All public paths changed: configs are served from lib/; .eslintrc.yaml, .stylelintrc.yaml, .prettierrc.js, .releaserc-*.json and tsconfig/{base,browser,server}.json are no longer shipped
- tsconfig/browser.json → tsconfig/config.web.json, tsconfig/server.json → tsconfig/config.isomorphic.json
- Semantic Release is wired via "extends": "@tsofist/web-buddy/semantic-release/config.github.js"
- Strict mode is enabled through the WEB_BUDDY_STRICT env var instead of a separate extendable config
- License changed from MIT to LGPL-3.0
- Requires Stylelint >= 17 and TypeScript ~6.0
Other notable changes
- Package rewritten in TypeScript: configs now live as sources in src/,
the compiled lib/ is published (build: tsc -p tsconfig.build.json) - ESM-only: "type": "module", all configs are .js/.mjs modules
- ESLint 8 → 10: full move to flat config (eslint.config.mjs); YAML configs
under eslint/** removed in favour of src/eslint/config.*.ts - @typescript-eslint/* → typescript-eslint, eslint-plugin-import →
eslint-plugin-import-x, eslint-plugin-json-format → eslint-plugin-jsonc;
added @eslint/js, @stylistic/eslint-plugin, globals, yaml-eslint-parser - Dropped eslint-plugin-prettier-vue and eslint-config-prettier
- Stylelint 16 → 17; .stylelintrc.yaml → stylelint.config.mjs +
src/stylelint/; stylelint-config- and stylelint-scss bumped - Prettier: .prettierrc.js → prettier.config.mjs + src/prettier/config.ts
- TypeScript ~5.9 → ~6.0; tsconfig/{base,browser,server}.json →
src/tsconfig/config.{base,web,isomorphic}.json - Semantic Release: .releaserc-*.json → src/semantic-release/config.{github,gitlab}.ts
- configuration-bootstrap; @semantic-release/* majors bumped
- New strictness mode driven by the WEB_BUDDY_STRICT env var (src/mode.ts,
isWebBuddyStrictFor) replacing eslint/stricter.extends.yaml - Added @total-typescript/ts-reset (src/reset.d.ts), shared ignores and the
config.fws-mercurio preset - Added lockfile-lint (npm run lint:lock-file) and an npm test target
- Lint cache moved from .lint-cache/ to .cache/
- Added .nvmrc and test-resources/ (ts/json/pcss smoke fixtures)