@basmilius/vite-preset 2.28.3 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -4,4 +4,4 @@ import closeBundle from "./closeBundle";
4
4
  import composeLibrary from "./composeLibrary";
5
5
  import preset from "./preset";
6
6
  export { advancedAppChunk, advancedLibraryChunk, closeBundle, composeLibrary, preset };
7
- export { flux, fluxDashboard } from "./libraries";
7
+ export { flux, fluxDashboard, fluxStatistics } from "./libraries";
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- var h=(e,r)=>({name:e,test:(s)=>!!r.find((a)=>s.includes(`/src/${a}`))});var b=(e,r)=>({name:e,test:(s)=>!!r.find((a)=>s.includes(`/node_modules/${a}/`))});var P=()=>({name:"@basmilius/vite-preset/close-bundle",closeBundle(){process.exit(0)}});import{existsSync as x,readFileSync as N,writeFileSync as v}from"node:fs";import{join as m,relative as O,resolve as L}from"node:path";import{searchForWorkspaceRoot as S}from"vite";var k=["tsconfig.app.json","tsconfig.json"],o=process.cwd(),l=(e)=>{let r=S(o),s=m(e.isolated?o:O(o,r),"node_modules"),a=e.sourcesPathGenerator??((t)=>L(o,`${s}/${t}/src`)),g=e.tsAliasPathGenerator??((t)=>`${s}/${t}/src/*`),c=a(e.name);return()=>({name:e.name,config:()=>({optimizeDeps:{exclude:[e.name]},resolve:{alias:{[e.name]:c,[e.alias]:c}},server:{fs:{allow:[c]}}}),configResolved(t){let i;for(let f of k)if(x(m(t.root,f))){i=m(t.root,f);break}if(!i)t.logger.error(`[${e.name}] A tsconfig.json is required for this library. Please create one.`),process.exit(1);let d=`${e.alias}/*`,y=N(i,{encoding:"utf-8"}),n=JSON.parse(y);if(n.compilerOptions.paths??={},d in n.compilerOptions.paths)return;n.compilerOptions.paths[d]=[g(e.name)],v(i,JSON.stringify(n,null,4),{encoding:"utf-8"})}})};import{resolve as C}from"node:path";import{camelCase as A,kebabCase as F}from"change-case";import{patchCssModules as D}from"vite-css-modules";import{searchForWorkspaceRoot as G}from"vite";import p from"css-class-generator";import I from"@laynezh/vite-plugin-lib-assets";import _ from"vite-plugin-dts";var u=[],$=(e)=>{function r(s){if(s.startsWith("i__const_"))s=s.substring(9),s=s.substring(0,s.length-2);if(e.cssModules?.classNames==="camel")return A(s);if(e.cssModules?.classNames==="kebab")return F(s);if(u.includes(s))return p(u.indexOf(s));return p(u.push(s)-1)}return{name:"@basmilius/vite-preset",config:()=>({build:{assetsInlineLimit:0,cssMinify:e.isLibrary?!1:"lightningcss",minify:e.isLibrary?!1:"oxc",rolldownOptions:{output:{assetFileNames:e.fileNames==="actual"||e.isLibrary?void 0:"[hash].[ext]",chunkFileNames:e.fileNames==="actual"||e.isLibrary?void 0:"[hash].js",entryFileNames:e.fileNames==="actual"||e.isLibrary?void 0:"[hash].js",minifyInternalExports:!0}}},css:{preprocessorMaxWorkers:!0,preprocessorOptions:{scss:{api:"modern-compiler"}},modules:{generateScopedName:e.cssModules?.generateScopedName??r}},json:{stringify:!0},resolve:{alias:{"@":C(process.cwd(),"./src")},extensions:[".js",".ts",".json",".vue"]},server:{fs:{allow:[G(process.cwd())]}}})}},j=(e={})=>[D(),$(e),e.isLibrary&&I({limit:0,name:e.assetFileNames??"[contenthash:8].[ext]"}),e.isLibrary&&_({cleanVueFileName:!1,copyDtsFiles:!0,staticImport:!0,tsconfigPath:e.tsconfigPath})];var w=l({name:"@flux-ui/components",alias:"$flux"}),E=l({name:"@flux-ui/dashboard",alias:"$fluxDashboard"});export{j as preset,E as fluxDashboard,w as flux,l as composeLibrary,P as closeBundle,b as advancedLibraryChunk,h as advancedAppChunk};
1
+ var b=(e,r)=>({name:e,test:(s)=>!!r.find((a)=>s.includes(`/src/${a}`))});var P=(e,r)=>({name:e,test:(s)=>!!r.find((a)=>s.includes(`/node_modules/${a}/`))});var x=()=>({name:"@basmilius/vite-preset/close-bundle",closeBundle(){process.exit(0)}});import{existsSync as N,readFileSync as v,writeFileSync as O}from"node:fs";import{join as f,relative as S,resolve as L}from"node:path";import{searchForWorkspaceRoot as k}from"vite";var C=["tsconfig.app.json","tsconfig.json"],l=process.cwd(),i=(e)=>{let r=k(l),s=f(e.isolated?l:S(l,r),"node_modules"),a=e.sourcesPathGenerator??((t)=>L(l,`${s}/${t}/src`)),g=e.tsAliasPathGenerator??((t)=>`${s}/${t}/src/*`),c=a(e.name);return()=>({name:e.name,config:()=>({optimizeDeps:{exclude:[e.name]},resolve:{alias:{[e.name]:c,[e.alias]:c}},server:{fs:{allow:[c]}}}),configResolved(t){let n;for(let h of C){let d=f(t.root,h);if(N(d)){n=d;break}}if(!n)t.logger.error(`[${e.name}] A tsconfig.json is required for this library. Please create one.`),process.exit(1);let m=`${e.alias}/*`,y=v(n,{encoding:"utf-8"}),o=JSON.parse(y);if(o.compilerOptions.paths??={},m in o.compilerOptions.paths)return;o.compilerOptions.paths[m]=[g(e.name)],O(n,JSON.stringify(o,null,4),{encoding:"utf-8"})}})};import{resolve as A}from"node:path";import{camelCase as F,kebabCase as D}from"change-case";import{patchCssModules as G}from"vite-css-modules";import{searchForWorkspaceRoot as I}from"vite";import p from"css-class-generator";import _ from"@laynezh/vite-plugin-lib-assets";import $ from"vite-plugin-dts";var u=[],w=(e)=>{function r(s){if(s.startsWith("i__const_"))s=s.substring(9),s=s.substring(0,s.length-2);if(e.cssModules?.classNames==="camel")return F(s);if(e.cssModules?.classNames==="kebab")return D(s);if(u.includes(s))return p(u.indexOf(s));return p(u.push(s)-1)}return{name:"@basmilius/vite-preset",config:()=>({build:{assetsInlineLimit:0,cssMinify:e.isLibrary?!1:"lightningcss",minify:e.isLibrary?!1:"oxc",rolldownOptions:{output:{assetFileNames:e.fileNames==="actual"||e.isLibrary?void 0:"[hash].[ext]",chunkFileNames:e.fileNames==="actual"||e.isLibrary?void 0:"[hash].js",entryFileNames:e.fileNames==="actual"||e.isLibrary?void 0:"[hash].js",minifyInternalExports:!0}}},css:{preprocessorMaxWorkers:!0,preprocessorOptions:{scss:{api:"modern-compiler"}},modules:{generateScopedName:e.cssModules?.generateScopedName??r}},json:{stringify:!0},resolve:{alias:{"@":A(process.cwd(),"./src")},extensions:[".js",".ts",".json",".vue"]},server:{fs:{allow:[I(process.cwd())]}}})}},j=(e={})=>[G(),w(e),e.isLibrary&&_({limit:0,name:e.assetFileNames??"[contenthash:8].[ext]"}),e.isLibrary&&$({cleanVueFileName:!1,copyDtsFiles:!0,staticImport:!0,tsconfigPath:e.tsconfigPath})];var E=i({name:"@flux-ui/components",alias:"$flux"}),M=i({name:"@flux-ui/dashboard",alias:"$fluxDashboard"}),R=i({name:"@flux-ui/statistics",alias:"$fluxStatistics"});export{j as preset,R as fluxStatistics,M as fluxDashboard,E as flux,i as composeLibrary,x as closeBundle,P as advancedLibraryChunk,b as advancedAppChunk};
2
2
 
3
- //# debugId=065A9A04101C903664756E2164756E21
3
+ //# debugId=B9C4549380C2DFAB64756E2164756E21
4
4
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -5,11 +5,11 @@
5
5
  "type AdvancedChunk = {\n readonly name: string;\n readonly test: (moduleId: string) => boolean;\n};\n\nexport default (name: string, moduleIds: string[]): AdvancedChunk => ({\n name: name,\n test: moduleId => !!moduleIds.find(module => moduleId.includes(`/src/${module}`))\n});\n",
6
6
  "type AdvancedChunk = {\n readonly name: string;\n readonly test: (moduleId: string) => boolean;\n};\n\nexport default (name: string, moduleIds: string[]): AdvancedChunk => ({\n name: name,\n test: moduleId => !!moduleIds.find(module => moduleId.includes(`/node_modules/${module}/`))\n});\n",
7
7
  "import type { Plugin } from 'vite';\n\nexport default (): Plugin => ({\n name: '@basmilius/vite-preset/close-bundle',\n\n closeBundle() {\n process.exit(0);\n }\n});\n",
8
- "import { existsSync, readFileSync, writeFileSync } from 'node:fs';\nimport { join, relative, resolve } from 'node:path';\nimport type { Plugin, UserConfig } from 'vite';\nimport { searchForWorkspaceRoot } from 'vite';\n\ntype ComposePlugin = () => Plugin;\ntype PathGenerator = (name: string) => string;\n\ntype Options = {\n readonly alias: string;\n readonly isolated?: boolean;\n readonly name: string;\n readonly sourcesPathGenerator?: PathGenerator;\n readonly tsAliasPathGenerator?: PathGenerator;\n};\n\nconst TSCONFIG_FILES = ['tsconfig.app.json', 'tsconfig.json'] as const;\nconst WORKING_DIR = process.cwd();\n\nexport default (options: Options): ComposePlugin => {\n const WORKSPACE_ROOT = searchForWorkspaceRoot(WORKING_DIR);\n const WORKSPACE_NODE_MODULES = join(options.isolated ? WORKING_DIR : relative(WORKING_DIR, WORKSPACE_ROOT), 'node_modules');\n\n const sourcesPathGenerator = options.sourcesPathGenerator ?? (name => resolve(WORKING_DIR, `${WORKSPACE_NODE_MODULES}/${name}/src`));\n const tsAliasPathGenerator = options.tsAliasPathGenerator ?? (name => `${WORKSPACE_NODE_MODULES}/${name}/src/*`);\n\n const src = sourcesPathGenerator(options.name);\n\n return (): Plugin => ({\n name: options.name,\n\n config: (): UserConfig => ({\n optimizeDeps: {\n exclude: [options.name]\n },\n resolve: {\n alias: {\n [options.name]: src,\n [options.alias]: src\n }\n },\n server: {\n fs: {\n allow: [src]\n }\n }\n }),\n\n configResolved(config): void {\n let tsconfigPath: string;\n\n for (const file of TSCONFIG_FILES) {\n if (existsSync(join(config.root, file))) {\n tsconfigPath = join(config.root, file);\n break;\n }\n }\n\n if (!tsconfigPath) {\n config.logger.error(`[${options.name}] A tsconfig.json is required for this library. Please create one.`);\n process.exit(1);\n }\n\n const key = `${options.alias}/*`;\n const tsconfigData = readFileSync(tsconfigPath, {encoding: 'utf-8'});\n const tsconfig = JSON.parse(tsconfigData);\n tsconfig.compilerOptions.paths ??= {};\n\n if (key in tsconfig.compilerOptions.paths) {\n return;\n }\n\n tsconfig.compilerOptions.paths[key] = [tsAliasPathGenerator(options.name)];\n\n writeFileSync(tsconfigPath, JSON.stringify(tsconfig, null, 4), {encoding: 'utf-8'});\n }\n });\n};\n",
9
- "import { resolve } from 'node:path';\nimport { camelCase, kebabCase } from 'change-case';\nimport { patchCssModules } from 'vite-css-modules';\nimport type { Plugin } from 'vite';\nimport { searchForWorkspaceRoot } from 'vite';\nimport className from 'css-class-generator';\nimport libAssets from '@laynezh/vite-plugin-lib-assets';\nimport libDts from 'vite-plugin-dts';\n\nconst VISITED_CLASSES: string[] = [];\n\ntype Options = {\n readonly cssModules?: {\n readonly classNames?: 'mangled' | 'camel' | 'kebab';\n readonly generateScopedName?: (name: string, filename: string, css: string) => string;\n };\n readonly assetFileNames?: string;\n readonly fileNames?: 'hashes' | 'actual';\n readonly isLibrary?: boolean;\n readonly tsconfigPath?: string;\n};\n\nconst preset = (options: Options): Plugin => {\n function generateScopedName(name: string): string {\n if (name.startsWith('i__const_')) {\n name = name.substring(9);\n name = name.substring(0, name.length - 2);\n }\n\n if (options.cssModules?.classNames === 'camel') {\n return camelCase(name);\n }\n\n if (options.cssModules?.classNames === 'kebab') {\n return kebabCase(name);\n }\n\n if (VISITED_CLASSES.includes(name)) {\n return className(VISITED_CLASSES.indexOf(name));\n }\n\n return className(VISITED_CLASSES.push(name) - 1);\n }\n\n return {\n name: '@basmilius/vite-preset',\n\n config: () => ({\n build: {\n assetsInlineLimit: 0,\n cssMinify: options.isLibrary ? false : 'lightningcss',\n minify: options.isLibrary ? false : 'oxc',\n rolldownOptions: {\n output: {\n assetFileNames: options.fileNames === 'actual' || options.isLibrary ? undefined : '[hash].[ext]',\n chunkFileNames: options.fileNames === 'actual' || options.isLibrary ? undefined : '[hash].js',\n entryFileNames: options.fileNames === 'actual' || options.isLibrary ? undefined : '[hash].js',\n minifyInternalExports: true\n }\n }\n },\n css: {\n preprocessorMaxWorkers: true,\n preprocessorOptions: {\n scss: {\n api: 'modern-compiler'\n }\n },\n modules: {\n generateScopedName: options.cssModules?.generateScopedName ?? generateScopedName\n }\n },\n json: {\n stringify: true\n },\n resolve: {\n alias: {\n '@': resolve(process.cwd(), './src')\n },\n extensions: [\n '.js',\n '.ts',\n '.json',\n '.vue'\n ]\n },\n server: {\n fs: {\n allow: [\n searchForWorkspaceRoot(process.cwd())\n ]\n }\n }\n })\n };\n};\n\nexport default (options: Options = {}): Plugin[] => [\n patchCssModules() as unknown as Plugin,\n preset(options),\n\n options.isLibrary && libAssets({\n limit: 0,\n name: options.assetFileNames ?? '[contenthash:8].[ext]'\n }),\n\n options.isLibrary && libDts({\n cleanVueFileName: false,\n copyDtsFiles: true,\n staticImport: true,\n tsconfigPath: options.tsconfigPath\n }) as unknown as Plugin\n] satisfies Plugin[];\n",
10
- "import type { Plugin } from 'vite';\nimport composeLibrary from './composeLibrary';\n\ntype LibraryPlugin = () => Plugin;\n\nexport const flux: LibraryPlugin = composeLibrary({\n name: '@flux-ui/components',\n alias: '$flux'\n});\n\nexport const fluxDashboard: LibraryPlugin = composeLibrary({\n name: '@flux-ui/dashboard',\n alias: '$fluxDashboard'\n});\n"
8
+ "import { existsSync, readFileSync, writeFileSync } from 'node:fs';\nimport { join, relative, resolve } from 'node:path';\nimport type { Plugin, UserConfig } from 'vite';\nimport { searchForWorkspaceRoot } from 'vite';\n\ntype ComposePlugin = () => Plugin;\ntype PathGenerator = (name: string) => string;\n\ntype Options = {\n readonly alias: string;\n readonly isolated?: boolean;\n readonly name: string;\n readonly sourcesPathGenerator?: PathGenerator;\n readonly tsAliasPathGenerator?: PathGenerator;\n};\n\nconst TSCONFIG_FILES = ['tsconfig.app.json', 'tsconfig.json'] as const;\nconst WORKING_DIR = process.cwd();\n\nexport default (options: Options): ComposePlugin => {\n const WORKSPACE_ROOT = searchForWorkspaceRoot(WORKING_DIR);\n const WORKSPACE_NODE_MODULES = join(options.isolated ? WORKING_DIR : relative(WORKING_DIR, WORKSPACE_ROOT), 'node_modules');\n\n const sourcesPathGenerator = options.sourcesPathGenerator ?? (name => resolve(WORKING_DIR, `${WORKSPACE_NODE_MODULES}/${name}/src`));\n const tsAliasPathGenerator = options.tsAliasPathGenerator ?? (name => `${WORKSPACE_NODE_MODULES}/${name}/src/*`);\n\n const src = sourcesPathGenerator(options.name);\n\n return (): Plugin => ({\n name: options.name,\n\n config: (): UserConfig => ({\n optimizeDeps: {\n exclude: [options.name]\n },\n resolve: {\n alias: {\n [options.name]: src,\n [options.alias]: src\n }\n },\n server: {\n fs: {\n allow: [src]\n }\n }\n }),\n\n configResolved(config): void {\n let tsconfigPath: string | undefined;\n\n for (const file of TSCONFIG_FILES) {\n const path = join(config.root, file);\n\n if (existsSync(path)) {\n tsconfigPath = path;\n break;\n }\n }\n\n if (!tsconfigPath) {\n config.logger.error(`[${options.name}] A tsconfig.json is required for this library. Please create one.`);\n process.exit(1);\n }\n\n const key = `${options.alias}/*`;\n const tsconfigData = readFileSync(tsconfigPath, {encoding: 'utf-8'});\n const tsconfig = JSON.parse(tsconfigData);\n tsconfig.compilerOptions.paths ??= {};\n\n if (key in tsconfig.compilerOptions.paths) {\n return;\n }\n\n tsconfig.compilerOptions.paths[key] = [tsAliasPathGenerator(options.name)];\n\n writeFileSync(tsconfigPath, JSON.stringify(tsconfig, null, 4), {encoding: 'utf-8'});\n }\n });\n};\n",
9
+ "import { resolve } from 'node:path';\nimport { camelCase, kebabCase } from 'change-case';\nimport { patchCssModules } from 'vite-css-modules';\nimport type { Plugin } from 'vite';\nimport { searchForWorkspaceRoot } from 'vite';\nimport className from 'css-class-generator';\nimport libAssets from '@laynezh/vite-plugin-lib-assets';\nimport libDts from 'vite-plugin-dts';\n\nconst VISITED_CLASSES: string[] = [];\n\ntype Options = {\n readonly cssModules?: {\n readonly classNames?: 'mangled' | 'camel' | 'kebab';\n readonly generateScopedName?: (name: string, filename: string, css: string) => string;\n };\n readonly assetFileNames?: string;\n readonly fileNames?: 'hashes' | 'actual';\n readonly isLibrary?: boolean;\n readonly tsconfigPath?: string;\n};\n\nconst preset = (options: Options): Plugin => {\n function generateScopedName(name: string): string {\n if (name.startsWith('i__const_')) {\n name = name.substring(9);\n name = name.substring(0, name.length - 2);\n }\n\n if (options.cssModules?.classNames === 'camel') {\n return camelCase(name);\n }\n\n if (options.cssModules?.classNames === 'kebab') {\n return kebabCase(name);\n }\n\n if (VISITED_CLASSES.includes(name)) {\n return className(VISITED_CLASSES.indexOf(name));\n }\n\n return className(VISITED_CLASSES.push(name) - 1);\n }\n\n return {\n name: '@basmilius/vite-preset',\n\n config: () => ({\n build: {\n assetsInlineLimit: 0,\n cssMinify: options.isLibrary ? false : 'lightningcss',\n minify: options.isLibrary ? false : 'oxc',\n rolldownOptions: {\n output: {\n assetFileNames: options.fileNames === 'actual' || options.isLibrary ? undefined : '[hash].[ext]',\n chunkFileNames: options.fileNames === 'actual' || options.isLibrary ? undefined : '[hash].js',\n entryFileNames: options.fileNames === 'actual' || options.isLibrary ? undefined : '[hash].js',\n minifyInternalExports: true\n }\n }\n },\n css: {\n preprocessorMaxWorkers: true,\n preprocessorOptions: {\n scss: {\n api: 'modern-compiler'\n }\n },\n modules: {\n generateScopedName: options.cssModules?.generateScopedName ?? generateScopedName\n }\n },\n json: {\n stringify: true\n },\n resolve: {\n alias: {\n '@': resolve(process.cwd(), './src')\n },\n extensions: [\n '.js',\n '.ts',\n '.json',\n '.vue'\n ]\n },\n server: {\n fs: {\n allow: [\n searchForWorkspaceRoot(process.cwd())\n ]\n }\n }\n })\n };\n};\n\nexport default (options: Options = {}): Plugin[] => [\n patchCssModules() as unknown as Plugin,\n preset(options),\n\n (options.isLibrary && libAssets({\n limit: 0,\n name: options.assetFileNames ?? '[contenthash:8].[ext]'\n })) as unknown as Plugin,\n\n (options.isLibrary && libDts({\n cleanVueFileName: false,\n copyDtsFiles: true,\n staticImport: true,\n tsconfigPath: options.tsconfigPath\n })) as unknown as Plugin\n] satisfies Plugin[];\n",
10
+ "import type { Plugin } from 'vite';\nimport composeLibrary from './composeLibrary';\n\ntype LibraryPlugin = () => Plugin;\n\nexport const flux: LibraryPlugin = composeLibrary({\n name: '@flux-ui/components',\n alias: '$flux'\n});\n\nexport const fluxDashboard: LibraryPlugin = composeLibrary({\n name: '@flux-ui/dashboard',\n alias: '$fluxDashboard'\n});\n\nexport const fluxStatistics: LibraryPlugin = composeLibrary({\n name: '@flux-ui/statistics',\n alias: '$fluxStatistics'\n});\n"
11
11
  ],
12
- "mappings": "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",
13
- "debugId": "065A9A04101C903664756E2164756E21",
12
+ "mappings": "AAKA,IAAe,GAAC,EAAc,KAAwC,CAClE,KAAM,EACN,KAAM,KAAY,CAAC,CAAC,EAAU,KAAK,KAAU,EAAS,SAAS,QAAQ,GAAQ,CAAC,CACpF,GCHA,IAAe,GAAC,EAAc,KAAwC,CAClE,KAAM,EACN,KAAM,KAAY,CAAC,CAAC,EAAU,KAAK,KAAU,EAAS,SAAS,iBAAiB,IAAS,CAAC,CAC9F,GCNA,IAAe,OAAe,CAC1B,KAAM,sCAEN,WAAW,EAAG,CACV,QAAQ,KAAK,CAAC,EAEtB,GCRA,qBAAS,kBAAY,mBAAc,gBACnC,eAAS,cAAM,aAAU,kBAEzB,iCAAS,aAaT,IAAM,EAAiB,CAAC,oBAAqB,eAAe,EACtD,EAAc,QAAQ,IAAI,EAEjB,GAAC,IAAoC,CAChD,IAAM,EAAiB,EAAuB,CAAW,EACnD,EAAyB,EAAK,EAAQ,SAAW,EAAc,EAAS,EAAa,CAAc,EAAG,cAAc,EAEpH,EAAuB,EAAQ,uBAAyB,KAAQ,EAAQ,EAAa,GAAG,KAA0B,OAAU,GAC5H,EAAuB,EAAQ,uBAAyB,KAAQ,GAAG,KAA0B,WAE7F,EAAM,EAAqB,EAAQ,IAAI,EAE7C,MAAO,KAAe,CAClB,KAAM,EAAQ,KAEd,OAAQ,KAAmB,CACvB,aAAc,CACV,QAAS,CAAC,EAAQ,IAAI,CAC1B,EACA,QAAS,CACL,MAAO,EACF,EAAQ,MAAO,GACf,EAAQ,OAAQ,CACrB,CACJ,EACA,OAAQ,CACJ,GAAI,CACA,MAAO,CAAC,CAAG,CACf,CACJ,CACJ,GAEA,cAAc,CAAC,EAAc,CACzB,IAAI,EAEJ,QAAW,KAAQ,EAAgB,CAC/B,IAAM,EAAO,EAAK,EAAO,KAAM,CAAI,EAEnC,GAAI,EAAW,CAAI,EAAG,CAClB,EAAe,EACf,OAIR,GAAI,CAAC,EACD,EAAO,OAAO,MAAM,IAAI,EAAQ,wEAAwE,EACxG,QAAQ,KAAK,CAAC,EAGlB,IAAM,EAAM,GAAG,EAAQ,UACjB,EAAe,EAAa,EAAc,CAAC,SAAU,OAAO,CAAC,EAC7D,EAAW,KAAK,MAAM,CAAY,EAGxC,GAFA,EAAS,gBAAgB,QAAU,CAAC,EAEhC,KAAO,EAAS,gBAAgB,MAChC,OAGJ,EAAS,gBAAgB,MAAM,GAAO,CAAC,EAAqB,EAAQ,IAAI,CAAC,EAEzE,EAAc,EAAc,KAAK,UAAU,EAAU,KAAM,CAAC,EAAG,CAAC,SAAU,OAAO,CAAC,EAE1F,IC9EJ,kBAAS,kBACT,oBAAS,eAAW,oBACpB,0BAAS,yBAET,iCAAS,aACT,mCACA,+CACA,+BAEA,IAAM,EAA4B,CAAC,EAa7B,EAAS,CAAC,IAA6B,CACzC,SAAS,CAAkB,CAAC,EAAsB,CAC9C,GAAI,EAAK,WAAW,WAAW,EAC3B,EAAO,EAAK,UAAU,CAAC,EACvB,EAAO,EAAK,UAAU,EAAG,EAAK,OAAS,CAAC,EAG5C,GAAI,EAAQ,YAAY,aAAe,QACnC,OAAO,EAAU,CAAI,EAGzB,GAAI,EAAQ,YAAY,aAAe,QACnC,OAAO,EAAU,CAAI,EAGzB,GAAI,EAAgB,SAAS,CAAI,EAC7B,OAAO,EAAU,EAAgB,QAAQ,CAAI,CAAC,EAGlD,OAAO,EAAU,EAAgB,KAAK,CAAI,EAAI,CAAC,EAGnD,MAAO,CACH,KAAM,yBAEN,OAAQ,KAAO,CACX,MAAO,CACH,kBAAmB,EACnB,UAAW,EAAQ,UAAY,GAAQ,eACvC,OAAQ,EAAQ,UAAY,GAAQ,MACpC,gBAAiB,CACb,OAAQ,CACJ,eAAgB,EAAQ,YAAc,UAAY,EAAQ,UAAY,OAAY,eAClF,eAAgB,EAAQ,YAAc,UAAY,EAAQ,UAAY,OAAY,YAClF,eAAgB,EAAQ,YAAc,UAAY,EAAQ,UAAY,OAAY,YAClF,sBAAuB,EAC3B,CACJ,CACJ,EACA,IAAK,CACD,uBAAwB,GACxB,oBAAqB,CACjB,KAAM,CACF,IAAK,iBACT,CACJ,EACA,QAAS,CACL,mBAAoB,EAAQ,YAAY,oBAAsB,CAClE,CACJ,EACA,KAAM,CACF,UAAW,EACf,EACA,QAAS,CACL,MAAO,CACH,IAAK,EAAQ,QAAQ,IAAI,EAAG,OAAO,CACvC,EACA,WAAY,CACR,MACA,MACA,QACA,MACJ,CACJ,EACA,OAAQ,CACJ,GAAI,CACA,MAAO,CACH,EAAuB,QAAQ,IAAI,CAAC,CACxC,CACJ,CACJ,CACJ,EACJ,GAGW,GAAC,EAAmB,CAAC,IAAgB,CAChD,EAAgB,EAChB,EAAO,CAAO,EAEb,EAAQ,WAAa,EAAU,CAC5B,MAAO,EACP,KAAM,EAAQ,gBAAkB,uBACpC,CAAC,EAEA,EAAQ,WAAa,EAAO,CACzB,iBAAkB,GAClB,aAAc,GACd,aAAc,GACd,aAAc,EAAQ,YAC1B,CAAC,CACL,EC3GO,IAAM,EAAsB,EAAe,CAC9C,KAAM,sBACN,MAAO,OACX,CAAC,EAEY,EAA+B,EAAe,CACvD,KAAM,qBACN,MAAO,gBACX,CAAC,EAEY,EAAgC,EAAe,CACxD,KAAM,sBACN,MAAO,iBACX,CAAC",
13
+ "debugId": "B9C4549380C2DFAB64756E2164756E21",
14
14
  "names": []
15
15
  }
@@ -2,4 +2,5 @@ import type { Plugin } from "vite";
2
2
  type LibraryPlugin = () => Plugin;
3
3
  export declare const flux: LibraryPlugin;
4
4
  export declare const fluxDashboard: LibraryPlugin;
5
+ export declare const fluxStatistics: LibraryPlugin;
5
6
  export {};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@basmilius/vite-preset",
3
3
  "description": "Commonly used presets used in Vite + Vue setups.",
4
- "version": "2.28.3",
4
+ "version": "3.0.0",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
7
  "funding": "https://github.com/sponsors/basmilius",
@@ -53,7 +53,7 @@
53
53
  "vite-plugin-dts": "^4.5.4"
54
54
  },
55
55
  "devDependencies": {
56
- "@basmilius/tools": "2.28.3",
56
+ "@basmilius/tools": "3.0.0",
57
57
  "vite": "^8.0.0-beta.15"
58
58
  }
59
59
  }
@@ -47,11 +47,13 @@ export default (options: Options): ComposePlugin => {
47
47
  }),
48
48
 
49
49
  configResolved(config): void {
50
- let tsconfigPath: string;
50
+ let tsconfigPath: string | undefined;
51
51
 
52
52
  for (const file of TSCONFIG_FILES) {
53
- if (existsSync(join(config.root, file))) {
54
- tsconfigPath = join(config.root, file);
53
+ const path = join(config.root, file);
54
+
55
+ if (existsSync(path)) {
56
+ tsconfigPath = path;
55
57
  break;
56
58
  }
57
59
  }
package/src/index.ts CHANGED
@@ -14,5 +14,6 @@ export {
14
14
 
15
15
  export {
16
16
  flux,
17
- fluxDashboard
17
+ fluxDashboard,
18
+ fluxStatistics
18
19
  } from './libraries';
package/src/libraries.ts CHANGED
@@ -12,3 +12,8 @@ export const fluxDashboard: LibraryPlugin = composeLibrary({
12
12
  name: '@flux-ui/dashboard',
13
13
  alias: '$fluxDashboard'
14
14
  });
15
+
16
+ export const fluxStatistics: LibraryPlugin = composeLibrary({
17
+ name: '@flux-ui/statistics',
18
+ alias: '$fluxStatistics'
19
+ });
package/src/preset.ts CHANGED
@@ -99,15 +99,15 @@ export default (options: Options = {}): Plugin[] => [
99
99
  patchCssModules() as unknown as Plugin,
100
100
  preset(options),
101
101
 
102
- options.isLibrary && libAssets({
102
+ (options.isLibrary && libAssets({
103
103
  limit: 0,
104
104
  name: options.assetFileNames ?? '[contenthash:8].[ext]'
105
- }),
105
+ })) as unknown as Plugin,
106
106
 
107
- options.isLibrary && libDts({
107
+ (options.isLibrary && libDts({
108
108
  cleanVueFileName: false,
109
109
  copyDtsFiles: true,
110
110
  staticImport: true,
111
111
  tsconfigPath: options.tsconfigPath
112
- }) as unknown as Plugin
112
+ })) as unknown as Plugin
113
113
  ] satisfies Plugin[];