create-packer 1.43.3 → 1.43.5
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/README.md +4 -4
- package/bin/createTemp.js +2 -1
- package/package.json +1 -1
- package/template/cli/src/createTemp.ts +58 -57
- package/template/web-app/react-rsbuild/rsbuild.config.ts +1 -1
- package/template/web-app/react-vite/eslint.config.js +111 -104
- package/template/web-app/vue/eslint.config.js +119 -110
- package/template/web-app/vue/style.css +4 -1
- package/template/web-app/vue/tailwind.config.cjs +15 -18
- package/template/web-app/vue-rsbuild/index.html +0 -1
- package/template/web-app/vue-rsbuild/package.json +2 -2
- package/template/web-app/vue-rsbuild/rsbuild.config.ts +1 -1
- package/template/web-app/vue-rsbuild/style.css +4 -3
- package/template/web-app/vue-rsbuild/tailwind.config.cjs +15 -18
package/README.md
CHANGED
|
@@ -13,10 +13,10 @@ pnpx create-packer <. || dirname>
|
|
|
13
13
|
## TempInfo
|
|
14
14
|
|
|
15
15
|
- nest: Based on [nestjs](https://docs.nestjs.com/).
|
|
16
|
-
- web-app/vue: Based on [vite
|
|
17
|
-
- web-app/
|
|
18
|
-
- web-app/react-
|
|
19
|
-
- web-app/react-rsbuild: Based on [rsbuild
|
|
16
|
+
- web-app/vue: Based on [vite](https://cn.vitejs.dev/), [vue3](https://vuejs.org/).
|
|
17
|
+
- web-app/vue-rsbuild: Based on [rsbuild](https://rsbuild.dev/), [vite](https://cn.vitejs.dev/), [vue3](https://vuejs.org/).
|
|
18
|
+
- web-app/react-vite: Based on [vite](https://cn.vitejs.dev/), [react](https://reactjs.org/).
|
|
19
|
+
- web-app/react-rsbuild: Based on [rsbuild](https://rsbuild.dev/), [react](https://reactjs.org/).
|
|
20
20
|
- lib/workspace: Quickly Building a Private Library Infrastructure. Based on [pnpm-workspace](https://pnpm.io/pnpm-workspace_yaml).
|
|
21
21
|
- cli: template-cli
|
|
22
22
|
- web-extension: Web browser extension template. Support HMR.
|
package/bin/createTemp.js
CHANGED
package/package.json
CHANGED
|
@@ -1,57 +1,58 @@
|
|
|
1
|
-
import chalk from 'chalk'
|
|
2
|
-
import * as inquirer from '@inquirer/prompts'
|
|
3
|
-
import * as fsExtra from 'fs-extra'
|
|
4
|
-
import path from 'path'
|
|
5
|
-
import { fileURLToPath } from 'url'
|
|
6
|
-
import ora from 'ora'
|
|
7
|
-
import { spawnSync } from 'child_process'
|
|
8
|
-
import { genTemplateInfoList, onGenCommand } from './utils/index.js'
|
|
9
|
-
import { existsSync } from 'fs'
|
|
10
|
-
|
|
11
|
-
const cwd = process.cwd()
|
|
12
|
-
const command = onGenCommand()
|
|
13
|
-
const dirname = path.dirname(fileURLToPath(import.meta.url))
|
|
14
|
-
const excludes = ['node_modules', 'yarn-error.log', 'dist']
|
|
15
|
-
const tempRoot = path.join(dirname, '../template')
|
|
16
|
-
const tempInfoList = genTemplateInfoList(tempRoot)
|
|
17
|
-
|
|
18
|
-
function copyTempFile(tempPath, output) {
|
|
19
|
-
fsExtra.readdirSync(tempPath).map(name => {
|
|
20
|
-
if (!excludes.includes(name)) {
|
|
21
|
-
fsExtra.copySync(path.join(tempPath, name), path.join(output, name))
|
|
22
|
-
}
|
|
23
|
-
})
|
|
24
|
-
}
|
|
25
|
-
function createTempEnd(output: string) {
|
|
26
|
-
spawnSync(command, ['install'], {
|
|
27
|
-
cwd: output,
|
|
28
|
-
stdio: 'inherit'
|
|
29
|
-
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
const
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
1
|
+
import chalk from 'chalk'
|
|
2
|
+
import * as inquirer from '@inquirer/prompts'
|
|
3
|
+
import * as fsExtra from 'fs-extra'
|
|
4
|
+
import path from 'path'
|
|
5
|
+
import { fileURLToPath } from 'url'
|
|
6
|
+
import ora from 'ora'
|
|
7
|
+
import { spawnSync } from 'child_process'
|
|
8
|
+
import { genTemplateInfoList, onGenCommand } from './utils/index.js'
|
|
9
|
+
import { existsSync } from 'fs'
|
|
10
|
+
|
|
11
|
+
const cwd = process.cwd()
|
|
12
|
+
const command = onGenCommand()
|
|
13
|
+
const dirname = path.dirname(fileURLToPath(import.meta.url))
|
|
14
|
+
const excludes = ['node_modules', 'yarn-error.log', 'dist']
|
|
15
|
+
const tempRoot = path.join(dirname, '../template')
|
|
16
|
+
const tempInfoList = genTemplateInfoList(tempRoot)
|
|
17
|
+
|
|
18
|
+
function copyTempFile(tempPath, output) {
|
|
19
|
+
fsExtra.readdirSync(tempPath).map(name => {
|
|
20
|
+
if (!excludes.includes(name)) {
|
|
21
|
+
fsExtra.copySync(path.join(tempPath, name), path.join(output, name))
|
|
22
|
+
}
|
|
23
|
+
})
|
|
24
|
+
}
|
|
25
|
+
function createTempEnd(output: string) {
|
|
26
|
+
spawnSync(command, ['install'], {
|
|
27
|
+
cwd: output,
|
|
28
|
+
stdio: 'inherit',
|
|
29
|
+
shell: true
|
|
30
|
+
})
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export async function createTemp(dirname: string) {
|
|
34
|
+
const isCurrent = dirname === '.'
|
|
35
|
+
let answer = await inquirer.select<string>({
|
|
36
|
+
message: 'Select temp.',
|
|
37
|
+
choices: tempInfoList.map(o => o.name)
|
|
38
|
+
})
|
|
39
|
+
let tempInfo = tempInfoList.find(o => o.name === answer)
|
|
40
|
+
if (tempInfo?.children && tempInfo.children.length > 0) {
|
|
41
|
+
answer = await inquirer.select({
|
|
42
|
+
message: 'Select temp type.',
|
|
43
|
+
choices: tempInfo.children.map(o => o.name)
|
|
44
|
+
})
|
|
45
|
+
tempInfo = tempInfo.children.find(o => o.name === answer)
|
|
46
|
+
}
|
|
47
|
+
const creating = ora(chalk.yellow('Creating...\n')).start()
|
|
48
|
+
const output = path.join(cwd, isCurrent ? '' : dirname)
|
|
49
|
+
if (!isCurrent && existsSync(output)) {
|
|
50
|
+
return console.log(chalk.red(`${dirname} already exists!`))
|
|
51
|
+
}
|
|
52
|
+
if (!isCurrent) {
|
|
53
|
+
fsExtra.mkdirSync(output)
|
|
54
|
+
}
|
|
55
|
+
copyTempFile(tempInfo!.src, output)
|
|
56
|
+
createTempEnd(output)
|
|
57
|
+
creating.succeed()
|
|
58
|
+
}
|
|
@@ -1,104 +1,111 @@
|
|
|
1
|
-
import eslint from '@eslint/js'
|
|
2
|
-
import globals from 'globals'
|
|
3
|
-
import tseslint from 'typescript-eslint'
|
|
4
|
-
import importPlugin from 'eslint-plugin-import'
|
|
5
|
-
import reactPlugin from 'eslint-plugin-react'
|
|
6
|
-
import reactHooksPlugin from 'eslint-plugin-react-hooks'
|
|
7
|
-
|
|
8
|
-
const scriptExtensions = ['js', 'jsx', 'mjs', 'cjs', 'ts', 'tsx']
|
|
9
|
-
const files = scriptExtensions.map(ext => `**/*.${ext}`)
|
|
10
|
-
|
|
11
|
-
export default tseslint.config([
|
|
12
|
-
{
|
|
13
|
-
ignores: [
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
'
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
'
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
'@typescript-eslint/no-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
'@typescript-eslint/
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
'
|
|
99
|
-
'
|
|
100
|
-
'
|
|
101
|
-
'
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
1
|
+
import eslint from '@eslint/js'
|
|
2
|
+
import globals from 'globals'
|
|
3
|
+
import tseslint from 'typescript-eslint'
|
|
4
|
+
import importPlugin from 'eslint-plugin-import'
|
|
5
|
+
import reactPlugin from 'eslint-plugin-react'
|
|
6
|
+
import reactHooksPlugin from 'eslint-plugin-react-hooks'
|
|
7
|
+
|
|
8
|
+
const scriptExtensions = ['js', 'jsx', 'mjs', 'cjs', 'ts', 'tsx']
|
|
9
|
+
const files = scriptExtensions.map(ext => `**/*.${ext}`)
|
|
10
|
+
|
|
11
|
+
export default tseslint.config([
|
|
12
|
+
{
|
|
13
|
+
ignores: [
|
|
14
|
+
'**/node_modules/',
|
|
15
|
+
'**/dist/',
|
|
16
|
+
'**/.history/',
|
|
17
|
+
'**/.vscode/',
|
|
18
|
+
'vite.config.ts.*',
|
|
19
|
+
'mockUtils.ts'
|
|
20
|
+
]
|
|
21
|
+
},
|
|
22
|
+
eslint.configs.recommended,
|
|
23
|
+
importPlugin.flatConfigs.recommended,
|
|
24
|
+
tseslint.configs.recommended,
|
|
25
|
+
{
|
|
26
|
+
plugins: { reactPlugin, reactHooksPlugin },
|
|
27
|
+
files,
|
|
28
|
+
languageOptions: {
|
|
29
|
+
ecmaVersion: 2018,
|
|
30
|
+
sourceType: 'module',
|
|
31
|
+
parserOptions: {
|
|
32
|
+
ecmaFeatures: {
|
|
33
|
+
jsx: true
|
|
34
|
+
},
|
|
35
|
+
useJSXTextNode: true
|
|
36
|
+
},
|
|
37
|
+
globals: {
|
|
38
|
+
...globals.browser,
|
|
39
|
+
...globals.node
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
settings: {
|
|
43
|
+
'import/resolver': {
|
|
44
|
+
typescript: true,
|
|
45
|
+
node: true
|
|
46
|
+
},
|
|
47
|
+
react: {
|
|
48
|
+
version: '18'
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
rules: {
|
|
52
|
+
'import/export': 'off',
|
|
53
|
+
'import/namespace': 'off',
|
|
54
|
+
'import/default': 'off',
|
|
55
|
+
'import/no-named-as-default-member': 'off',
|
|
56
|
+
'import/no-named-as-default': 'off',
|
|
57
|
+
'import/order': [
|
|
58
|
+
'error',
|
|
59
|
+
{
|
|
60
|
+
groups: [
|
|
61
|
+
'builtin',
|
|
62
|
+
'external',
|
|
63
|
+
'internal',
|
|
64
|
+
'parent',
|
|
65
|
+
'sibling',
|
|
66
|
+
'index',
|
|
67
|
+
'object',
|
|
68
|
+
'type'
|
|
69
|
+
],
|
|
70
|
+
pathGroups: [
|
|
71
|
+
{ pattern: 'react', group: 'external', position: 'before' },
|
|
72
|
+
{ pattern: 'react-dom/*', group: 'external', position: 'before' },
|
|
73
|
+
{ pattern: 'react-router', group: 'external', position: 'before' },
|
|
74
|
+
{ pattern: 'react-router-dom', group: 'external', position: 'before' }
|
|
75
|
+
],
|
|
76
|
+
pathGroupsExcludedImportTypes: ['react', 'react-router', 'react-router-dom']
|
|
77
|
+
}
|
|
78
|
+
],
|
|
79
|
+
'no-case-declarations': 'off',
|
|
80
|
+
'@typescript-eslint/no-unused-expressions': 'off',
|
|
81
|
+
'@typescript-eslint/no-empty-object-type': 'off',
|
|
82
|
+
'@typescript-eslint/no-var-requires': 0,
|
|
83
|
+
'@typescript-eslint/explicit-function-return-type': 'off',
|
|
84
|
+
'@typescript-eslint/no-explicit-any': 0,
|
|
85
|
+
'@typescript-eslint/no-non-null-assertion': 'off',
|
|
86
|
+
'@typescript-eslint/no-inferrable-types': [
|
|
87
|
+
'warn',
|
|
88
|
+
{
|
|
89
|
+
ignoreParameters: true
|
|
90
|
+
}
|
|
91
|
+
],
|
|
92
|
+
'@typescript-eslint/no-unused-vars': [
|
|
93
|
+
'warn',
|
|
94
|
+
{
|
|
95
|
+
argsIgnorePattern: '^_'
|
|
96
|
+
}
|
|
97
|
+
],
|
|
98
|
+
'@typescript-eslint/member-delimiter-style': 0,
|
|
99
|
+
'@typescript-eslint/class-name-casing': 0,
|
|
100
|
+
'@typescript-eslint/explicit-module-boundary-types': 'off',
|
|
101
|
+
'@typescript-eslint/ban-ts-comment': 'off',
|
|
102
|
+
'@typescript-eslint/no-empty-interface': 'off',
|
|
103
|
+
'react/prop-types': 'off',
|
|
104
|
+
'react/no-find-dom-node': 'off',
|
|
105
|
+
'react-hooks/exhaustive-deps': 'off',
|
|
106
|
+
'react/display-name': 'off',
|
|
107
|
+
'react/react-in-jsx-scope': 'off',
|
|
108
|
+
'no-constant-condition': 'off'
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
])
|
|
@@ -1,110 +1,119 @@
|
|
|
1
|
-
import eslint from '@eslint/js'
|
|
2
|
-
import globals from 'globals'
|
|
3
|
-
import tseslint from 'typescript-eslint'
|
|
4
|
-
import importPlugin from 'eslint-plugin-import'
|
|
5
|
-
import pluginVue from 'eslint-plugin-vue'
|
|
6
|
-
|
|
7
|
-
const scriptExtensions = ['js', 'jsx', 'mjs', 'cjs', 'ts', 'tsx']
|
|
8
|
-
const files = [...scriptExtensions.map(ext => `**/*.${ext}`), '**/*.vue']
|
|
9
|
-
|
|
10
|
-
export default tseslint.config([
|
|
11
|
-
{
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
'import/
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
'@typescript-eslint/
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
'@typescript-eslint/
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
'
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
1
|
+
import eslint from '@eslint/js'
|
|
2
|
+
import globals from 'globals'
|
|
3
|
+
import tseslint from 'typescript-eslint'
|
|
4
|
+
import importPlugin from 'eslint-plugin-import'
|
|
5
|
+
import pluginVue from 'eslint-plugin-vue'
|
|
6
|
+
|
|
7
|
+
const scriptExtensions = ['js', 'jsx', 'mjs', 'cjs', 'ts', 'tsx']
|
|
8
|
+
const files = [...scriptExtensions.map(ext => `**/*.${ext}`), '**/*.vue']
|
|
9
|
+
|
|
10
|
+
export default tseslint.config([
|
|
11
|
+
{
|
|
12
|
+
ignores: [
|
|
13
|
+
'**/node_modules/',
|
|
14
|
+
'dist/',
|
|
15
|
+
'.history/',
|
|
16
|
+
'.vscode',
|
|
17
|
+
'vite.config.ts.*',
|
|
18
|
+
'mockUtils.ts'
|
|
19
|
+
]
|
|
20
|
+
},
|
|
21
|
+
eslint.configs.recommended,
|
|
22
|
+
importPlugin.flatConfigs.recommended,
|
|
23
|
+
tseslint.configs.recommended,
|
|
24
|
+
pluginVue.configs['flat/recommended'],
|
|
25
|
+
{
|
|
26
|
+
files,
|
|
27
|
+
languageOptions: {
|
|
28
|
+
ecmaVersion: 2018,
|
|
29
|
+
sourceType: 'module',
|
|
30
|
+
parserOptions: {
|
|
31
|
+
ecmaFeatures: {
|
|
32
|
+
jsx: true
|
|
33
|
+
},
|
|
34
|
+
useJSXTextNode: true,
|
|
35
|
+
parser: tseslint.parser
|
|
36
|
+
},
|
|
37
|
+
globals: {
|
|
38
|
+
...globals.browser,
|
|
39
|
+
...globals.node
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
settings: {
|
|
43
|
+
'import/resolver': {
|
|
44
|
+
typescript: true,
|
|
45
|
+
node: true
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
rules: {
|
|
49
|
+
'import/export': 'off',
|
|
50
|
+
'import/namespace': 'off',
|
|
51
|
+
'import/default': 'off',
|
|
52
|
+
'import/no-named-as-default-member': 'off',
|
|
53
|
+
'import/no-named-as-default': 'off',
|
|
54
|
+
'import/order': [
|
|
55
|
+
'error',
|
|
56
|
+
{
|
|
57
|
+
groups: [
|
|
58
|
+
'builtin',
|
|
59
|
+
'external',
|
|
60
|
+
'internal',
|
|
61
|
+
'parent',
|
|
62
|
+
'sibling',
|
|
63
|
+
'index',
|
|
64
|
+
'object',
|
|
65
|
+
'type'
|
|
66
|
+
],
|
|
67
|
+
pathGroups: [
|
|
68
|
+
{ pattern: 'vue', group: 'external', position: 'before' },
|
|
69
|
+
{ pattern: 'vue-router', group: 'external', position: 'before' }
|
|
70
|
+
],
|
|
71
|
+
pathGroupsExcludedImportTypes: ['vue', 'vue-router']
|
|
72
|
+
}
|
|
73
|
+
],
|
|
74
|
+
'no-case-declarations': 'off',
|
|
75
|
+
'@typescript-eslint/no-unused-expressions': 'off',
|
|
76
|
+
'@typescript-eslint/no-empty-object-type': 'off',
|
|
77
|
+
'@typescript-eslint/no-var-requires': 0,
|
|
78
|
+
'@typescript-eslint/explicit-function-return-type': 'off',
|
|
79
|
+
'@typescript-eslint/no-explicit-any': 0,
|
|
80
|
+
'@typescript-eslint/no-non-null-assertion': 'off',
|
|
81
|
+
'@typescript-eslint/no-inferrable-types': [
|
|
82
|
+
'warn',
|
|
83
|
+
{
|
|
84
|
+
ignoreParameters: true
|
|
85
|
+
}
|
|
86
|
+
],
|
|
87
|
+
'@typescript-eslint/no-unused-vars': [
|
|
88
|
+
'warn',
|
|
89
|
+
{
|
|
90
|
+
argsIgnorePattern: '^_'
|
|
91
|
+
}
|
|
92
|
+
],
|
|
93
|
+
'@typescript-eslint/member-delimiter-style': 0,
|
|
94
|
+
'@typescript-eslint/class-name-casing': 0,
|
|
95
|
+
'@typescript-eslint/explicit-module-boundary-types': 'off',
|
|
96
|
+
'@typescript-eslint/ban-ts-comment': 'off',
|
|
97
|
+
'@typescript-eslint/no-empty-interface': 'off',
|
|
98
|
+
'vue/multi-word-component-names': 0,
|
|
99
|
+
'vue/html-indent': ['error', 4],
|
|
100
|
+
'vue/require-default-prop': 'off',
|
|
101
|
+
'vue/one-component-per-file': 'off',
|
|
102
|
+
'vue/html-self-closing': [
|
|
103
|
+
'error',
|
|
104
|
+
{
|
|
105
|
+
html: {
|
|
106
|
+
void: 'always',
|
|
107
|
+
normal: 'always',
|
|
108
|
+
component: 'always'
|
|
109
|
+
},
|
|
110
|
+
svg: 'always',
|
|
111
|
+
math: 'always'
|
|
112
|
+
}
|
|
113
|
+
],
|
|
114
|
+
'vue/max-attributes-per-line': 'off',
|
|
115
|
+
'vue/singleline-html-element-content-newline': 'off',
|
|
116
|
+
'no-constant-condition': 'off'
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
])
|
|
@@ -1,18 +1,15 @@
|
|
|
1
|
-
/** @type {import('tailwindcss').Config} */
|
|
2
|
-
module.exports = {
|
|
3
|
-
content: [
|
|
4
|
-
'./index.html',
|
|
5
|
-
'./app.vue',
|
|
6
|
-
'./main.ts',
|
|
7
|
-
'./pages/**/*.{vue,ts,tsx,js,jsx}',
|
|
8
|
-
'./domain/**/*.{vue,ts,tsx,js,jsx}',
|
|
9
|
-
'./shared/**/*.{vue,ts,tsx,js,jsx}'
|
|
10
|
-
],
|
|
11
|
-
theme: {
|
|
12
|
-
extend: {}
|
|
13
|
-
},
|
|
14
|
-
plugins: []
|
|
15
|
-
|
|
16
|
-
preflight: false
|
|
17
|
-
}
|
|
18
|
-
}
|
|
1
|
+
/** @type {import('tailwindcss').Config} */
|
|
2
|
+
module.exports = {
|
|
3
|
+
content: [
|
|
4
|
+
'./index.html',
|
|
5
|
+
'./app.vue',
|
|
6
|
+
'./main.ts',
|
|
7
|
+
'./pages/**/*.{vue,ts,tsx,js,jsx}',
|
|
8
|
+
'./domain/**/*.{vue,ts,tsx,js,jsx}',
|
|
9
|
+
'./shared/**/*.{vue,ts,tsx,js,jsx}'
|
|
10
|
+
],
|
|
11
|
+
theme: {
|
|
12
|
+
extend: {}
|
|
13
|
+
},
|
|
14
|
+
plugins: []
|
|
15
|
+
}
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"axios": "1.7.9",
|
|
24
24
|
"lodash-es": "4.17.21",
|
|
25
25
|
"pinia": "2.3.1",
|
|
26
|
-
"tailwindcss": "
|
|
26
|
+
"tailwindcss": "4.0.9",
|
|
27
27
|
"type-fest": "4.33.0",
|
|
28
28
|
"vue": "3.5.13",
|
|
29
29
|
"vue-router": "4.5.0"
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"@rsbuild/plugin-type-check": "1.2.1",
|
|
40
40
|
"@rsbuild/plugin-vue": "1.0.6",
|
|
41
41
|
"@rsdoctor/rspack-plugin": "0.4.13",
|
|
42
|
-
"@tailwindcss/postcss": "
|
|
42
|
+
"@tailwindcss/postcss": "4.0.9",
|
|
43
43
|
"@types/lodash-es": "4.17.12",
|
|
44
44
|
"@types/mockjs": "1.0.10",
|
|
45
45
|
"autoprefixer": "10.4.14",
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
@
|
|
2
|
-
@
|
|
3
|
-
@
|
|
1
|
+
@import "tailwindcss/theme.css" layer(theme);
|
|
2
|
+
@import "tailwindcss/utilities.css" layer(utilities);
|
|
3
|
+
@layer theme, base, components, utilities;
|
|
4
|
+
|
|
@@ -1,18 +1,15 @@
|
|
|
1
|
-
/** @type {import('tailwindcss').Config} */
|
|
2
|
-
module.exports = {
|
|
3
|
-
content: [
|
|
4
|
-
'./index.html',
|
|
5
|
-
'./app.vue',
|
|
6
|
-
'./main.ts',
|
|
7
|
-
'./pages/**/*.{vue,ts,tsx,js,jsx}',
|
|
8
|
-
'./domain/**/*.{vue,ts,tsx,js,jsx}',
|
|
9
|
-
'./shared/**/*.{vue,ts,tsx,js,jsx}'
|
|
10
|
-
],
|
|
11
|
-
theme: {
|
|
12
|
-
extend: {}
|
|
13
|
-
},
|
|
14
|
-
plugins: []
|
|
15
|
-
|
|
16
|
-
preflight: false
|
|
17
|
-
}
|
|
18
|
-
}
|
|
1
|
+
/** @type {import('tailwindcss').Config} */
|
|
2
|
+
module.exports = {
|
|
3
|
+
content: [
|
|
4
|
+
'./index.html',
|
|
5
|
+
'./app.vue',
|
|
6
|
+
'./main.ts',
|
|
7
|
+
'./pages/**/*.{vue,ts,tsx,js,jsx}',
|
|
8
|
+
'./domain/**/*.{vue,ts,tsx,js,jsx}',
|
|
9
|
+
'./shared/**/*.{vue,ts,tsx,js,jsx}'
|
|
10
|
+
],
|
|
11
|
+
theme: {
|
|
12
|
+
extend: {}
|
|
13
|
+
},
|
|
14
|
+
plugins: []
|
|
15
|
+
}
|