6f9b59b224
Scaffolds `twenty-new-ui`, the next-gen replacement for `twenty-ui`, on **SCSS** Modules + **Base UI** (no Linaria). - **Tooling**: Vite lib build, subpaths mirror twenty-ui, typed SCSS Modules, Storybook + axe a11y, size-limit, Nx targets. - **Theme**: single token source → nx generateTheme emits the CSS vars + accessor; parity test asserts token-for-token match with twenty-ui. Migrated a first `Toggle` component with its stories to allow @charlesBochet to wire the new pixel-diff system. --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
59 lines
1.5 KiB
TypeScript
59 lines
1.5 KiB
TypeScript
import type { StorybookConfig } from '@storybook/react-vite';
|
|
import path from 'node:path';
|
|
import { fileURLToPath } from 'node:url';
|
|
import checker from 'vite-plugin-checker';
|
|
|
|
const dirname =
|
|
typeof __dirname !== 'undefined'
|
|
? __dirname
|
|
: path.dirname(fileURLToPath(import.meta.url));
|
|
|
|
const isVitest = Boolean(process.env.VITEST);
|
|
|
|
const config: StorybookConfig = {
|
|
stories: ['../src/**/*.@(mdx|stories.@(js|jsx|ts|tsx))'],
|
|
|
|
addons: [
|
|
'@storybook-community/storybook-addon-cookie',
|
|
'@storybook/addon-links',
|
|
'@storybook/addon-coverage',
|
|
'@storybook/addon-a11y',
|
|
'storybook-addon-pseudo-states',
|
|
'@storybook/addon-vitest',
|
|
],
|
|
|
|
framework: '@storybook/react-vite',
|
|
|
|
viteFinal: async (viteConfig) => {
|
|
const plugins = [...(viteConfig.plugins ?? [])];
|
|
|
|
if (!isVitest) {
|
|
plugins.push(
|
|
checker({
|
|
typescript: {
|
|
tsconfigPath: path.resolve(dirname, '../tsconfig.json'),
|
|
},
|
|
}),
|
|
);
|
|
}
|
|
|
|
return {
|
|
...viteConfig,
|
|
plugins,
|
|
resolve: {
|
|
...viteConfig.resolve,
|
|
alias: {
|
|
...(viteConfig.resolve?.alias ?? {}),
|
|
'@tabler/icons-react': '@tabler/icons-react/dist/esm/icons/index.mjs',
|
|
},
|
|
},
|
|
};
|
|
},
|
|
};
|
|
|
|
export default config;
|
|
|
|
// To customize your Vite configuration you can use the viteFinal field.
|
|
// Check https://storybook.js.org/docs/react/builders/vite#configuration
|
|
// and https://nx.dev/recipes/storybook/custom-builder-configs
|