diff --git a/packages/botonic-dx-rs/CHANGELOG.md b/packages/botonic-dx-rs/CHANGELOG.md new file mode 100644 index 0000000000..ebf1860c98 --- /dev/null +++ b/packages/botonic-dx-rs/CHANGELOG.md @@ -0,0 +1,11 @@ +# Changelog + +All notable changes to this package will be documented in this file. + +## [0.45.0-alpha.0] - 2026-02-11 + +### Added + +- Initial package setup for `@botonic/dx-rs`. +- Baseline config files for Rspack, Biome and Jest. +- `sample-config` files to consume and extend the shared baseline without copying it. diff --git a/packages/botonic-dx-rs/README.md b/packages/botonic-dx-rs/README.md new file mode 100644 index 0000000000..96f812ec65 --- /dev/null +++ b/packages/botonic-dx-rs/README.md @@ -0,0 +1,27 @@ +# @botonic/dx-rs + +Developer-experience package that will progressively replace `@botonic/dx`. + +## Setup + +- Install this package: + +```bash +npm install -D @botonic/dx-rs +``` + +- Copy the contents of `sample-config` to the root of your bot project. +- Extend any config file locally without duplicating baseline configs. + +## Included baseline files + +- `baseline/rspack.config.ts` +- `baseline/biome.json` +- `baseline/jest.config.js` + +## Included sample-config files + +- `sample-config/rspack.config.ts` +- `sample-config/biome.json` +- `sample-config/jest.config.js` +- `sample-config/package.json` diff --git a/packages/botonic-dx-rs/baseline/biome.json b/packages/botonic-dx-rs/baseline/biome.json new file mode 100644 index 0000000000..a09aa9679c --- /dev/null +++ b/packages/botonic-dx-rs/baseline/biome.json @@ -0,0 +1,15 @@ +{ + "$schema": "https://biomejs.dev/schemas/2.3.0/schema.json", + "formatter": { + "enabled": true, + "indentStyle": "space", + "indentWidth": 2, + "lineWidth": 100 + }, + "linter": { + "enabled": true, + "rules": { + "recommended": true + } + } +} diff --git a/packages/botonic-dx-rs/baseline/jest.config.js b/packages/botonic-dx-rs/baseline/jest.config.js new file mode 100644 index 0000000000..f72e48fadb --- /dev/null +++ b/packages/botonic-dx-rs/baseline/jest.config.js @@ -0,0 +1,5 @@ +/** @type {import('jest').Config} */ +module.exports = { + clearMocks: true, + testEnvironment: 'node', +} diff --git a/packages/botonic-dx-rs/baseline/rspack.config.ts b/packages/botonic-dx-rs/baseline/rspack.config.ts new file mode 100644 index 0000000000..a6cc70701c --- /dev/null +++ b/packages/botonic-dx-rs/baseline/rspack.config.ts @@ -0,0 +1,5 @@ +import { defineConfig } from '@rspack/core' + +export default defineConfig({ + mode: 'production', +}) diff --git a/packages/botonic-dx-rs/package.json b/packages/botonic-dx-rs/package.json new file mode 100644 index 0000000000..cfa4f2ac91 --- /dev/null +++ b/packages/botonic-dx-rs/package.json @@ -0,0 +1,32 @@ +{ + "name": "@botonic/dx-rs", + "version": "0.45.0-alpha.0", + "description": "Developer experience baseline for the upcoming Botonic RS toolchain", + "scripts": { + "build": "echo Skipping build..." + }, + "author": "", + "license": "MIT", + "keywords": [ + "bot-framework", + "javascript", + "typescript", + "rspack", + "biome" + ], + "dependencies": { + "@biomejs/biome": "^2.3.13", + "@rspack/core": "^1.7.3", + "jest": "^30.2.0" + }, + "engines": { + "node": ">=22.19.0", + "npm": ">=10.0.0" + }, + "files": [ + "README.md", + "CHANGELOG.md", + "baseline/*", + "sample-config/*" + ] +} diff --git a/packages/botonic-dx-rs/sample-config/biome.json b/packages/botonic-dx-rs/sample-config/biome.json new file mode 100644 index 0000000000..33302d18e3 --- /dev/null +++ b/packages/botonic-dx-rs/sample-config/biome.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://biomejs.dev/schemas/2.3.0/schema.json", + "extends": ["./node_modules/@botonic/dx-rs/baseline/biome.json"] +} diff --git a/packages/botonic-dx-rs/sample-config/jest.config.js b/packages/botonic-dx-rs/sample-config/jest.config.js new file mode 100644 index 0000000000..900b2eacfc --- /dev/null +++ b/packages/botonic-dx-rs/sample-config/jest.config.js @@ -0,0 +1,8 @@ +/** @type {import('jest').Config} */ +const config = require('@botonic/dx-rs/baseline/jest.config.js') + +// Patch here your custom Jest configuration. +// Example: +// config.testPathIgnorePatterns = [...(config.testPathIgnorePatterns || []), 'tests/helpers'] + +module.exports = config diff --git a/packages/botonic-dx-rs/sample-config/package.json b/packages/botonic-dx-rs/sample-config/package.json new file mode 100644 index 0000000000..a1ce03ce45 --- /dev/null +++ b/packages/botonic-dx-rs/sample-config/package.json @@ -0,0 +1,8 @@ +{ + "scripts": { + "format": "biome format --write src/ tests/", + "lint": "biome lint --write src/ tests/", + "lint:check": "biome lint src/ tests/", + "test": "jest" + } +} diff --git a/packages/botonic-dx-rs/sample-config/rspack.config.ts b/packages/botonic-dx-rs/sample-config/rspack.config.ts new file mode 100644 index 0000000000..01b487c7cd --- /dev/null +++ b/packages/botonic-dx-rs/sample-config/rspack.config.ts @@ -0,0 +1,12 @@ +import baseConfig from '@botonic/dx-rs/baseline/rspack.config' + +// Extend the shared Rspack baseline for your bot project. +// Example: +// export default { +// ...baseConfig, +// mode: 'development', +// } + +export default { + ...baseConfig, +}