import path from 'pathe' import { expect, it } from 'vitest' import { getConfig, getRawConfig } from '../../src/utils/get-config' it('get raw config', async () => { expect( await getRawConfig(path.resolve(__dirname, '../fixtures/config-none')), ).toEqual(null) expect( await getRawConfig(path.resolve(__dirname, '../fixtures/config-partial')), ).toEqual({ style: 'default', tailwind: { config: './tailwind.config.ts', css: './src/assets/css/tailwind.css', baseColor: 'neutral', cssVariables: false, }, // tsConfigPath: './tsconfig.json', aliases: { components: '@/components', utils: '@/lib/utils', }, typescript: true, }) expect( getRawConfig(path.resolve(__dirname, '../fixtures/config-invalid')), ).rejects.toThrowError() }) it('get config', async () => { expect( await getConfig(path.resolve(__dirname, '../fixtures/config-none')), ).toEqual(null) expect( getConfig(path.resolve(__dirname, '../fixtures/config-invalid')), ).rejects.toThrowError() expect( await getConfig(path.resolve(__dirname, '../fixtures/config-partial')), ).toEqual({ style: 'default', tailwind: { config: './tailwind.config.ts', css: './src/assets/css/tailwind.css', baseColor: 'neutral', cssVariables: false, }, typescript: true, aliases: { components: '@/components', utils: '@/lib/utils', }, // tsConfigPath: './tsconfig.json', resolvedPaths: { cwd: path.resolve(__dirname, '../fixtures/config-partial'), tailwindConfig: path.resolve( __dirname, '../fixtures/config-partial', 'tailwind.config.ts', ), tailwindCss: path.resolve( __dirname, '../fixtures/config-partial', './src/assets/css/tailwind.css', ), components: path.resolve( __dirname, '../fixtures/config-partial', './components', ), ui: path.resolve( __dirname, '../fixtures/config-partial', './components/ui', ), utils: path.resolve( __dirname, '../fixtures/config-partial', './lib/utils', ), lib: path.resolve(__dirname, '../fixtures/config-partial', './lib'), }, iconLibrary: 'lucide', }) expect( await getConfig(path.resolve(__dirname, '../fixtures/config-full')), ).toEqual({ style: 'new-york', typescript: true, tailwind: { config: 'tailwind.config.ts', baseColor: 'zinc', css: 'src/app/globals.css', cssVariables: true, prefix: 'tw-', }, aliases: { components: '~/components', utils: '~/lib/utils', lib: '~/lib', ui: '~/ui', }, iconLibrary: 'lucide', resolvedPaths: { cwd: path.resolve(__dirname, '../fixtures/config-full'), tailwindConfig: path.resolve( __dirname, '../fixtures/config-full', 'tailwind.config.ts', ), tailwindCss: path.resolve( __dirname, '../fixtures/config-full', './src/app/globals.css', ), components: path.resolve( __dirname, '../fixtures/config-full', './src/components', ), ui: path.resolve(__dirname, '../fixtures/config-full', './src/ui'), lib: path.resolve(__dirname, '../fixtures/config-full', './src/lib'), utils: path.resolve( __dirname, '../fixtures/config-full', './src/lib/utils', ), }, }) expect( await getConfig(path.resolve(__dirname, '../fixtures/config-js')), ).toEqual({ style: 'default', tailwind: { config: './tailwind.config.js', css: './src/assets/css/tailwind.css', baseColor: 'neutral', cssVariables: false, }, typescript: false, aliases: { components: '@/components', utils: '@/lib/utils', }, iconLibrary: 'radix', resolvedPaths: { cwd: path.resolve(__dirname, '../fixtures/config-js'), tailwindConfig: path.resolve( __dirname, '../fixtures/config-js', 'tailwind.config.js', ), tailwindCss: path.resolve( __dirname, '../fixtures/config-js', './src/assets/css/tailwind.css', ), components: path.resolve( __dirname, '../fixtures/config-js', './components', ), ui: path.resolve(__dirname, '../fixtures/config-js', './components/ui'), utils: path.resolve(__dirname, '../fixtures/config-js', './lib/utils'), lib: path.resolve(__dirname, '../fixtures/config-js', './lib'), }, }) })