@vef-framework/dev 1.0.9

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.
Files changed (51) hide show
  1. package/README.md +25 -0
  2. package/bin/vef.js +18 -0
  3. package/client.d.js +2 -0
  4. package/client.d.ts +18 -0
  5. package/dist/cli.d.ts +1 -0
  6. package/dist/cli.js +3 -0
  7. package/dist/commitlint-config.d.ts +7 -0
  8. package/dist/commitlint-config.js +3 -0
  9. package/dist/config.d.ts +23 -0
  10. package/dist/config.js +3 -0
  11. package/dist/constants.d.ts +44 -0
  12. package/dist/constants.js +3 -0
  13. package/dist/eslint-config.d.ts +7 -0
  14. package/dist/eslint-config.js +3 -0
  15. package/dist/index.d.ts +5 -0
  16. package/dist/index.js +3 -0
  17. package/dist/modules.d.js +2 -0
  18. package/dist/plugin-app-config.d.ts +27 -0
  19. package/dist/plugin-app-config.js +3 -0
  20. package/dist/plugin-conventional-config.d.ts +48 -0
  21. package/dist/plugin-conventional-config.js +3 -0
  22. package/dist/plugin-eslint.d.ts +6 -0
  23. package/dist/plugin-eslint.js +3 -0
  24. package/dist/plugin-html.d.ts +7 -0
  25. package/dist/plugin-html.js +3 -0
  26. package/dist/plugin-icons.d.ts +7 -0
  27. package/dist/plugin-icons.js +3 -0
  28. package/dist/plugin-injection.d.ts +7 -0
  29. package/dist/plugin-injection.js +3 -0
  30. package/dist/plugin-inspect.d.ts +6 -0
  31. package/dist/plugin-inspect.js +3 -0
  32. package/dist/plugin-react-swc.d.ts +6 -0
  33. package/dist/plugin-react-swc.js +3 -0
  34. package/dist/plugin-router.d.ts +6 -0
  35. package/dist/plugin-router.js +3 -0
  36. package/dist/plugin-stylelint.d.ts +6 -0
  37. package/dist/plugin-stylelint.js +3 -0
  38. package/dist/plugin-svgr.d.ts +6 -0
  39. package/dist/plugin-svgr.js +3 -0
  40. package/dist/plugin-tailwindcss.d.ts +7 -0
  41. package/dist/plugin-tailwindcss.js +3 -0
  42. package/dist/plugin-webfont.d.ts +6 -0
  43. package/dist/plugin-webfont.js +3 -0
  44. package/dist/stylelint-config.d.ts +7 -0
  45. package/dist/stylelint-config.js +3 -0
  46. package/dist/tailwind-config.d.ts +7 -0
  47. package/dist/tailwind-config.js +3 -0
  48. package/dist/types.d.ts +15 -0
  49. package/package.json +81 -0
  50. package/tsconfig.app.json +31 -0
  51. package/tsconfig.node.json +24 -0
package/README.md ADDED
@@ -0,0 +1,25 @@
1
+ # The Development tools of VEF Framework
2
+
3
+ VEF framework made by Venus is built on top of React, and it provides a set of components that are essential for building a modern web application. These components are designed to be highly customizable and reusable, allowing developers to build complex and dynamic user interfaces with ease.
4
+
5
+ ## Installation
6
+
7
+ To install the VEF framework dev, you can use pnpm or any other package manager you like:
8
+
9
+ ```bash
10
+ pnpm add @vef-framework/dev
11
+ ```
12
+
13
+ ## Usage
14
+
15
+ To use the VEF framework dev in your project, you can import them from the package, for example:
16
+
17
+ ```ts
18
+ import { xxx } from "@vef-framework/dev";
19
+
20
+ const result = xxx();
21
+ ```
22
+
23
+ ## Documentation
24
+
25
+ For more details on how to use the VEF framework dev, please refer to the [official documentation](https://vef.ilxqx.com/docs).
package/bin/vef.js ADDED
@@ -0,0 +1,18 @@
1
+ #!/usr/bin/env node
2
+
3
+ import module from "node:module";
4
+
5
+ /**
6
+ * Start VEF CLI
7
+ *
8
+ * @returns The entry module of VEF CLI
9
+ */
10
+ function start() {
11
+ try {
12
+ module.enableCompileCache();
13
+ } catch {}
14
+
15
+ return import("../dist/cli.js");
16
+ }
17
+
18
+ start();
package/client.d.js ADDED
@@ -0,0 +1,2 @@
1
+ /*! VefFramework version: 1.0.9, build time: 2024-12-19T05:12:56.660Z, made by Venus. */
2
+ /*! VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus. Follow me on Github: https://github.com/ilxqx! @ilxqx */
package/client.d.ts ADDED
@@ -0,0 +1,18 @@
1
+ /// <reference types="vite/client" />
2
+
3
+ /// <reference types="vite-plugin-svgr/client" />
4
+
5
+ /// <reference types="unplugin-icons/types/react" />
6
+
7
+ /**
8
+ * The version of the vef framework
9
+ */
10
+ declare const __VEF_FRAMEWORK_VERSION__: string;
11
+ /**
12
+ * The version of the app
13
+ */
14
+ declare const __VEF_APP_VERSION__: string;
15
+ /**
16
+ * The configuration of the app
17
+ */
18
+ declare const __VEF_APP_CONFIG__: Readonly<Record<string, string>>;
package/dist/cli.d.ts ADDED
@@ -0,0 +1 @@
1
+ export {};
package/dist/cli.js ADDED
@@ -0,0 +1,3 @@
1
+ /*! VefFramework version: 1.0.9, build time: 2024-12-19T05:12:56.660Z, made by Venus. */
2
+ import e from"chalk";import{program as n}from"commander";import i from"consola";import t from"fs-extra";import{resolve as o}from"node:path";import s from"node:process";import{loadConfigFromFile as c,createServer as a,build as r,preview as f}from"vite";const{exists:l,readJsonSync:d,writeFile:u,readJson:m,writeJson:g}=t,p=s.cwd();const w=function(){const e=o(import.meta.dirname,"../package.json");return d(e,{encoding:"utf-8"}).version}();function v(e,n){return n||("build"===e?"production":"development")}async function y(e,n,t){const s=o(p,e||"vef.config.ts");if(!await l(s))throw i.error(`Config file not found: ${s}, it is required for VEF Framework`),new Error(`Config file not found: ${s}`);const a=await c({command:n,mode:t},s);return a?.config??{}}function S(e,n){i.error(`Error during ${e}:`,n),s.exit(1)}n.name("vef").description(e.magenta("VEF Framework CLI")).addHelpText("before",e.blue("VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus.")).addHelpText("before",e.bgGreenBright(`Version: ${w}`)).version(w).option("--mode <mode>","Specify running mode (will override default NODE_ENV)"),n.command("dev").description("Start dev server").option("-c, --config <file>","Specify vef config file","vef.config.ts").action((async e=>{try{const i=v("serve",n.opts().mode);s.env.NODE_ENV=i,s.env.VEF_FRAMEWORK_VERSION=w;const t=await y(e.config,"serve",i),o=await a({...t,mode:i,configFile:!1,logLevel:"info"});await o.listen(),o.printUrls(),o.bindCLIShortcuts({print:!0})}catch(e){S("dev server startup",e)}})),n.command("build").description("Build for production").option("-c, --config <file>","Specify vef config file","vef.config.ts").action((async e=>{try{const t=v("build",n.opts().mode);s.env.NODE_ENV=t,s.env.VEF_FRAMEWORK_VERSION=w;const o=await y(e.config,"build",t);await r({...o,mode:t,configFile:!1,logLevel:"info"}),i.success("Build completed successfully!")}catch(e){S("build",e)}})),n.command("preview").description("Preview the build").option("-c, --config <file>","Specify vef config file","vef.config.ts").action((async e=>{try{const i=v("build",n.opts().mode);s.env.NODE_ENV=i,s.env.VEF_FRAMEWORK_VERSION=w;const t=await y(e.config,"build",i),o=await f({...t,mode:i,configFile:!1,logLevel:"info"});o.printUrls(),o.bindCLIShortcuts({print:!0})}catch(e){S("preview server startup",e)}})),n.command("prepare").description("Sets up the project for development mode").action((async()=>{await l(o(p,".husky"))||((await import("husky")).default(),i.success("Successfully set up husky")),await l(o(p,".husky/pre-commit"))||(await u(o(p,".husky/pre-commit"),"npx lint-staged"),i.success("Successfully set up pre-commit hook")),await l(o(p,".husky/commit-msg"))||(await u(o(p,".husky/commit-msg"),"npx --no -- commitlint --edit $1"),i.success("Successfully set up commit-msg hook"));const e=await m(o(p,"package.json"),{encoding:"utf-8"}),{scripts:n,"lint-staged":t}=e;let s=!1;n.prepare||(n.prepare="vef prepare",s=!0),t||(e["lint-staged"]={"*.{js,ts,tsx,json,jsonc,yaml,toml,md}":["eslint --fix","git add"],"*.{css,scss}":["stylelint --fix","git add"]},s=!0),s&&(await g(o(p,"package.json"),e,{encoding:"utf-8",spaces:2}),i.success("Successfully set up prepare script and lint-staged"))})),n.command("generate").description("Generate the critical base files for the project").action((async()=>{await async function(){const e=o(p,"index.html");await u(e,"")}(),i.success("Successfully generated index.html file"),await async function(){const e=o(p,"env.d.ts");await u(e,'/// <reference types="@vef-framework/dev/client" />\n')}(),i.success("Successfully generated env.d.ts file"),await async function(){const e=o(p,"tailwind.config.js");await u(e,'import { defineTailwindConfig } from "@vef-framework/dev";\n\nexport default defineTailwindConfig();\n')}(),i.success("Successfully generated tailwind.config.js file"),await async function(){const e=o(p,"eslint.config.js");await u(e,'import { defineEslintConfig } from "@vef-framework/dev";\n\nexport default defineEslintConfig();\n')}(),i.success("Successfully generated eslint.config.js file"),await async function(){const e=o(p,"stylelint.config.js");await u(e,'import { defineStylelintConfig } from "@vef-framework/dev";\n\nexport default defineStylelintConfig();\n')}(),i.success("Successfully generated stylelint.config.js file"),await async function(){const e=o(p,"commitlint.config.ts");await u(e,'import { defineCommitlintConfig } from "@vef-framework/dev";\n\nexport default defineCommitlintConfig();\n')}(),i.success("Successfully generated commitlint.config.ts file"),await async function(){const e=o(p,"vef.config.ts");await u(e,'import { defineConfig } from "@vef-framework/dev";\n\nexport default defineConfig({\n projectDir: import.meta.dirname,\n});\n')}(),i.success("Successfully generated vef.config.ts file"),await async function(){const e=o(p,"tsconfig.app.json");await u(e,'{\n "extends": "@vef-framework/dev/tsconfig.app.json",\n "include": ["env.d.ts", "src"]\n}\n')}(),i.success("Successfully generated tsconfig.app.json file"),await async function(){const e=o(p,"tsconfig.node.json");await u(e,'{\n "extends": "@vef-framework/dev/tsconfig.node.json",\n "include": ["vef.config.ts", "tailwind.config.ts", "commitlint.config.ts]\n}\n')}(),i.success("Successfully generated tsconfig.node.json file"),await async function(){const e=o(p,"tsconfig.json");await u(e,'{\n "files": [],\n "references": [\n { "path": "./tsconfig.app.json" },\n { "path": "./tsconfig.node.json" }\n ]\n}\n')}(),i.success("Successfully generated tsconfig.json file"),await async function(){const e=o(p,".gitignore");await u(e,"# Logs\nlogs\n*.log\nnpm-debug.log*\nyarn-debug.log*\nyarn-error.log*\npnpm-debug.log*\nlerna-debug.log*\n\nnode_modules\n.DS_Store\n/dist/\n/dist-ssr/\ncoverage\n*.local\n\n/cypress/videos/\n/cypress/screenshots/\n\n# Editor directories and files\n.vscode/*\n!.vscode/extensions.json\n!.vscode/settings.json\n.idea\n*.suo\n*.ntvs*\n*.njsproj\n*.sln\n*.sw?\n\n*.tsbuildinfo\n\n# Project files\nenv/*.local\nsrc/**/*.gen.ts\n")}(),i.success("Successfully generated .gitignore file")})),n.parse();
3
+ /*! VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus. Follow me on Github: https://github.com/ilxqx! @ilxqx */
@@ -0,0 +1,7 @@
1
+ import type { UserConfig } from "@commitlint/types";
2
+ /**
3
+ * Define the commitlint configuration
4
+ *
5
+ * @returns The commitlint configuration
6
+ */
7
+ export declare function defineCommitlintConfig(): UserConfig;
@@ -0,0 +1,3 @@
1
+ /*! VefFramework version: 1.0.9, build time: 2024-12-19T05:12:56.660Z, made by Venus. */
2
+ function t(){return{extends:["@commitlint/config-conventional"],formatter:"@commitlint/format"}}export{t as defineCommitlintConfig};
3
+ /*! VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus. Follow me on Github: https://github.com/ilxqx! @ilxqx */
@@ -0,0 +1,23 @@
1
+ import { type ProxyOptions } from "vite";
2
+ /**
3
+ * The options to define the vef config
4
+ */
5
+ export interface DefineConfigOptions {
6
+ /**
7
+ * The directory of the project
8
+ */
9
+ projectDir: string;
10
+ /**
11
+ * The proxies of the dev server
12
+ */
13
+ proxies?: Record<string, string | ProxyOptions>;
14
+ }
15
+ /**
16
+ * Define the vite config
17
+ *
18
+ * @param options - The options to define the vite config
19
+ * @param options.projectDir - The directory of the project
20
+ * @param options.proxies - The proxies of the dev server
21
+ * @returns The vite config
22
+ */
23
+ export declare function defineConfig({ projectDir, proxies, }: DefineConfigOptions): import("vite").UserConfigFnPromise;
package/dist/config.js ADDED
@@ -0,0 +1,3 @@
1
+ /*! VefFramework version: 1.0.9, build time: 2024-12-19T05:12:56.660Z, made by Venus. */
2
+ import o from"consola";import i from"fs-extra";import{resolve as r}from"node:path";import{defineConfig as t,loadEnv as n}from"vite";import{ENV_DIR as p,ENV_BUILD_PREFIX as s}from"./constants.js";import{createAppConfigPlugin as e}from"./plugin-app-config.js";import{createConventionalConfigPlugin as m}from"./plugin-conventional-config.js";import{createEslintPlugin as a}from"./plugin-eslint.js";import{createHtmlPlugin as f}from"./plugin-html.js";import{createIconsPlugin as u}from"./plugin-icons.js";import{createInjectionPlugin as c}from"./plugin-injection.js";import{createInspectPlugin as l}from"./plugin-inspect.js";import{createReactSwcPlugin as g}from"./plugin-react-swc.js";import{createRouterPlugin as j}from"./plugin-router.js";import{createStylelintPlugin as _}from"./plugin-stylelint.js";import{createSvgrPlugin as P}from"./plugin-svgr.js";import{createTailwindcssPlugin as D}from"./plugin-tailwindcss.js";import{createWebfontPlugin as E}from"./plugin-webfont.js";const{readJson:U}=i;function b({projectDir:i,proxies:b}){return t((async({mode:t})=>{const B=n(t,p,s);Object.keys(B).length>0&&(o.info("Loading environment variables:"),console.table(B));const I=await async function(o){const i=await U(r(o,"package.json"),{encoding:"utf-8"});return i.version}(i);return{plugins:[l(),m({appVersion:I,projectDir:i,basePublicPath:B.VEF_BUILD_BASE_PUBLIC_PATH,outputDir:B.VEF_BUILD_OUTPUT_DIR,serverPort:Number(B.VEF_BUILD_SERVER_PORT),proxies:b}),g(),f(),D(),c(),e({basePublicPath:B.VEF_BUILD_BASE_PUBLIC_PATH,outputDir:B.VEF_BUILD_OUTPUT_DIR,appName:B.VEF_APP_NAME}),u(i),P(),E(),j(),a(),_()]}}))}export{b as defineConfig};
3
+ /*! VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus. Follow me on Github: https://github.com/ilxqx! @ilxqx */
@@ -0,0 +1,44 @@
1
+ /**
2
+ * The directory of the public files
3
+ */
4
+ export declare const PUBLIC_DIR = "public";
5
+ /**
6
+ * The directory of the environment files
7
+ */
8
+ export declare const ENV_DIR = "env";
9
+ /**
10
+ * The directory of the assets
11
+ */
12
+ export declare const ASSETS_DIR = "assets";
13
+ /**
14
+ * The prefix of the environment variables for the app
15
+ */
16
+ export declare const ENV_APP_PREFIX = "VEF_APP_";
17
+ /**
18
+ * The prefix of the environment variables for the build tools
19
+ */
20
+ export declare const ENV_BUILD_PREFIX = "VEF_BUILD_";
21
+ /**
22
+ * The directory of the source files
23
+ */
24
+ export declare const SRC_DIR = "src";
25
+ /**
26
+ * The default output directory of the build
27
+ */
28
+ export declare const DEFAULT_OUTPUT_DIR = "dist";
29
+ /**
30
+ * The default port of the dev server
31
+ */
32
+ export declare const DEFAULT_SERVER_PORT = 3833;
33
+ /**
34
+ * The default name of the app
35
+ */
36
+ export declare const DEFAULT_APP_NAME = "APP";
37
+ /**
38
+ * The directory of the pages
39
+ */
40
+ export declare const PAGES_DIR = "pages";
41
+ /**
42
+ * The directory of the router
43
+ */
44
+ export declare const ROUTER_DIR = "router";
@@ -0,0 +1,3 @@
1
+ /*! VefFramework version: 1.0.9, build time: 2024-12-19T05:12:56.660Z, made by Venus. */
2
+ const s="public",e="env",t="assets",r="VEF_APP_",P="VEF_BUILD_",_="src",c="dist",o=3833,p="APP",a="pages",i="router";export{t as ASSETS_DIR,p as DEFAULT_APP_NAME,c as DEFAULT_OUTPUT_DIR,o as DEFAULT_SERVER_PORT,r as ENV_APP_PREFIX,P as ENV_BUILD_PREFIX,e as ENV_DIR,a as PAGES_DIR,s as PUBLIC_DIR,i as ROUTER_DIR,_ as SRC_DIR};
3
+ /*! VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus. Follow me on Github: https://github.com/ilxqx! @ilxqx */
@@ -0,0 +1,7 @@
1
+ import { antfu as defineConfig } from "@antfu/eslint-config";
2
+ /**
3
+ * Define the ESLint configuration
4
+ *
5
+ * @returns The ESLint configuration
6
+ */
7
+ export declare function defineEslintConfig(): ReturnType<typeof defineConfig>;
@@ -0,0 +1,3 @@
1
+ /*! VefFramework version: 1.0.9, build time: 2024-12-19T05:12:56.660Z, made by Venus. */
2
+ import{antfu as r}from"@antfu/eslint-config";import e from"eslint-plugin-tailwindcss";function o(){return r({ignores:["**/node_modules","**/dist","**/public"],stylistic:{indent:2,jsx:!0,quotes:"double",semi:!0,overrides:{"style/line-comment-position":["error",{position:"above"}],"style/jsx-self-closing-comp":["error",{component:!0,html:!0}],"style/jsx-newline":["error",{prevent:!0,allowMultilines:!0}],"style/jsx-props-no-multi-spaces":"error","style/jsx-sort-props":["error",{callbacksLast:!0,shorthandFirst:!0,shorthandLast:!1,multiline:"last",ignoreCase:!0,noSortAlphabetically:!1,reservedFirst:["key","ref"]}],"style/newline-per-chained-call":["error",{ignoreChainWithDepth:2}],"style/object-property-newline":"error","style/brace-style":["error","1tbs"],"style/arrow-parens":["error","as-needed"],"style/multiline-comment-style":["error","starred-block"],"style/implicit-arrow-linebreak":["error","beside"],"style/no-extra-semi":"error","style/array-element-newline":["error",{consistent:!0,multiline:!0,minItems:7}],"style/function-call-argument-newline":["error","consistent"],"style/padding-line-between-statements":["error",{blankLine:"always",prev:"*",next:["block","multiline-block-like","type","interface","enum","function","function-overload"]},{blankLine:"always",prev:["block","multiline-block-like","type","interface","enum","function","function-overload"],next:"*"}],"style/jsx-pascal-case":["error",{allowAllCaps:!1,allowLeadingUnderscore:!1,allowNamespace:!1,ignore:[]}],"style/switch-colon-spacing":["error",{before:!1,after:!0}],"style/object-curly-newline":["error",{ObjectExpression:{multiline:!0,consistent:!0,minProperties:3},ObjectPattern:{multiline:!0,consistent:!0,minProperties:3},ImportDeclaration:{consistent:!0,multiline:!0},ExportDeclaration:{consistent:!0,multiline:!0}}],"style/no-extra-parens":["error","all",{nestedBinaryExpressions:!1,ternaryOperandBinaryExpressions:!1,ignoreJSX:"multi-line"}]}},javascript:{overrides:{"no-duplicate-imports":["error",{includeExports:!0}],"prefer-object-spread":"error","func-style":["error","declaration",{allowArrowFunctions:!0}],curly:["error","all"],"no-useless-escape":"error","no-useless-concat":"error","no-unused-private-class-members":"error","no-unsafe-optional-chaining":"error","no-dupe-else-if":"error","no-eq-null":"error","no-extra-label":"error","no-negated-condition":"error","no-invalid-this":"error","arrow-body-style":["error","as-needed"],"prefer-object-has-own":"error","prefer-numeric-literals":"error","prefer-named-capture-group":"error","prefer-destructuring":"error","object-shorthand":"error","require-atomic-updates":"error","require-await":"error",camelcase:["error",{properties:"always",ignoreGlobals:!0}],"no-promise-executor-return":["error",{allowVoid:!0}],"sort-imports":"off","no-console":"off"}},typescript:{overrides:{"ts/no-unused-expressions":["error",{enforceForJSX:!0}],"ts/no-unused-vars":["error",{args:"after-used",caughtErrors:"all",destructuredArrayIgnorePattern:"^_",ignoreRestSiblings:!0}],"ts/array-type":["error",{default:"array-simple",readonly:"array-simple"}],"ts/consistent-type-assertions":["error",{assertionStyle:"as",objectLiteralTypeAssertions:"allow"}],"ts/consistent-type-definitions":["error","interface"],"ts/max-params":["error",{max:5}]}},react:{overrides:{"react-naming-convention/component-name":["error","PascalCase"],"react-naming-convention/filename-extension":["error",{allow:"as-needed",extensions:[".tsx"]}],"react-hooks-extra/no-redundant-custom-hook":"error","react-hooks-extra/no-unnecessary-use-memo":"error","react-hooks-extra/no-unnecessary-use-callback":"error","react-naming-convention/use-state":"error","react-refresh/only-export-components":"error","react-hooks/exhaustive-deps":["error",{additionalHooks:"^use(Deep|Shallow)Compare"}],"react/no-clone-element":"off","react/no-class-component":"error","react/no-children-prop":"off","react/no-children-to-array":"off","react/no-children-for-each":"off","react/no-children-count":"off"}},jsx:!0,regexp:!0,jsonc:!0,yaml:!0,toml:!0,markdown:{overrides:{"markdown/fenced-code-language":"error","markdown/no-duplicate-headings":"error","markdown/no-empty-links":"error"}},test:!0,formatters:{markdown:"prettier",prettierOptions:{singleQuote:!1,semi:!0,tabWidth:2,useTabs:!1,trailingComma:"all",endOfLine:"lf",printWidth:160,proseWrap:"never",arrowParens:"avoid",htmlWhitespaceSensitivity:"strict",bracketSameLine:!0,bracketSpacing:!0,quoteProps:"as-needed",jsxSingleQuote:!1,singleAttributePerLine:!1}}},{rules:{"unicorn/filename-case":["error",{case:"kebabCase",ignore:["README.md"]}],"unicorn/prefer-date-now":"error","unicorn/prefer-string-trim-start-end":"error","unicorn/prefer-string-raw":"error","unicorn/prefer-object-from-entries":"error","unicorn/prefer-default-parameters":"error","unicorn/prefer-array-find":"error","unicorn/prefer-array-flat":"error","unicorn/prefer-array-flat-map":"error","unicorn/prefer-array-index-of":"error","unicorn/prefer-array-some":"error","unicorn/prefer-logical-operator-over-ternary":"error","unicorn/no-array-push-push":"error","unicorn/no-empty-file":"error","unicorn/no-array-for-each":"error","unicorn/no-for-loop":"error","unicorn/no-unnecessary-await":"error","unicorn/no-unnecessary-polyfills":"error","unicorn/no-useless-undefined":"error","unicorn/no-useless-switch-case":"error","unicorn/no-useless-spread":"error","unicorn/no-console-spaces":"error","unicorn/no-unused-properties":"error","unicorn/no-useless-promise-resolve-reject":"error","import/order":"off","import/first":"error","import/export":"error","import/no-named-as-default":"off","import/no-named-default":"off","perfectionist/sort-imports":["error",{type:"natural"}],"perfectionist/sort-exports":["error",{type:"natural"}],"perfectionist/sort-named-imports":["error",{type:"natural",groupKind:"values-first"}],"perfectionist/sort-named-exports":["error",{type:"natural",groupKind:"values-first"}]}},{ignores:["**/*.md","**/*.md/*.{ts,tsx}"],rules:{"react-naming-convention/filename":["error",{rule:"kebab-case",excepts:[".*.md/.*.ts"]}]}},...e.configs["flat/recommended"],{rules:{"tailwindcss/migration-from-tailwind-2":"off","tailwindcss/no-arbitrary-value":"off","tailwindcss/classnames-order":"error","tailwindcss/enforces-negative-arbitrary-values":"error","tailwindcss/enforces-shorthand":"error","tailwindcss/no-custom-classname":["error",{whitelist:["vef-.*"]}],"tailwindcss/no-contradicting-classname":"error","tailwindcss/no-unnecessary-arbitrary-value":"error"}})}export{o as defineEslintConfig};
3
+ /*! VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus. Follow me on Github: https://github.com/ilxqx! @ilxqx */
@@ -0,0 +1,5 @@
1
+ export * from "./commitlint-config";
2
+ export * from "./config";
3
+ export * from "./eslint-config";
4
+ export * from "./stylelint-config";
5
+ export * from "./tailwind-config";
package/dist/index.js ADDED
@@ -0,0 +1,3 @@
1
+ /*! VefFramework version: 1.0.9, build time: 2024-12-19T05:12:56.660Z, made by Venus. */
2
+ export{defineCommitlintConfig}from"./commitlint-config.js";export{defineConfig}from"./config.js";export{defineEslintConfig}from"./eslint-config.js";export{defineStylelintConfig}from"./stylelint-config.js";export{defineTailwindConfig}from"./tailwind-config.js";
3
+ /*! VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus. Follow me on Github: https://github.com/ilxqx! @ilxqx */
@@ -0,0 +1,2 @@
1
+ /*! VefFramework version: 1.0.9, build time: 2024-12-19T05:12:56.660Z, made by Venus. */
2
+ /*! VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus. Follow me on Github: https://github.com/ilxqx! @ilxqx */
@@ -0,0 +1,27 @@
1
+ /**
2
+ * The options for the app config plugin
3
+ */
4
+ export interface PluginAppConfigOptions {
5
+ /**
6
+ * The base public path
7
+ */
8
+ basePublicPath?: string;
9
+ /**
10
+ * The output directory of the build
11
+ */
12
+ outputDir?: string;
13
+ /**
14
+ * The name of the app
15
+ */
16
+ appName?: string;
17
+ }
18
+ /**
19
+ * The plugin for the app config
20
+ *
21
+ * @param options - The options of the plugin
22
+ * @param options.basePublicPath - The base public path
23
+ * @param options.outputDir - The output directory of the build
24
+ * @param options.appName - The name of the app
25
+ * @returns The plugin
26
+ */
27
+ export declare function createAppConfigPlugin({ basePublicPath, outputDir, appName, }: PluginAppConfigOptions): import("vite").Plugin<any> | import("vite").Plugin<any>[];
@@ -0,0 +1,3 @@
1
+ /*! VefFramework version: 1.0.9, build time: 2024-12-19T05:12:56.660Z, made by Venus. */
2
+ import e from"unplugin-config/vite";import{DEFAULT_OUTPUT_DIR as n,ENV_APP_PREFIX as i,DEFAULT_APP_NAME as t}from"./constants.js";function p({basePublicPath:p,outputDir:o,appName:a=t}){return e({appName:`VEF_${a}`,baseDir:p,configFile:{generate:!0,fileName:"app.config.js",outputDir:o??n},htmlInjection:{enable:!0,position:"head-prepend",templates:["index.html"]},envVariables:{prefix:i,files:["env/.env","env/.env.production"]}})}export{p as createAppConfigPlugin};
3
+ /*! VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus. Follow me on Github: https://github.com/ilxqx! @ilxqx */
@@ -0,0 +1,48 @@
1
+ import type { Plugin, ProxyOptions } from "vite";
2
+ /**
3
+ * The options of the vite plugin for the conventional config
4
+ */
5
+ export interface PluginConventionalConfigOptions {
6
+ /**
7
+ * The name of the app
8
+ */
9
+ appName?: string;
10
+ /**
11
+ * The version of the app
12
+ */
13
+ appVersion: string;
14
+ /**
15
+ * The directory of the project
16
+ */
17
+ projectDir: string;
18
+ /**
19
+ * The base public path
20
+ */
21
+ basePublicPath?: string;
22
+ /**
23
+ * The output directory of the build
24
+ */
25
+ outputDir?: string;
26
+ /**
27
+ * The port of the server
28
+ */
29
+ serverPort?: number;
30
+ /**
31
+ * The proxies of the server
32
+ */
33
+ proxies?: Record<string, string | ProxyOptions>;
34
+ }
35
+ /**
36
+ * The plugin for the conventional config
37
+ *
38
+ * @param options - The options of the plugin
39
+ * @param options.appName - The name of the app
40
+ * @param options.appVersion - The version of the app
41
+ * @param options.basePublicPath - The base public path
42
+ * @param options.projectDir - The directory of the project
43
+ * @param options.outputDir - The output directory of the build
44
+ * @param options.serverPort - The port of the server
45
+ * @param options.proxies - The proxies of the server
46
+ * @returns The plugin
47
+ */
48
+ export declare function createConventionalConfigPlugin({ appName, appVersion, basePublicPath, projectDir, outputDir, serverPort, proxies, }: PluginConventionalConfigOptions): Plugin;
@@ -0,0 +1,3 @@
1
+ /*! VefFramework version: 1.0.9, build time: 2024-12-19T05:12:56.660Z, made by Venus. */
2
+ import e from"autoprefixer";import{resolve as n}from"node:path";import o from"node:process";import s from"tailwindcss";import{ENV_DIR as i,ENV_BUILD_PREFIX as r,ENV_APP_PREFIX as t,DEFAULT_APP_NAME as c,SRC_DIR as a,DEFAULT_OUTPUT_DIR as d,ASSETS_DIR as u,DEFAULT_SERVER_PORT as l}from"./constants.js";function m({appName:m,appVersion:p,basePublicPath:_,projectDir:f,outputDir:v,serverPort:g,proxies:h}){return{name:"vef-framework:conventional-config",config(F,{command:O}){const y="serve"===O;return{appType:"spa",root:f,base:_,publicDir:"public",envDir:i,envPrefix:[r,t],define:{__VEF_FRAMEWORK_VERSION__:`"${o.env.VEF_FRAMEWORK_VERSION}"`,__VEF_APP_VERSION__:`"${p}"`,__VEF_APP_CONFIG__:y?`\n (function () {\n const env = import.meta.env;\n const config = Object.keys(env).filter(key => key.startsWith(${JSON.stringify(t)}))\n .reduce((acc, key) => {\n acc[key] = env[key];\n return acc;\n }, {});\n return Object.freeze(config);\n })()\n `:`window.__PRODUCTION__VEF_${m??c}__CONF__`},resolve:{alias:{"@":a}},css:{modules:{scopeBehaviour:"local",localsConvention:"camelCase"},postcss:{plugins:[s({config:n(f,"tailwind.config.ts")}),e()]}},esbuild:{drop:["console","debugger"]},build:{outDir:v??d,target:"modules",assetsDir:u,assetsInlineLimit:10240,reportCompressedSize:!1,chunkSizeWarningLimit:512,minify:"terser",cssMinify:"lightningcss",sourcemap:!1,rollupOptions:{input:{main:"index.html"},output:{banner:`/*! Powered by VEF Framework v${o.env.VEF_FRAMEWORK_VERSION}.${p?` App version v${p}.`:""} Built at ${(new Date).toISOString()} */`,chunkFileNames:`${u}/js/[name]-[hash].js`,entryFileNames:`${u}/js/[name]-[hash].js`,assetFileNames:`${u}/[ext]/[name]-[hash].[ext]`,manualChunks:e=>e.includes("/node_modules/react/")||e.includes("/node_modules/react-dom/")?"react":e.includes("/node_modules/antd/")||e.includes("/node_modules/@rc-component/")||e.includes("/node_modules/rc-")?"ui":e.includes("/node_modules/pinyin-pro/")?"pinyin":e.includes("/node_modules/@ant-design/icons/")||e.includes("/node_modules/@ant-design/icons-svg/")||e.includes("/node_modules/lucide-react/")?"icons":e.includes("/node_modules/@vef-framework/")?"vef":e.includes("/node_modules/")?"lib":void 0}}},server:{port:g||l,host:!0,open:!0,proxy:h}}}}}export{m as createConventionalConfigPlugin};
3
+ /*! VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus. Follow me on Github: https://github.com/ilxqx! @ilxqx */
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Create the eslint plugin
3
+ *
4
+ * @returns The eslint plugin
5
+ */
6
+ export declare function createEslintPlugin(): import("vite").Plugin<any>;
@@ -0,0 +1,3 @@
1
+ /*! VefFramework version: 1.0.9, build time: 2024-12-19T05:12:56.660Z, made by Venus. */
2
+ import e from"vite-plugin-eslint2";function t(){return e({fix:!0,test:!0,dev:!0,build:!0,cache:!0,cacheLocation:"node_modules/.cache/.eslintcache",include:["*.{js,ts,json,jsonc,yaml,toml,md}","src/**/*.{ts,tsx,json,jsonc,yaml,toml,md}"],exclude:["node_modules","virtual:","vef:"],emitError:!0,emitWarning:!0,emitWarningAsError:!0})}export{t as createEslintPlugin};
3
+ /*! VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus. Follow me on Github: https://github.com/ilxqx! @ilxqx */
@@ -0,0 +1,7 @@
1
+ import type { Plugin } from "vite";
2
+ /**
3
+ * The plugin to generate the html file
4
+ *
5
+ * @returns The plugin
6
+ */
7
+ export declare function createHtmlPlugin(): Plugin[];
@@ -0,0 +1,3 @@
1
+ /*! VefFramework version: 1.0.9, build time: 2024-12-19T05:12:56.660Z, made by Venus. */
2
+ import{minify as e}from"html-minifier-terser";const t="index.html",r='\n<!doctype html>\n<html lang="en">\n <head>\n <meta charset="UTF-8" />\n <link rel="icon" type="image/svg+xml" href="%VEF_APP_FAVICON%" />\n <meta name="viewport" content="width=device-width, initial-scale=1.0" />\n <meta name="description" content="Powered by VEF Framework" />\n <title>%VEF_APP_TITLE%</title>\n </head>\n <body>\n <div id="root"></div>\n <script type="module" src="src/main.tsx"><\/script>\n </body>\n</html>\n';function n(){return[{name:"vef-framework:html",resolveId(e){if(e===t)return t},load(e){if(e===t)return r},transformIndexHtml:{order:"pre",handler:()=>r}},{name:"vite-plugin-vef-framework-html-minify",enforce:"post",async generateBundle(r,n){for(const r of Object.values(n))"asset"===r.type&&"string"==typeof r.source&&r.fileName===t&&(r.source=await e(r.source,{collapseBooleanAttributes:!0,collapseInlineTagWhitespace:!0,collapseWhitespace:!0,conservativeCollapse:!1,keepClosingSlash:!0,minifyCSS:!0,minifyJS:!0,minifyURLs:!0,noNewlinesBeforeTagClose:!0,quoteCharacter:'"',removeAttributeQuotes:!1,removeComments:!0,removeEmptyAttributes:!0,removeOptionalTags:!1,removeRedundantAttributes:!0,removeScriptTypeAttributes:!1,removeTagWhitespace:!1,removeEmptyElements:!1,removeStyleLinkTypeAttributes:!1,sortAttributes:!0,sortClassName:!0,trimCustomFragments:!0,useShortDoctype:!0,html5:!0}))}}]}export{n as createHtmlPlugin};
3
+ /*! VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus. Follow me on Github: https://github.com/ilxqx! @ilxqx */
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Create the icons plugin
3
+ *
4
+ * @param projectDir - The project directory
5
+ * @returns The icons plugin
6
+ */
7
+ export declare function createIconsPlugin(projectDir: string): import("vite").Plugin<any> | import("vite").Plugin<any>[];
@@ -0,0 +1,3 @@
1
+ /*! VefFramework version: 1.0.9, build time: 2024-12-19T05:12:56.660Z, made by Venus. */
2
+ import{resolve as o,dirname as t}from"node:path";import{fileURLToPath as e}from"node:url";import l from"unplugin-icons/vite";function r(r){return l({autoInstall:!1,compiler:"jsx",jsx:"react",defaultClass:"inline-block",scale:1.2,collectionsNodeResolvePath:[r,o(t(e(import.meta.url)),"..")]})}export{r as createIconsPlugin};
3
+ /*! VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus. Follow me on Github: https://github.com/ilxqx! @ilxqx */
@@ -0,0 +1,7 @@
1
+ import type { Plugin } from "vite";
2
+ /**
3
+ * The plugin to inject the code into the main.ts file
4
+ *
5
+ * @returns The plugin
6
+ */
7
+ export declare function createInjectionPlugin(): Plugin;
@@ -0,0 +1,3 @@
1
+ /*! VefFramework version: 1.0.9, build time: 2024-12-19T05:12:56.660Z, made by Venus. */
2
+ import{basename as t,dirname as n}from"node:path";function r(){return{name:"vef-framework:injection",transform:(r,i)=>"src"===t(n(i))&&t(i).startsWith("main.ts")?`import "vef:tailwind.css";\n${r}`:null}}export{r as createInjectionPlugin};
3
+ /*! VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus. Follow me on Github: https://github.com/ilxqx! @ilxqx */
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Create the inspect plugin for inspecting the plugin modules
3
+ *
4
+ * @returns The inspect plugin
5
+ */
6
+ export declare function createInspectPlugin(): import("vite").Plugin<any>;
@@ -0,0 +1,3 @@
1
+ /*! VefFramework version: 1.0.9, build time: 2024-12-19T05:12:56.660Z, made by Venus. */
2
+ import i from"vite-plugin-inspect";function t(){return i({dev:!0,build:!1})}export{t as createInspectPlugin};
3
+ /*! VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus. Follow me on Github: https://github.com/ilxqx! @ilxqx */
@@ -0,0 +1,6 @@
1
+ /**
2
+ * The plugin to use react with swc
3
+ *
4
+ * @returns The react swc plugin
5
+ */
6
+ export declare function createReactSwcPlugin(): import("vite").PluginOption[];
@@ -0,0 +1,3 @@
1
+ /*! VefFramework version: 1.0.9, build time: 2024-12-19T05:12:56.660Z, made by Venus. */
2
+ import e from"@vitejs/plugin-react-swc";function t(){return e({devTarget:"esnext"})}export{t as createReactSwcPlugin};
3
+ /*! VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus. Follow me on Github: https://github.com/ilxqx! @ilxqx */
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Create the router plugin
3
+ *
4
+ * @returns The router plugin
5
+ */
6
+ export declare function createRouterPlugin(): import("vite").Plugin<any> | import("vite").Plugin<any>[];
@@ -0,0 +1,3 @@
1
+ /*! VefFramework version: 1.0.9, build time: 2024-12-19T05:12:56.660Z, made by Venus. */
2
+ import{TanStackRouterVite as e}from"@tanstack/router-plugin/vite";import{resolve as o,dirname as t}from"node:path";import{fileURLToPath as r}from"node:url";import{SRC_DIR as n,PAGES_DIR as i,ROUTER_DIR as a}from"./constants.js";function u(){return e({routesDirectory:o(t(r(import.meta.url)),n,i),generatedRouteTree:o(t(r(import.meta.url)),n,a,"routes.gen.ts"),quoteStyle:"double",semicolons:!0,disableTypes:!1,addExtensions:!1,disableLogging:!1,disableManifestGeneration:!1,routeTreeFileFooter:["/* Auto-generated by @vef-framework/dev, do not edit */"],routeFileIgnorePattern:"components",indexToken:"index",routeToken:"",enableRouteGeneration:!0,autoCodeSplitting:!1})}export{u as createRouterPlugin};
3
+ /*! VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus. Follow me on Github: https://github.com/ilxqx! @ilxqx */
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Create the stylelint plugin
3
+ *
4
+ * @returns The stylelint plugin
5
+ */
6
+ export declare function createStylelintPlugin(): import("vite").Plugin<any>;
@@ -0,0 +1,3 @@
1
+ /*! VefFramework version: 1.0.9, build time: 2024-12-19T05:12:56.660Z, made by Venus. */
2
+ import e from"vite-plugin-stylelint";function i(){return e({fix:!0,test:!0,dev:!0,build:!0,cache:!0,cacheLocation:"node_modules/.cache/.stylelintcache",include:["src/**/*.{scss,css}"],exclude:["node_modules","virtual:","vef:"],emitError:!0,emitWarning:!0,emitWarningAsError:!0})}export{i as createStylelintPlugin};
3
+ /*! VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus. Follow me on Github: https://github.com/ilxqx! @ilxqx */
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Create the svgr plugin
3
+ *
4
+ * @returns The svgr plugin
5
+ */
6
+ export declare function createSvgrPlugin(): import("vite").Plugin<any>;
@@ -0,0 +1,3 @@
1
+ /*! VefFramework version: 1.0.9, build time: 2024-12-19T05:12:56.660Z, made by Venus. */
2
+ import s from"vite-plugin-svgr";function i(){return s({include:"**/*.svg?react",esbuildOptions:{platform:"browser",minify:!0,jsx:"automatic"},svgrOptions:{plugins:["@svgr/plugin-svgo","@svgr/plugin-jsx"],icon:!1,dimensions:!1,prettier:!0,memo:!0,svgo:!0,ref:!1,typescript:!0,jsxRuntime:"automatic",svgoConfig:{multipass:!0,datauri:"base64",js2svg:{indent:2,pretty:!0},plugins:["preset-default",{name:"prefixIds",params:{prefix:"vef"}},{name:"cleanupIds",params:{force:!0,remove:!0,minify:!0}}]},svgProps:{}}})}export{i as createSvgrPlugin};
3
+ /*! VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus. Follow me on Github: https://github.com/ilxqx! @ilxqx */
@@ -0,0 +1,7 @@
1
+ import type { Plugin } from "vite";
2
+ /**
3
+ * The plugin to inject the tailwindcss into the main.ts file
4
+ *
5
+ * @returns The plugin
6
+ */
7
+ export declare function createTailwindcssPlugin(): Plugin;
@@ -0,0 +1,3 @@
1
+ /*! VefFramework version: 1.0.9, build time: 2024-12-19T05:12:56.660Z, made by Venus. */
2
+ const i="vef:tailwind.css",n=`\0${i}`;function t(){return{name:"vef-framework:tailwindcss",resolveId(t){if(t===i)return n},load(i){if(i===n)return"@tailwind base;\n@tailwind components;\n@tailwind utilities;"}}}export{t as createTailwindcssPlugin};
3
+ /*! VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus. Follow me on Github: https://github.com/ilxqx! @ilxqx */
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Create the webfont plugin
3
+ *
4
+ * @returns The webfont plugin
5
+ */
6
+ export declare function createWebfontPlugin(): import("vite").Plugin<any>;
@@ -0,0 +1,3 @@
1
+ /*! VefFramework version: 1.0.9, build time: 2024-12-19T05:12:56.660Z, made by Venus. */
2
+ import t from"vite-plugin-webfont-dl";function a(){return t(["https://fonts.googleapis.com/css2?family=PT+Sans+Caption:wght@400;700&family=PT+Sans:ital,wght@0,400;0,700;1,400;1,700&display=swap","https://fonts.googleapis.com/css2?family=Martian+Mono:wght@100..800&family=PT+Sans+Caption:wght@400;700&family=PT+Sans:ital,wght@0,400;0,700;1,400;1,700&display=swap"])}export{a as createWebfontPlugin};
3
+ /*! VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus. Follow me on Github: https://github.com/ilxqx! @ilxqx */
@@ -0,0 +1,7 @@
1
+ import type { Config } from "stylelint";
2
+ /**
3
+ * Define the stylelint configuration
4
+ *
5
+ * @returns The stylelint configuration
6
+ */
7
+ export declare function defineStylelintConfig(): Config;
@@ -0,0 +1,3 @@
1
+ /*! VefFramework version: 1.0.9, build time: 2024-12-19T05:12:56.660Z, made by Venus. */
2
+ import e from"stylelint-config-recess-order/groups";function n(){return{extends:["stylelint-config-standard-scss","stylelint-config-recommended"],plugins:["stylelint-order"],rules:{"order/order":["dollar-variables","at-variables","custom-properties","less-mixins","declarations","at-rules","rules"],"order/properties-order":e.map((e=>({...e,emptyLineBefore:"always",noEmptyLineBetween:!0}))),"declaration-empty-line-before":null,"at-rule-no-unknown":null,"function-no-unknown":null,"number-max-precision":null,"color-hex-length":"long","color-hex-alpha":"never","color-named":"never","unit-allowed-list":["px","em","rem","%","vw","vh","fr","deg","rad","grad","turn","ms","s"],"scss/function-no-unknown":[!0,{ignoreFunctions:[]}],"scss/at-rule-no-unknown":[!0,{ignoreAtRules:[]}]}}}export{n as defineStylelintConfig};
3
+ /*! VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus. Follow me on Github: https://github.com/ilxqx! @ilxqx */
@@ -0,0 +1,7 @@
1
+ import type { Config } from "tailwindcss";
2
+ /**
3
+ * Define the tailwind config
4
+ *
5
+ * @returns The tailwind config
6
+ */
7
+ export declare function defineTailwindConfig(): Config;
@@ -0,0 +1,3 @@
1
+ /*! VefFramework version: 1.0.9, build time: 2024-12-19T05:12:56.660Z, made by Venus. */
2
+ import e from"@tailwindcss/container-queries";import r from"tailwindcss/colors.js";function v(){return{content:["src/**/*.{ts,tsx}"],plugins:[e],theme:{colors:{inherit:"inherit",current:"currentColor",transparent:"transparent",black:"#000000",white:"var(--vef-color-white)",primary:"var(--vef-color-primary)","primary-hover":"var(--vef-color-primary-hover)","primary-active":"var(--vef-color-primary-active)",success:"var(--vef-color-success)","success-hover":"var(--vef-color-success-hover)","success-active":"var(--vef-color-success-active)",warning:"var(--vef-color-warning)","warning-hover":"var(--vef-color-warning-hover)","warning-active":"var(--vef-color-warning-active)",error:"var(--vef-color-error)","error-hover":"var(--vef-color-error-hover)","error-active":"var(--vef-color-error-active)",info:"var(--vef-color-info)","info-hover":"var(--vef-color-info-hover)","info-active":"var(--vef-color-info-active)",link:"var(--vef-color-link)","link-hover":"var(--vef-color-link-hover)","link-active":"var(--vef-color-link-active)",blue:{DEFAULT:"var(--vef-blue-6)",1:"var(--vef-blue-1)",2:"var(--vef-blue-2)",3:"var(--vef-blue-3)",4:"var(--vef-blue-4)",5:"var(--vef-blue-5)",6:"var(--vef-blue-6)",7:"var(--vef-blue-7)",8:"var(--vef-blue-8)",9:"var(--vef-blue-9)",10:"var(--vef-blue-10)"},purple:{DEFAULT:"var(--vef-purple-6)",1:"var(--vef-purple-1)",2:"var(--vef-purple-2)",3:"var(--vef-purple-3)",4:"var(--vef-purple-4)",5:"var(--vef-purple-5)",6:"var(--vef-purple-6)",7:"var(--vef-purple-7)",8:"var(--vef-purple-8)",9:"var(--vef-purple-9)",10:"var(--vef-purple-10)"},cyan:{DEFAULT:"var(--vef-cyan-6)",1:"var(--vef-cyan-1)",2:"var(--vef-cyan-2)",3:"var(--vef-cyan-3)",4:"var(--vef-cyan-4)",5:"var(--vef-cyan-5)",6:"var(--vef-cyan-6)",7:"var(--vef-cyan-7)",8:"var(--vef-cyan-8)",9:"var(--vef-cyan-9)",10:"var(--vef-cyan-10)"},green:{DEFAULT:"var(--vef-green-6)",1:"var(--vef-green-1)",2:"var(--vef-green-2)",3:"var(--vef-green-3)",4:"var(--vef-green-4)",5:"var(--vef-green-5)",6:"var(--vef-green-6)",7:"var(--vef-green-7)",8:"var(--vef-green-8)",9:"var(--vef-green-9)",10:"var(--vef-green-10)"},magenta:{DEFAULT:"var(--vef-magenta-6)",1:"var(--vef-magenta-1)",2:"var(--vef-magenta-2)",3:"var(--vef-magenta-3)",4:"var(--vef-magenta-4)",5:"var(--vef-magenta-5)",6:"var(--vef-magenta-6)",7:"var(--vef-magenta-7)",8:"var(--vef-magenta-8)",9:"var(--vef-magenta-9)",10:"var(--vef-magenta-10)"},pink:{DEFAULT:"var(--vef-pink-6)",1:"var(--vef-pink-1)",2:"var(--vef-pink-2)",3:"var(--vef-pink-3)",4:"var(--vef-pink-4)",5:"var(--vef-pink-5)",6:"var(--vef-pink-6)",7:"var(--vef-pink-7)",8:"var(--vef-pink-8)",9:"var(--vef-pink-9)",10:"var(--vef-pink-10)"},red:{DEFAULT:"var(--vef-red-6)",1:"var(--vef-red-1)",2:"var(--vef-red-2)",3:"var(--vef-red-3)",4:"var(--vef-red-4)",5:"var(--vef-red-5)",6:"var(--vef-red-6)",7:"var(--vef-red-7)",8:"var(--vef-red-8)",9:"var(--vef-red-9)",10:"var(--vef-red-10)"},orange:{DEFAULT:"var(--vef-orange-6)",1:"var(--vef-orange-1)",2:"var(--vef-orange-2)",3:"var(--vef-orange-3)",4:"var(--vef-orange-4)",5:"var(--vef-orange-5)",6:"var(--vef-orange-6)",7:"var(--vef-orange-7)",8:"var(--vef-orange-8)",9:"var(--vef-orange-9)",10:"var(--vef-orange-10)"},yellow:{DEFAULT:"var(--vef-yellow-6)",1:"var(--vef-yellow-1)",2:"var(--vef-yellow-2)",3:"var(--vef-yellow-3)",4:"var(--vef-yellow-4)",5:"var(--vef-yellow-5)",6:"var(--vef-yellow-6)",7:"var(--vef-yellow-7)",8:"var(--vef-yellow-8)",9:"var(--vef-yellow-9)",10:"var(--vef-yellow-10)"},volcano:{DEFAULT:"var(--vef-volcano-6)",1:"var(--vef-volcano-1)",2:"var(--vef-volcano-2)",3:"var(--vef-volcano-3)",4:"var(--vef-volcano-4)",5:"var(--vef-volcano-5)",6:"var(--vef-volcano-6)",7:"var(--vef-volcano-7)",8:"var(--vef-volcano-8)",9:"var(--vef-volcano-9)",10:"var(--vef-volcano-10)"},geekblue:{DEFAULT:"var(--vef-geekblue-6)",1:"var(--vef-geekblue-1)",2:"var(--vef-geekblue-2)",3:"var(--vef-geekblue-3)",4:"var(--vef-geekblue-4)",5:"var(--vef-geekblue-5)",6:"var(--vef-geekblue-6)",7:"var(--vef-geekblue-7)",8:"var(--vef-geekblue-8)",9:"var(--vef-geekblue-9)",10:"var(--vef-geekblue-10)"},gold:{DEFAULT:"var(--vef-gold-6)",1:"var(--vef-gold-1)",2:"var(--vef-gold-2)",3:"var(--vef-gold-3)",4:"var(--vef-gold-4)",5:"var(--vef-gold-5)",6:"var(--vef-gold-6)",7:"var(--vef-gold-7)",8:"var(--vef-gold-8)",9:"var(--vef-gold-9)",10:"var(--vef-gold-10)"},lime:{DEFAULT:"var(--vef-lime-6)",1:"var(--vef-lime-1)",2:"var(--vef-lime-2)",3:"var(--vef-lime-3)",4:"var(--vef-lime-4)",5:"var(--vef-lime-5)",6:"var(--vef-lime-6)",7:"var(--vef-lime-7)",8:"var(--vef-lime-8)",9:"var(--vef-lime-9)",10:"var(--vef-lime-10)"},slate:{DEFAULT:r.slate[500],1:r.slate[50],2:r.slate[100],3:r.slate[200],4:r.slate[300],5:r.slate[400],6:r.slate[500],7:r.slate[600],8:r.slate[700],9:r.slate[800],10:r.slate[900]}},extend:{textColor:{"primary-alt":"var(--vef-color-primary-text)","primary-alt-hover":"var(--vef-color-primary-text-hover)","primary-alt-active":"var(--vef-color-primary-text-active)","success-alt":"var(--vef-color-success-text)","success-alt-hover":"var(--vef-color-success-text-hover)","success-alt-active":"var(--vef-color-success-text-active)","warning-alt":"var(--vef-color-warning-text)","warning-alt-hover":"var(--vef-color-warning-text-hover)","warning-alt-active":"var(--vef-color-warning-text-active)","error-alt":"var(--vef-color-error-text)","error-alt-hover":"var(--vef-color-error-text-hover)","error-alt-active":"var(--vef-color-error-text-active)","info-alt":"var(--vef-color-info-text)","info-alt-hover":"var(--vef-color-info-text-hover)","info-alt-active":"var(--vef-color-info-text-active)",base:"var(--vef-color-text-base)",default:"var(--vef-color-text)",secondary:"var(--vef-color-text-secondary)",tertiary:"var(--vef-color-text-tertiary)",quaternary:"var(--vef-color-text-quaternary)",placeholder:"var(--vef-color-text-placeholder)",disabled:"var(--vef-color-text-disabled)",heading:"var(--vef-color-text-heading)",label:"var(--vef-color-text-label)",description:"var(--vef-color-text-description)","light-solid":"var(--vef-color-text-light-solid)",highlight:"var(--vef-color-highlight)",icon:"var(--vef-color-icon)","icon-hover":"var(--vef-color-icon-hover)"},outlineColor:{error:"var(--vef-color-error-outline)",warning:"var(--vef-color-warning-outline)"},backgroundColor:{"primary-alt":"var(--vef-color-primary-bg)","primary-alt-hover":"var(--vef-color-primary-bg-hover)","success-alt":"var(--vef-color-success-bg)","success-alt-hover":"var(--vef-color-success-bg-hover)","warning-alt":"var(--vef-color-warning-bg)","warning-alt-hover":"var(--vef-color-warning-bg-hover)","error-alt":"var(--vef-color-error-bg)","error-alt-hover":"var(--vef-color-error-bg-hover)","info-alt":"var(--vef-color-info-bg)","info-alt-hover":"var(--vef-color-info-bg-hover)",base:"var(--vef-color-bg-base)",layout:"var(--vef-color-bg-layout)",spotlight:"var(--vef-color-bg-spotlight)",solid:"var(--vef-color-bg-solid)","solid-hover":"var(--vef-color-bg-solid-hover)","solid-active":"var(--vef-color-bg-solid-active)",container:"var(--vef-color-bg-container)","container-disabled":"var(--vef-color-bg-container-disabled)",elevated:"var(--vef-color-bg-elevated)",blur:"var(--vef-color-bg-blur)",fill:"var(--vef-color-fill)","fill-secondary":"var(--vef-color-fill-secondary)","fill-tertiary":"var(--vef-color-fill-tertiary)","fill-quaternary":"var(--vef-color-fill-quaternary)","fill-content":"var(--vef-color-fill-content)","fill-content-hover":"var(--vef-color-fill-content-hover)","fill-alt":"var(--vef-color-fill-alter)",mask:"var(--vef-color-bg-mask)","text-hover":"var(--vef-color-bg-text-hover)","text-active":"var(--vef-color-bg-text-active)","control-item-hover":"var(--vef-control-item-bg-hover)","control-item-active":"var(--vef-control-item-bg-active)","control-item-active-hover":"var(--vef-control-item-bg-active-hover)","control-item-active-disabled":"var(--vef-control-item-bg-active-disabled)"},borderColor:{"primary-alt":"var(--vef-color-primary-border)","primary-alt-hover":"var(--vef-color-primary-border-hover)","success-alt":"var(--vef-color-success-border)","success-alt-hover":"var(--vef-color-success-border-hover)","warning-alt":"var(--vef-color-warning-border)","warning-alt-hover":"var(--vef-color-warning-border-hover)","error-alt":"var(--vef-color-error-border)","error-alt-hover":"var(--vef-color-error-border-hover)","info-alt":"var(--vef-color-info-border)","info-alt-hover":"var(--vef-color-info-border-hover)",base:"var(--vef-color-border)",secondary:"var(--vef-color-border-secondary)"},fontFamily:{base:"var(--vef-font-family)",code:"var(--vef-font-family-code)"},fontSize:{base:"var(--vef-font-size)",sm:"var(--vef-font-size-sm)",lg:"var(--vef-font-size-lg)",xl:"var(--vef-font-size-xl)",heading1:"var(--vef-font-size-heading-1)",heading2:"var(--vef-font-size-heading-2)",heading3:"var(--vef-font-size-heading-3)",heading4:"var(--vef-font-size-heading-4)",heading5:"var(--vef-font-size-heading-5)"},fontWeight:{strong:"var(--vef-font-weight-strong)"},borderWidth:{base:"var(--vef-line-width)",bold:"var(--vef-line-width-bold)"},borderRadius:{DEFAULT:"var(--vef-border-radius)",xs:"var(--vef-border-radius-xs)",sm:"var(--vef-border-radius-sm)",lg:"var(--vef-border-radius-lg)",outer:"var(--vef-border-radius-outer)"},height:{control:"var(--vef-control-height)","control-sm":"var(--vef-control-height-sm)","control-xs":"var(--vef-control-height-xs)","control-lg":"var(--vef-control-height-lg)",font:"var(--vef-font-height)","font-sm":"var(--vef-font-height-sm)","font-lg":"var(--vef-font-height-lg)"},lineHeight:{base:"var(--vef-line-height)",sm:"var(--vef-line-height-sm)",lg:"var(--vef-line-height-lg)","heading-1":"var(--vef-line-height-heading-1)","heading-2":"var(--vef-line-height-heading-2)","heading-3":"var(--vef-line-height-heading-3)","heading-4":"var(--vef-line-height-heading-4)","heading-5":"var(--vef-line-height-heading-5)"},spacing:{base:"var(--vef-margin)",xxs:"var(--vef-margin-xxs)",xs:"var(--vef-margin-xs)",sm:"var(--vef-margin-sm)",md:"var(--vef-margin-md)",lg:"var(--vef-margin-lg)",xl:"var(--vef-margin-xl)",xxl:"var(--vef-margin-xxl)"},boxShadow:{base:"var(--vef-box-shadow)",secondary:"var(--vef-box-shadow-secondary)",tertiary:"var(--vef-box-shadow-tertiary)",card:"var(--vef-box-shadow-card)",elevated:"0 0 1px rgb(0 0 0 / 30%), 0 4px 14px rgb(0 0 0 / 10%)"},transitionDuration:{fast:"var(--vef-motion-duration-fast)",mid:"var(--vef-motion-duration-mid)",slow:"var(--vef-motion-duration-slow)"},transitionTimingFunction:{"ease-out-circ":"var(--vef-motion-ease-out-circ)","ease-in-out-circ":"var(--vef-motion-ease-in-out-circ)","ease-out":"var(--vef-motion-ease-out)","ease-in-out":"var(--vef-motion-ease-in-out)","ease-out-back":"var(--vef-motion-ease-out-back)","ease-in-back":"var(--vef-motion-ease-in-back)","ease-in-quint":"var(--vef-motion-ease-in-quint)","ease-out-quint":"var(--vef-motion-ease-out-quint)"},zIndex:{base:"var(--vef-z-index-base)",popup:"var(--vef-z-index-popup)"}}}}}export{v as defineTailwindConfig};
3
+ /*! VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus. Follow me on Github: https://github.com/ilxqx! @ilxqx */
@@ -0,0 +1,15 @@
1
+ /**
2
+ * The development environment configuration
3
+ */
4
+ export interface DevelopmentEnvConfig {
5
+ /**
6
+ * The port of the dev server
7
+ */
8
+ port: number;
9
+ }
10
+ /**
11
+ * The production environment configuration
12
+ */
13
+ export interface ProductionEnvConfig {
14
+ }
15
+ export type EnvConfig = DevelopmentEnvConfig & ProductionEnvConfig;
package/package.json ADDED
@@ -0,0 +1,81 @@
1
+ {
2
+ "name": "@vef-framework/dev",
3
+ "type": "module",
4
+ "version": "1.0.9",
5
+ "private": false,
6
+ "packageManager": "pnpm@9.15.0",
7
+ "description": "The development tools of the VEF framework",
8
+ "author": "Venus",
9
+ "keywords": [
10
+ "vef",
11
+ "vef-framework",
12
+ "vef-dev"
13
+ ],
14
+ "main": "dist/index.js",
15
+ "types": "dist/index.d.ts",
16
+ "bin": {
17
+ "vef": "bin/vef.js"
18
+ },
19
+ "files": [
20
+ "*"
21
+ ],
22
+ "engines": {
23
+ "node": ">=20"
24
+ },
25
+ "dependencies": {
26
+ "@antfu/eslint-config": "3.11.2",
27
+ "@commitlint/cli": "19.6.0",
28
+ "@commitlint/config-conventional": "19.6.0",
29
+ "@commitlint/format": "19.5.0",
30
+ "@commitlint/types": "19.5.0",
31
+ "@eslint-react/eslint-plugin": "1.19.0",
32
+ "@iconify-json/hugeicons": "^1.2.2",
33
+ "@iconify-json/lucide": "^1.2.19",
34
+ "@iconify-json/mingcute": "^1.2.2",
35
+ "@iconify-json/tabler": "^1.2.13",
36
+ "@svgr/plugin-svgo": "^8.1.0",
37
+ "@tailwindcss/container-queries": "^0.1.1",
38
+ "@tanstack/react-query-devtools": "^5.62.7",
39
+ "@tanstack/router-devtools": "^1.90.0",
40
+ "@tanstack/router-plugin": "^1.87.13",
41
+ "@vitejs/plugin-react-swc": "^3.7.2",
42
+ "autoprefixer": "^10.4.20",
43
+ "browserslist": "^4.24.3",
44
+ "chalk": "^5.3.0",
45
+ "commander": "^12.1.0",
46
+ "consola": "^3.2.3",
47
+ "dotenv": "^16.4.7",
48
+ "eslint": "9.16.0",
49
+ "eslint-plugin-format": "0.1.3",
50
+ "eslint-plugin-react-hooks": "5.1.0",
51
+ "eslint-plugin-react-refresh": "0.4.16",
52
+ "eslint-plugin-tailwindcss": "^3.17.5",
53
+ "execa": "9.5.2",
54
+ "fs-extra": "^11.2.0",
55
+ "html-minifier-terser": "^7.2.0",
56
+ "husky": "9.1.7",
57
+ "lightningcss": "^1.28.2",
58
+ "lint-staged": "^15.2.11",
59
+ "postcss": "^8.4.49",
60
+ "sass-embedded": "^1.83.0",
61
+ "stylelint": "^16.12.0",
62
+ "stylelint-config-recess-order": "^5.1.1",
63
+ "stylelint-config-recommended": "^14.0.1",
64
+ "stylelint-config-standard-scss": "^14.0.0",
65
+ "stylelint-order": "^6.0.4",
66
+ "tailwindcss": "^3.4.16",
67
+ "terser": "^5.37.0",
68
+ "tslib": "2.8.1",
69
+ "unplugin-config": "^0.1.5",
70
+ "unplugin-icons": "^0.22.0",
71
+ "vite": "^6.0.3",
72
+ "vite-plugin-eslint2": "^5.0.3",
73
+ "vite-plugin-inspect": "^0.10.3",
74
+ "vite-plugin-stylelint": "^6.0.0",
75
+ "vite-plugin-svgr": "^4.3.0",
76
+ "vite-plugin-webfont-dl": "^3.10.3"
77
+ },
78
+ "publishConfig": {
79
+ "access": "public"
80
+ }
81
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "compilerOptions": {
3
+ "composite": true,
4
+ "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
5
+ "target": "ES2022",
6
+ "jsx": "react-jsx",
7
+ "lib": ["ES2022", "DOM", "DOM.Iterable"],
8
+ "moduleDetection": "force",
9
+ "useDefineForClassFields": true,
10
+ "module": "ES2022",
11
+ "moduleResolution": "Bundler",
12
+ "allowImportingTsExtensions": false,
13
+
14
+ /* Linting */
15
+ "strict": true,
16
+ "noFallthroughCasesInSwitch": true,
17
+ "noImplicitAny": true,
18
+ "noImplicitOverride": true,
19
+ "noUnusedLocals": true,
20
+ "noUnusedParameters": true,
21
+ "declaration": true,
22
+ "emitDeclarationOnly": true,
23
+ "importHelpers": true,
24
+ "noEmit": true,
25
+ "allowSyntheticDefaultImports": true,
26
+ "esModuleInterop": true,
27
+ "isolatedModules": true,
28
+ "skipLibCheck": true,
29
+ "noUncheckedSideEffectImports": true
30
+ }
31
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "compilerOptions": {
3
+ "composite": true,
4
+ "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo",
5
+ "target": "ES2022",
6
+ "lib": ["ES2022"],
7
+ "module": "NodeNext",
8
+ "moduleResolution": "NodeNext",
9
+ "allowImportingTsExtensions": false,
10
+
11
+ /* Linting */
12
+ "strict": true,
13
+ "noFallthroughCasesInSwitch": true,
14
+ "noImplicitAny": true,
15
+ "noImplicitOverride": true,
16
+ "noUnusedLocals": true,
17
+ "noUnusedParameters": true,
18
+ "importHelpers": true,
19
+ "noEmit": true,
20
+ "allowSyntheticDefaultImports": true,
21
+ "esModuleInterop": true,
22
+ "skipLibCheck": true
23
+ }
24
+ }