@farris/cli 2.0.0-beta.7 → 2.0.1

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 (64) hide show
  1. package/bin/index.js +0 -0
  2. package/lib/commands/build-components.js +39 -36
  3. package/lib/commands/build-components.js.map +1 -0
  4. package/lib/commands/build-css.js +28 -11
  5. package/lib/commands/build-css.js.map +1 -0
  6. package/lib/commands/build-lib.js +28 -16
  7. package/lib/commands/build-lib.js.map +1 -0
  8. package/lib/commands/build.js +16 -10
  9. package/lib/commands/build.js.map +1 -0
  10. package/lib/commands/create-app.js +55 -54
  11. package/lib/commands/create-app.js.map +1 -0
  12. package/lib/commands/dev-serve.js +24 -23
  13. package/lib/commands/dev-serve.js.map +1 -0
  14. package/lib/commands/preview-serve.js +17 -16
  15. package/lib/commands/preview-serve.js.map +1 -0
  16. package/lib/common/constant.js +19 -18
  17. package/lib/common/constant.js.map +1 -0
  18. package/lib/common/generate-app.js +45 -44
  19. package/lib/common/generate-app.js.map +1 -0
  20. package/lib/common/get-dependencies.js +10 -9
  21. package/lib/common/get-dependencies.js.map +1 -0
  22. package/lib/common/get-farris-config.js +12 -11
  23. package/lib/common/get-farris-config.js.map +1 -0
  24. package/lib/common/get-version.js +7 -6
  25. package/lib/common/get-version.js.map +1 -0
  26. package/lib/common/get-vite-config.js +41 -38
  27. package/lib/common/get-vite-config.js.map +1 -0
  28. package/lib/config/vite-app.js +15 -14
  29. package/lib/config/vite-app.js.map +1 -0
  30. package/lib/config/vite-component.js +33 -0
  31. package/lib/config/vite-component.js.map +1 -0
  32. package/lib/config/vite-lib.js +28 -35
  33. package/lib/config/vite-lib.js.map +1 -0
  34. package/lib/index.js +66 -54
  35. package/lib/index.js.map +1 -0
  36. package/lib/plugins/{gen-component-style.js → create-component-style.js} +45 -43
  37. package/lib/plugins/create-component-style.js.map +1 -0
  38. package/lib/plugins/create-package-json.js +34 -0
  39. package/lib/plugins/create-package-json.js.map +1 -0
  40. package/lib/plugins/dts.js +9 -8
  41. package/lib/plugins/dts.js.map +1 -0
  42. package/lib/plugins/html-system.js +12 -11
  43. package/lib/plugins/html-system.js.map +1 -0
  44. package/lib/plugins/replace.js +14 -13
  45. package/lib/plugins/replace.js.map +1 -0
  46. package/lib/plugins/systemjs-bundle.js +16 -0
  47. package/lib/plugins/systemjs-bundle.js.map +1 -0
  48. package/package.json +5 -3
  49. package/templates/mobile/farris.config.mjs +23 -23
  50. package/templates/{lib → web}/farris.config.mjs +23 -34
  51. package/templates/{lib → web}/package.json +4 -4
  52. package/templates/web/src/App.vue +80 -0
  53. package/templates/web/src/components/TheButton.vue +3 -0
  54. package/templates/{lib → web}/src/main.ts +3 -2
  55. package/templates/web/src/router/index.ts +23 -0
  56. package/templates/web/src/views/AboutView.vue +15 -0
  57. package/templates/web/src/views/HomeView.vue +9 -0
  58. package/templates/{lib → web}/tsconfig.json +5 -5
  59. package/templates/lib/packages/button/src/index.vue +0 -4
  60. package/templates/lib/packages/index.ts +0 -7
  61. package/templates/lib/src/App.vue +0 -5
  62. /package/templates/{lib → web}/.eslintrc.cjs +0 -0
  63. /package/templates/{lib → web}/.prettierrc.json +0 -0
  64. /package/templates/{lib → web}/index.html +0 -0
@@ -1,24 +1,24 @@
1
- import { fileURLToPath, URL } from 'node:url';
2
-
3
- export default {
4
- format: "<%= format %>",
5
- // 输出目录 App模式默认值 './dist' Lib模式 './lib'
6
- // outDir: fileURLToPath(new URL('./dist', import.meta.url)),
7
- // 最小化 默认值 true
8
- minify: true,
9
- // 外部依赖排除项 默认值 { include: [], exclude: [] }
10
- // externals: {
11
- // include: [],
12
- // exclude: []
13
- // },
14
- // 是否排除 package.json 中 dependencies和 peerDependencies 依赖的包; App模式默认值 false Lib模式默认值 true
15
- externalDependencies: false,
16
- // 路径别名 默认值 null
17
- alias: [
18
- { find: '@', replacement: fileURLToPath(new URL('./src', import.meta.url)) }
19
- ],
20
- // 插件 默认值 [vue(), vueJsx()] 不要重复添加
21
- // plugins: [],
22
- // viteConfig 配置项
23
- viteConfig: {}
1
+ import { fileURLToPath, URL } from 'node:url';
2
+
3
+ export default {
4
+ format: "<%= format %>",
5
+ // 输出目录 App模式默认值 './dist' Lib模式 './lib'
6
+ // outDir: fileURLToPath(new URL('./dist', import.meta.url)),
7
+ // 最小化 默认值 true
8
+ minify: true,
9
+ // 外部依赖排除项 默认值 { include: [], exclude: [] }
10
+ // externals: {
11
+ // include: [],
12
+ // exclude: []
13
+ // },
14
+ // 是否排除 package.json 中 dependencies和 peerDependencies 依赖的包; App模式默认值 false Lib模式默认值 true
15
+ externalDependencies: false,
16
+ // 路径别名 默认值 null
17
+ alias: [
18
+ { find: '@', replacement: fileURLToPath(new URL('./src', import.meta.url)) }
19
+ ],
20
+ // 插件 默认值 [vue(), vueJsx()] 不要重复添加
21
+ // plugins: [],
22
+ // viteConfig 配置项
23
+ viteConfig: {}
24
24
  }
@@ -1,35 +1,24 @@
1
- import { fileURLToPath, URL } from 'node:url';
2
-
3
- export default {
4
- // 库模式配置
5
- lib: {
6
- // 入口 默认值 './src/main.ts'
7
- entry: './packages/index.ts',
8
- // 库名称
9
- name: "<%= name %>",
10
- // 输出文件名
11
- fileName: "index",
12
- // 输出文件格式 默认值 ["es", 'systemjs']
13
- formats: <%= formats %>,
14
- },
15
- // 输出目录 App模式默认值 './dist' Lib模式 './lib'
16
- // outDir: fileURLToPath(new URL('./dist', import.meta.url)),
17
- // 最小化 默认值 true
18
- minify: true,
19
- // 外部依赖排除项 默认值 { include: [], exclude: [] }
20
- // externals: {
21
- // include: [],
22
- // exclude: []
23
- // },
24
- // 是否排除 package.json 中 dependencies和 peerDependencies 依赖的包; App模式默认值 false Lib模式默认值 true
25
- externalDependencies: true,
26
- // 路径别名 默认值 null
27
- alias: [
28
- { find: '@', replacement: fileURLToPath(new URL('./src', import.meta.url)) },
29
- { find: '@packages', replacement: fileURLToPath(new URL('./packages', import.meta.url)) },
30
- ],
31
- // 插件 默认值 [vue(), vueJsx()] 不要重复添加
32
- // plugins: [],
33
- // viteConfig 配置项
34
- viteConfig: {}
1
+ import { fileURLToPath, URL } from 'node:url';
2
+
3
+ export default {
4
+ format: "<%= format %>",
5
+ // 输出目录 App模式默认值 './dist' Lib模式 './lib'
6
+ // outDir: fileURLToPath(new URL('./dist', import.meta.url)),
7
+ // 最小化 默认值 true
8
+ minify: true,
9
+ // 外部依赖排除项 默认值 { include: [], exclude: [] }
10
+ // externals: {
11
+ // include: [],
12
+ // exclude: []
13
+ // },
14
+ // 是否排除 package.json 中 dependencies和 peerDependencies 依赖的包; App模式默认值 false Lib模式默认值 true
15
+ externalDependencies: false,
16
+ // 路径别名 默认值 null
17
+ alias: [
18
+ { find: '@', replacement: fileURLToPath(new URL('./src', import.meta.url)) }
19
+ ],
20
+ // 插件 默认值 [vue(), vueJsx()] 不要重复添加
21
+ // plugins: [],
22
+ // viteConfig 配置项
23
+ viteConfig: {}
35
24
  }
@@ -3,17 +3,17 @@
3
3
  "version": "0.0.0",
4
4
  "private": true,
5
5
  "type": "module",
6
- "main": "./dist/index.umd.js",
7
- "module": "./dist/index.js",
8
6
  "scripts": {
9
7
  "dev": "farris-cli dev",
10
- "build": "farris-cli build-lib",
8
+ "build": "farris-cli build",
11
9
  "preview": "farris-cli preview",
12
10
  "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore",
13
11
  "format": "prettier --write src/"
14
12
  },
15
13
  "dependencies": {
16
- "vue": "^3.4.29"
14
+ "@farris/ui-vue": "latest",
15
+ "vue": "^3.4.29",
16
+ "vue-router": "^4.3.0"
17
17
  },
18
18
  "devDependencies": {
19
19
  "@farris/cli": "<%= cliVersion %>",
@@ -0,0 +1,80 @@
1
+ <script setup lang="ts">
2
+ import { RouterLink, RouterView } from 'vue-router'
3
+ </script>
4
+
5
+ <template>
6
+ <header>
7
+ <div class="wrapper">
8
+ <nav>
9
+ <RouterLink to="/">Home</RouterLink>
10
+ <RouterLink to="/about">About</RouterLink>
11
+ </nav>
12
+ </div>
13
+ </header>
14
+
15
+ <RouterView />
16
+ </template>
17
+
18
+ <style scoped>
19
+ header {
20
+ line-height: 1.5;
21
+ max-height: 100vh;
22
+ }
23
+
24
+ .logo {
25
+ display: block;
26
+ margin: 0 auto 2rem;
27
+ }
28
+
29
+ nav {
30
+ width: 100%;
31
+ font-size: 12px;
32
+ text-align: center;
33
+ margin-top: 2rem;
34
+ }
35
+
36
+ nav a.router-link-exact-active {
37
+ color: var(--color-text);
38
+ }
39
+
40
+ nav a.router-link-exact-active:hover {
41
+ background-color: transparent;
42
+ }
43
+
44
+ nav a {
45
+ display: inline-block;
46
+ padding: 0 1rem;
47
+ border-left: 1px solid var(--color-border);
48
+ }
49
+
50
+ nav a:first-of-type {
51
+ border: 0;
52
+ }
53
+
54
+ @media (min-width: 1024px) {
55
+ header {
56
+ display: flex;
57
+ place-items: center;
58
+ padding-right: calc(var(--section-gap) / 2);
59
+ }
60
+
61
+ .logo {
62
+ margin: 0 2rem 0 0;
63
+ }
64
+
65
+ header .wrapper {
66
+ display: flex;
67
+ place-items: flex-start;
68
+ flex-wrap: wrap;
69
+ }
70
+
71
+ nav {
72
+ text-align: left;
73
+ margin-left: -1rem;
74
+ font-size: 1rem;
75
+
76
+ padding: 1rem 0;
77
+ margin-top: 1rem;
78
+ }
79
+ }
80
+ </style>
@@ -0,0 +1,3 @@
1
+ <template>
2
+ <f-button>按钮</f-button>
3
+ </template>
@@ -1,9 +1,10 @@
1
1
  import { createApp } from 'vue'
2
+ import FarrisVue from '@farris/ui-vue'
2
3
  import App from './App.vue'
3
- import componentsLib from "@packages/index";
4
+ import router from './router'
4
5
 
5
6
  const app = createApp(App)
6
7
 
7
- app.use(componentsLib)
8
+ app.use(router).use(FarrisVue)
8
9
 
9
10
  app.mount('#app')
@@ -0,0 +1,23 @@
1
+ import { createRouter, createWebHistory } from 'vue-router'
2
+ import HomeView from '../views/HomeView.vue'
3
+
4
+ const router = createRouter({
5
+ history: createWebHistory(import.meta.env.BASE_URL),
6
+ routes: [
7
+ {
8
+ path: '/',
9
+ name: 'home',
10
+ component: HomeView
11
+ },
12
+ {
13
+ path: '/about',
14
+ name: 'about',
15
+ // route level code-splitting
16
+ // this generates a separate chunk (About.[hash].js) for this route
17
+ // which is lazy-loaded when the route is visited.
18
+ component: () => import('../views/AboutView.vue')
19
+ }
20
+ ]
21
+ })
22
+
23
+ export default router
@@ -0,0 +1,15 @@
1
+ <template>
2
+ <div class="about">
3
+ <h1>This is an about page</h1>
4
+ </div>
5
+ </template>
6
+
7
+ <style>
8
+ @media (min-width: 1024px) {
9
+ .about {
10
+ min-height: 100vh;
11
+ display: flex;
12
+ align-items: center;
13
+ }
14
+ }
15
+ </style>
@@ -0,0 +1,9 @@
1
+ <script setup lang="ts">
2
+ import TheButton from '../components/TheButton.vue'
3
+ </script>
4
+
5
+ <template>
6
+ <main>
7
+ <TheButton />
8
+ </main>
9
+ </template>
@@ -1,18 +1,18 @@
1
1
  {
2
2
  "extends": "@vue/tsconfig/tsconfig.dom.json",
3
3
  "include": [
4
+ "env.d.ts",
4
5
  "src/**/*",
5
- "src/**/*.vue",
6
- "packages/**/*",
7
- "packages/**/*.vue",
6
+ "src/**/*.vue"
8
7
  ],
9
8
  "compilerOptions": {
10
9
  "composite": true,
11
10
  "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
12
11
  "baseUrl": ".",
13
12
  "paths": {
14
- "@/*": ["src/*"],
15
- "@packages/*": ["packages/*"],
13
+ "@/*": [
14
+ "./src/*"
15
+ ]
16
16
  }
17
17
  }
18
18
  }
@@ -1,4 +0,0 @@
1
- <template>
2
- <div>button</div>
3
- </template>
4
-
@@ -1,7 +0,0 @@
1
- import Button from './button/src/index.vue'
2
-
3
- export default {
4
- install: (app) => {
5
- app.component('AppButton', Button)
6
- }
7
- }
@@ -1,5 +0,0 @@
1
- <template>
2
- <div>App</div>
3
- <app-button></app-button>
4
- </template>
5
-
File without changes
File without changes
File without changes