@undp/create-app 0.2.14 → 0.2.16
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/bin/generateFiles/generatePackageJson.js +12 -30
- package/bin/generateFiles/generateViteConfig.js +2 -4
- package/bin/index.js +1 -1
- package/bin/promptUser.js +21 -2
- package/bin/templates/next/auth/biome.json +67 -0
- package/bin/templates/next/basic/biome.json +67 -0
- package/bin/templates/vite/basic/biome.json +67 -0
- package/bin/templates/vite/query/biome.json +67 -0
- package/bin/templates/vite/query/src/App.tsx +1 -1
- package/bin/templates/vite/query+router/biome.json +67 -0
- package/bin/templates/vite/query+router/src/App.tsx +1 -1
- package/bin/templates/vite/query+router/src/components/Header.tsx +1 -1
- package/bin/templates/vite/query+router/src/routes/queryDemo.tsx +5 -5
- package/bin/templates/vite/router/biome.json +67 -0
- package/bin/templates/vite/router/src/App.tsx +1 -1
- package/bin/templates/vite/router/src/routes/about.tsx +5 -5
- package/bin/templates/viteWithLanguage/basic/README.md +75 -0
- package/bin/templates/viteWithLanguage/basic/biome.json +67 -0
- package/bin/templates/viteWithLanguage/basic/index.html +13 -0
- package/bin/templates/viteWithLanguage/basic/public/favicon.ico +0 -0
- package/bin/templates/viteWithLanguage/basic/public/imgs/Tailwind_CSS_Logo.svg +1 -0
- package/bin/templates/viteWithLanguage/basic/public/imgs/Vitejs-logo.svg +15 -0
- package/bin/templates/viteWithLanguage/basic/public/imgs/Zustand-logo.svg +266 -0
- package/bin/templates/viteWithLanguage/basic/public/imgs/undp-logo-blue.svg +1 -0
- package/bin/templates/viteWithLanguage/basic/src/App.tsx +95 -0
- package/bin/templates/viteWithLanguage/basic/src/assets/undp-logo-blue.svg +1 -0
- package/bin/templates/viteWithLanguage/basic/src/i18n.ts +31 -0
- package/bin/templates/viteWithLanguage/basic/src/locales/en/common.json +6 -0
- package/bin/templates/viteWithLanguage/basic/src/locales/es/common.json +6 -0
- package/bin/templates/viteWithLanguage/basic/src/locales/fr/common.json +6 -0
- package/bin/templates/viteWithLanguage/basic/src/main.tsx +15 -0
- package/bin/templates/viteWithLanguage/basic/src/stores/counter.ts +23 -0
- package/bin/templates/viteWithLanguage/basic/src/styles/fonts.css +213 -0
- package/bin/templates/viteWithLanguage/basic/src/styles/style.css +3 -0
- package/bin/templates/viteWithLanguage/basic/src/vite-env.d.ts +1 -0
- package/bin/templates/viteWithLanguage/basic/tailwind.config.js +7 -0
- package/bin/templates/viteWithLanguage/basic/tsconfig.json +29 -0
- package/bin/templates/viteWithLanguage/basic/tsconfig.node.json +9 -0
- package/bin/templates/viteWithLanguage/basic/vite.config.ts +58 -0
- package/bin/templates/viteWithLanguage/query/README.md +80 -0
- package/bin/templates/viteWithLanguage/query/biome.json +67 -0
- package/bin/templates/viteWithLanguage/query/index.html +13 -0
- package/bin/templates/viteWithLanguage/query/public/favicon.ico +0 -0
- package/bin/templates/viteWithLanguage/query/public/imgs/Tailwind_CSS_Logo.svg +1 -0
- package/bin/templates/viteWithLanguage/query/public/imgs/Tanstack-logo.png +0 -0
- package/bin/templates/viteWithLanguage/query/public/imgs/Vitejs-logo.svg +15 -0
- package/bin/templates/viteWithLanguage/query/public/imgs/Zustand-logo.svg +266 -0
- package/bin/templates/viteWithLanguage/query/public/imgs/undp-logo-blue.svg +1 -0
- package/bin/templates/viteWithLanguage/query/src/App.tsx +125 -0
- package/bin/templates/viteWithLanguage/query/src/assets/undp-logo-blue.svg +1 -0
- package/bin/templates/viteWithLanguage/query/src/constants.ts +16 -0
- package/bin/templates/viteWithLanguage/query/src/i18n.ts +31 -0
- package/bin/templates/viteWithLanguage/query/src/integration/tanstack-query.tsx +28 -0
- package/bin/templates/viteWithLanguage/query/src/locales/en/common.json +8 -0
- package/bin/templates/viteWithLanguage/query/src/locales/es/common.json +8 -0
- package/bin/templates/viteWithLanguage/query/src/locales/fr/common.json +8 -0
- package/bin/templates/viteWithLanguage/query/src/main.tsx +24 -0
- package/bin/templates/viteWithLanguage/query/src/stores/counter.ts +23 -0
- package/bin/templates/viteWithLanguage/query/src/styles/fonts.css +213 -0
- package/bin/templates/viteWithLanguage/query/src/styles/style.css +3 -0
- package/bin/templates/viteWithLanguage/query/src/vite-env.d.ts +1 -0
- package/bin/templates/viteWithLanguage/query/tailwind.config.js +7 -0
- package/bin/templates/viteWithLanguage/query/tsconfig.json +29 -0
- package/bin/templates/viteWithLanguage/query/tsconfig.node.json +9 -0
- package/bin/templates/viteWithLanguage/query/vite.config.ts +58 -0
- package/bin/templates/viteWithLanguage/query+router/README.md +111 -0
- package/bin/templates/viteWithLanguage/query+router/biome.json +67 -0
- package/bin/templates/viteWithLanguage/query+router/index.html +13 -0
- package/bin/templates/viteWithLanguage/query+router/public/favicon.ico +0 -0
- package/bin/templates/viteWithLanguage/query+router/public/imgs/Tailwind_CSS_Logo.svg +1 -0
- package/bin/templates/viteWithLanguage/query+router/public/imgs/Tanstack-logo.png +0 -0
- package/bin/templates/viteWithLanguage/query+router/public/imgs/Vitejs-logo.svg +15 -0
- package/bin/templates/viteWithLanguage/query+router/public/imgs/Zustand-logo.svg +266 -0
- package/bin/templates/viteWithLanguage/query+router/public/imgs/undp-logo-blue.svg +1 -0
- package/bin/templates/viteWithLanguage/query+router/src/App.tsx +75 -0
- package/bin/templates/viteWithLanguage/query+router/src/Icons.tsx +74 -0
- package/bin/templates/viteWithLanguage/query+router/src/assets/undp-logo-blue.svg +1 -0
- package/bin/templates/viteWithLanguage/query+router/src/components/Footer.tsx +16 -0
- package/bin/templates/viteWithLanguage/query+router/src/components/Header.tsx +70 -0
- package/bin/templates/viteWithLanguage/query+router/src/constants.ts +16 -0
- package/bin/templates/viteWithLanguage/query+router/src/i18n.ts +31 -0
- package/bin/templates/viteWithLanguage/query+router/src/integration/tanstack-query.tsx +28 -0
- package/bin/templates/viteWithLanguage/query+router/src/locales/en/common.json +13 -0
- package/bin/templates/viteWithLanguage/query+router/src/locales/es/common.json +13 -0
- package/bin/templates/viteWithLanguage/query+router/src/locales/fr/common.json +14 -0
- package/bin/templates/viteWithLanguage/query+router/src/main.tsx +95 -0
- package/bin/templates/viteWithLanguage/query+router/src/routes/queryDemo.tsx +78 -0
- package/bin/templates/viteWithLanguage/query+router/src/stores/counter.ts +23 -0
- package/bin/templates/viteWithLanguage/query+router/src/styles/fonts.css +213 -0
- package/bin/templates/viteWithLanguage/query+router/src/styles/style.css +3 -0
- package/bin/templates/viteWithLanguage/query+router/src/vite-env.d.ts +1 -0
- package/bin/templates/viteWithLanguage/query+router/tailwind.config.js +7 -0
- package/bin/templates/viteWithLanguage/query+router/tsconfig.json +29 -0
- package/bin/templates/viteWithLanguage/query+router/tsconfig.node.json +9 -0
- package/bin/templates/viteWithLanguage/query+router/vite.config.ts +58 -0
- package/bin/templates/viteWithLanguage/router/README.md +106 -0
- package/bin/templates/viteWithLanguage/router/biome.json +67 -0
- package/bin/templates/viteWithLanguage/router/index.html +13 -0
- package/bin/templates/viteWithLanguage/router/public/favicon.ico +0 -0
- package/bin/templates/viteWithLanguage/router/public/imgs/Tailwind_CSS_Logo.svg +1 -0
- package/bin/templates/viteWithLanguage/router/public/imgs/Tanstack-logo.png +0 -0
- package/bin/templates/viteWithLanguage/router/public/imgs/Vitejs-logo.svg +15 -0
- package/bin/templates/viteWithLanguage/router/public/imgs/Zustand-logo.svg +266 -0
- package/bin/templates/viteWithLanguage/router/public/imgs/undp-logo-blue.svg +1 -0
- package/bin/templates/viteWithLanguage/router/src/App.tsx +74 -0
- package/bin/templates/viteWithLanguage/router/src/Icons.tsx +74 -0
- package/bin/templates/viteWithLanguage/router/src/assets/undp-logo-blue.svg +1 -0
- package/bin/templates/viteWithLanguage/router/src/components/Footer.tsx +16 -0
- package/bin/templates/viteWithLanguage/router/src/components/Header.tsx +70 -0
- package/bin/templates/viteWithLanguage/router/src/constants.ts +16 -0
- package/bin/templates/viteWithLanguage/router/src/i18n.ts +31 -0
- package/bin/templates/viteWithLanguage/router/src/locales/en/common.json +11 -0
- package/bin/templates/viteWithLanguage/router/src/locales/es/common.json +11 -0
- package/bin/templates/viteWithLanguage/router/src/locales/fr/common.json +11 -0
- package/bin/templates/viteWithLanguage/router/src/main.tsx +89 -0
- package/bin/templates/viteWithLanguage/router/src/routes/about.tsx +58 -0
- package/bin/templates/viteWithLanguage/router/src/stores/counter.ts +23 -0
- package/bin/templates/viteWithLanguage/router/src/styles/fonts.css +213 -0
- package/bin/templates/viteWithLanguage/router/src/styles/style.css +3 -0
- package/bin/templates/viteWithLanguage/router/src/vite-env.d.ts +1 -0
- package/bin/templates/viteWithLanguage/router/tailwind.config.js +7 -0
- package/bin/templates/viteWithLanguage/router/tsconfig.json +29 -0
- package/bin/templates/viteWithLanguage/router/tsconfig.node.json +9 -0
- package/bin/templates/viteWithLanguage/router/vite.config.ts +58 -0
- package/package.json +1 -1
- package/bin/templates/next/auth/.prettierrc +0 -10
- package/bin/templates/next/auth/eslint.config.mjs +0 -103
- package/bin/templates/next/basic/.prettierrc +0 -10
- package/bin/templates/next/basic/eslint.config.mjs +0 -103
- package/bin/templates/vite/basic/.prettierrc +0 -10
- package/bin/templates/vite/basic/eslint.config.mjs +0 -97
- package/bin/templates/vite/query/.prettierrc +0 -10
- package/bin/templates/vite/query/eslint.config.mjs +0 -97
- package/bin/templates/vite/query+router/.prettierrc +0 -10
- package/bin/templates/vite/query+router/eslint.config.mjs +0 -97
- package/bin/templates/vite/router/.prettierrc +0 -10
- package/bin/templates/vite/router/eslint.config.mjs +0 -97
|
@@ -13,10 +13,8 @@ export function generatePackageJson(config) {
|
|
|
13
13
|
console.log(chalk.gray(` Fetching latest version for packages...`));
|
|
14
14
|
const designSystemVer = `^${getLatestVersion('@undp/design-system-react')}`
|
|
15
15
|
const zustandVer = `^${getLatestVersion('zustand')}`
|
|
16
|
-
const
|
|
16
|
+
const dependenciesTemp = config.libraries.includes('peer') && config.libraries.includes('@undp/data-viz') ? {
|
|
17
17
|
"@undp/design-system-react": designSystemVer,
|
|
18
|
-
"react": "^19.2.3",
|
|
19
|
-
"react-dom": "^19.2.3",
|
|
20
18
|
"@dnd-kit/core": "^6.3.1",
|
|
21
19
|
"@dnd-kit/modifiers": "^9.0.0",
|
|
22
20
|
"ajv": "^8.17.1",
|
|
@@ -27,6 +25,8 @@ export function generatePackageJson(config) {
|
|
|
27
25
|
"marked": "^16.4.1",
|
|
28
26
|
"math-expression-evaluator": "^2.0.7",
|
|
29
27
|
"pmtiles": "^4.3.0",
|
|
28
|
+
"react": "^19.2.3",
|
|
29
|
+
"react-dom": "^19.2.3",
|
|
30
30
|
"react-globe.gl": "^2.37.0",
|
|
31
31
|
"three": "^0.180.0",
|
|
32
32
|
"zustand": zustandVer
|
|
@@ -37,6 +37,13 @@ export function generatePackageJson(config) {
|
|
|
37
37
|
"zustand": zustandVer
|
|
38
38
|
};
|
|
39
39
|
|
|
40
|
+
const dependencies = config.language && !config.framework.includes('next') ? {
|
|
41
|
+
...dependenciesTemp,
|
|
42
|
+
"i18next": "^26.0.8",
|
|
43
|
+
"i18next-browser-languagedetector": "^8.2.1",
|
|
44
|
+
"react-i18next": "^17.0.6",
|
|
45
|
+
} : {...dependenciesTemp}
|
|
46
|
+
|
|
40
47
|
switch (config.framework) {
|
|
41
48
|
case 'vite-router':
|
|
42
49
|
dependencies['@tanstack/react-router'] = '^1.141.1';
|
|
@@ -63,28 +70,15 @@ export function generatePackageJson(config) {
|
|
|
63
70
|
dependencies['lucide-react'] = lucideReactVer;
|
|
64
71
|
}
|
|
65
72
|
const devDependencies = config.framework.includes('vite') ? {
|
|
66
|
-
"@
|
|
67
|
-
"@eslint/js": "^9.39.1",
|
|
68
|
-
"@nabla/vite-plugin-eslint": "^2.0.6",
|
|
73
|
+
"@biomejs/biome": "^2.4.12",
|
|
69
74
|
"@tailwindcss/postcss": "^4.1.17",
|
|
70
75
|
"@types/node": "^24.10.0",
|
|
71
76
|
"@types/react": "^19.2.7",
|
|
72
77
|
"@types/react-dom": "^19.2.3",
|
|
73
78
|
"autoprefixer": "^10.4.21",
|
|
74
79
|
"babel-plugin-react-compiler": "^1.0.0",
|
|
75
|
-
"eslint": "^9.39.1",
|
|
76
|
-
"eslint-config-love": "^133.0.0",
|
|
77
|
-
"eslint-config-prettier": "^10.1.8",
|
|
78
|
-
"eslint-plugin-import": "^2.32.0",
|
|
79
|
-
"eslint-plugin-jsx-a11y": "^6.10.2",
|
|
80
|
-
"eslint-plugin-n": "^17.23.1",
|
|
81
|
-
"eslint-plugin-prettier": "^5.5.4",
|
|
82
|
-
"eslint-plugin-promise": "^7.2.1",
|
|
83
|
-
"eslint-plugin-react": "^7.37.5",
|
|
84
|
-
"eslint-plugin-react-hooks": "^7.0.1",
|
|
85
80
|
"postcss": "^8.5.6",
|
|
86
81
|
"postcss-nested": "^7.0.2",
|
|
87
|
-
"prettier": "^3.6.2",
|
|
88
82
|
"rimraf": "^6.1.0",
|
|
89
83
|
"rollup-plugin-visualizer": "^6.0.5",
|
|
90
84
|
"tailwind-animate": "^0.2.10",
|
|
@@ -98,25 +92,13 @@ export function generatePackageJson(config) {
|
|
|
98
92
|
"@vitejs/plugin-react": "^5.1.2",
|
|
99
93
|
"@tailwindcss/vite": "^4.1.17"
|
|
100
94
|
} : {
|
|
101
|
-
"@
|
|
95
|
+
"@biomejs/biome": "^2.4.12",
|
|
102
96
|
"@tailwindcss/postcss": "^4.1.17",
|
|
103
97
|
"@types/node": "^24.10.0",
|
|
104
98
|
"@types/react": "^19.2.7",
|
|
105
99
|
"@types/react-dom": "^19.2.3",
|
|
106
|
-
"eslint": "^9.39.1",
|
|
107
|
-
"eslint-config-love": "^133.0.0",
|
|
108
|
-
"eslint-config-next": "16.0.1",
|
|
109
|
-
"eslint-config-prettier": "^10.1.8",
|
|
110
|
-
"eslint-plugin-import": "^2.32.0",
|
|
111
|
-
"eslint-plugin-jsx-a11y": "^6.10.2",
|
|
112
|
-
"eslint-plugin-n": "^17.23.1",
|
|
113
|
-
"eslint-plugin-prettier": "^5.5.4",
|
|
114
|
-
"eslint-plugin-promise": "^7.2.1",
|
|
115
|
-
"eslint-plugin-react": "^7.37.5",
|
|
116
|
-
"eslint-plugin-react-hooks": "^7.0.1",
|
|
117
100
|
"postcss": "^8.5.6",
|
|
118
101
|
"postcss-nested": "^7.0.2",
|
|
119
|
-
"prettier": "^3.6.2",
|
|
120
102
|
"rimraf": "^6.1.0",
|
|
121
103
|
"rollup-plugin-visualizer": "^6.0.5",
|
|
122
104
|
"tailwind-animate": "^0.2.10",
|
|
@@ -2,7 +2,6 @@ export function generateViteConfig(config) {
|
|
|
2
2
|
return `import path from 'path';
|
|
3
3
|
import { defineConfig } from 'vite';
|
|
4
4
|
import react from '@vitejs/plugin-react';
|
|
5
|
-
import eslint from '@nabla/vite-plugin-eslint';
|
|
6
5
|
import { visualizer } from 'rollup-plugin-visualizer';
|
|
7
6
|
import postcssNested from 'postcss-nested';
|
|
8
7
|
import tailwindcss from '@tailwindcss/postcss';${config.addStaticWebAppConfig ? `
|
|
@@ -16,7 +15,6 @@ export default defineConfig({
|
|
|
16
15
|
plugins: ['babel-plugin-react-compiler'],
|
|
17
16
|
},
|
|
18
17
|
}),
|
|
19
|
-
eslint(),
|
|
20
18
|
visualizer({ filename: 'stats.html', open: true }),${config.addStaticWebAppConfig ? `
|
|
21
19
|
viteStaticCopy({
|
|
22
20
|
targets: [{ src: 'staticwebapp.config.json', dest: '' }],
|
|
@@ -169,8 +167,8 @@ export default defineConfig({
|
|
|
169
167
|
output: {
|
|
170
168
|
manualChunks(id) {
|
|
171
169
|
if (id.includes('node_modules/react')) return 'react';
|
|
172
|
-
if (id.includes('@undp/design-system-react')) return 'undp';${config.libraries.includes('@undp/data-viz') ? `
|
|
173
|
-
if (id.includes('@undp/data-viz')) return 'undp';` : ''}
|
|
170
|
+
if (id.includes('@undp/design-system-react')) return 'undp-design-system';${config.libraries.includes('@undp/data-viz') ? `
|
|
171
|
+
if (id.includes('@undp/data-viz')) return 'undp-data-viz';` : ''}
|
|
174
172
|
},
|
|
175
173
|
chunkFileNames: '[name]-[hash].js',
|
|
176
174
|
assetFileNames: '[name].[ext]',
|
package/bin/index.js
CHANGED
|
@@ -41,7 +41,7 @@ async function main() {
|
|
|
41
41
|
|
|
42
42
|
process.chdir(projectPath);
|
|
43
43
|
|
|
44
|
-
const baseFolder = config.framework.includes('vite') ? 'vite' : 'next';
|
|
44
|
+
const baseFolder = config.framework.includes('vite') ? config.language ? 'viteWithLanguage' : 'vite' : 'next';
|
|
45
45
|
|
|
46
46
|
|
|
47
47
|
let tertiaryFolder = 'basic';
|
package/bin/promptUser.js
CHANGED
|
@@ -48,6 +48,24 @@ export async function promptUser(name) {
|
|
|
48
48
|
|
|
49
49
|
const query = addQuery === 'Yes';
|
|
50
50
|
|
|
51
|
+
let language = false;
|
|
52
|
+
|
|
53
|
+
if (framework === 'vite-basic' || framework === 'vite-router') {
|
|
54
|
+
const { addLanguage } = await inquirer.prompt([
|
|
55
|
+
{
|
|
56
|
+
type: 'list',
|
|
57
|
+
name: 'addLanguage',
|
|
58
|
+
message: chalk.yellow(
|
|
59
|
+
'⚙️ Add multi language support (en, es, fr)?'
|
|
60
|
+
),
|
|
61
|
+
choices: ['Yes', 'No'],
|
|
62
|
+
default: 'No',
|
|
63
|
+
},
|
|
64
|
+
]);
|
|
65
|
+
|
|
66
|
+
language = addLanguage === 'Yes';
|
|
67
|
+
}
|
|
68
|
+
|
|
51
69
|
const libraryChoices = [
|
|
52
70
|
{
|
|
53
71
|
name: '@undp/data-viz — UNDP data visualization components',
|
|
@@ -75,13 +93,13 @@ export async function promptUser(name) {
|
|
|
75
93
|
|
|
76
94
|
let addPostCSSScripts = false;
|
|
77
95
|
|
|
78
|
-
if(framework
|
|
96
|
+
if(framework === 'vite-basic') {
|
|
79
97
|
const { postCSS } = await inquirer.prompt([
|
|
80
98
|
{
|
|
81
99
|
type: 'list',
|
|
82
100
|
name: 'postCSS',
|
|
83
101
|
message: chalk.yellow(
|
|
84
|
-
'⚙️ Add PostCSS script to wrap all classes in `.undp-container` (recommended if embedding in another app)?'
|
|
102
|
+
'⚙️ Add PostCSS script to wrap all classes in `.undp-container` (recommended only if embedding in another app)?'
|
|
85
103
|
),
|
|
86
104
|
choices: ['Yes', 'No'],
|
|
87
105
|
default: 'Yes',
|
|
@@ -111,5 +129,6 @@ export async function promptUser(name) {
|
|
|
111
129
|
addPostCSSScripts,
|
|
112
130
|
framework,
|
|
113
131
|
query,
|
|
132
|
+
language,
|
|
114
133
|
};
|
|
115
134
|
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://biomejs.dev/schemas/2.4.8/schema.json",
|
|
3
|
+
"vcs": {
|
|
4
|
+
"enabled": true,
|
|
5
|
+
"clientKind": "git",
|
|
6
|
+
"useIgnoreFile": true
|
|
7
|
+
},
|
|
8
|
+
"files": {
|
|
9
|
+
"ignoreUnknown": true,
|
|
10
|
+
"includes": ["**/*.{js,jsx,ts,tsx,css}"]
|
|
11
|
+
},
|
|
12
|
+
"formatter": {
|
|
13
|
+
"enabled": true,
|
|
14
|
+
"indentStyle": "space",
|
|
15
|
+
"indentWidth": 2,
|
|
16
|
+
"lineWidth": 100,
|
|
17
|
+
"bracketSameLine": false
|
|
18
|
+
},
|
|
19
|
+
"linter": {
|
|
20
|
+
"enabled": true,
|
|
21
|
+
"rules": {
|
|
22
|
+
"recommended": true,
|
|
23
|
+
"suspicious": {
|
|
24
|
+
"noExplicitAny": "warn",
|
|
25
|
+
"noUnassignedVariables": "warn",
|
|
26
|
+
"noUnusedExpressions": "warn",
|
|
27
|
+
"noConsole": {
|
|
28
|
+
"level": "warn",
|
|
29
|
+
"options": {
|
|
30
|
+
"allow": ["assert", "error", "info", "warn"]
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
"noArrayIndexKey": "error"
|
|
34
|
+
},
|
|
35
|
+
"a11y": {
|
|
36
|
+
"useAltText": "error",
|
|
37
|
+
"useValidAnchor": "error"
|
|
38
|
+
},
|
|
39
|
+
"style": {
|
|
40
|
+
"useConst": "error",
|
|
41
|
+
"useSelfClosingElements": "error",
|
|
42
|
+
"useConsistentCurlyBraces": "error",
|
|
43
|
+
"useImportType": "warn"
|
|
44
|
+
},
|
|
45
|
+
"correctness": {
|
|
46
|
+
"noUnusedVariables": "error",
|
|
47
|
+
"noUndeclaredVariables": "error"
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
"javascript": {
|
|
52
|
+
"formatter": {
|
|
53
|
+
"quoteStyle": "single",
|
|
54
|
+
"jsxQuoteStyle": "single",
|
|
55
|
+
"semicolons": "always",
|
|
56
|
+
"trailingCommas": "all"
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
"assist": {
|
|
60
|
+
"enabled": true,
|
|
61
|
+
"actions": {
|
|
62
|
+
"source": {
|
|
63
|
+
"organizeImports": "on"
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://biomejs.dev/schemas/2.4.8/schema.json",
|
|
3
|
+
"vcs": {
|
|
4
|
+
"enabled": true,
|
|
5
|
+
"clientKind": "git",
|
|
6
|
+
"useIgnoreFile": true
|
|
7
|
+
},
|
|
8
|
+
"files": {
|
|
9
|
+
"ignoreUnknown": true,
|
|
10
|
+
"includes": ["**/*.{js,jsx,ts,tsx,css}"]
|
|
11
|
+
},
|
|
12
|
+
"formatter": {
|
|
13
|
+
"enabled": true,
|
|
14
|
+
"indentStyle": "space",
|
|
15
|
+
"indentWidth": 2,
|
|
16
|
+
"lineWidth": 100,
|
|
17
|
+
"bracketSameLine": false
|
|
18
|
+
},
|
|
19
|
+
"linter": {
|
|
20
|
+
"enabled": true,
|
|
21
|
+
"rules": {
|
|
22
|
+
"recommended": true,
|
|
23
|
+
"suspicious": {
|
|
24
|
+
"noExplicitAny": "warn",
|
|
25
|
+
"noUnassignedVariables": "warn",
|
|
26
|
+
"noUnusedExpressions": "warn",
|
|
27
|
+
"noConsole": {
|
|
28
|
+
"level": "warn",
|
|
29
|
+
"options": {
|
|
30
|
+
"allow": ["assert", "error", "info", "warn"]
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
"noArrayIndexKey": "error"
|
|
34
|
+
},
|
|
35
|
+
"a11y": {
|
|
36
|
+
"useAltText": "error",
|
|
37
|
+
"useValidAnchor": "error"
|
|
38
|
+
},
|
|
39
|
+
"style": {
|
|
40
|
+
"useConst": "error",
|
|
41
|
+
"useSelfClosingElements": "error",
|
|
42
|
+
"useConsistentCurlyBraces": "error",
|
|
43
|
+
"useImportType": "warn"
|
|
44
|
+
},
|
|
45
|
+
"correctness": {
|
|
46
|
+
"noUnusedVariables": "error",
|
|
47
|
+
"noUndeclaredVariables": "error"
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
"javascript": {
|
|
52
|
+
"formatter": {
|
|
53
|
+
"quoteStyle": "single",
|
|
54
|
+
"jsxQuoteStyle": "single",
|
|
55
|
+
"semicolons": "always",
|
|
56
|
+
"trailingCommas": "all"
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
"assist": {
|
|
60
|
+
"enabled": true,
|
|
61
|
+
"actions": {
|
|
62
|
+
"source": {
|
|
63
|
+
"organizeImports": "on"
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://biomejs.dev/schemas/2.4.8/schema.json",
|
|
3
|
+
"vcs": {
|
|
4
|
+
"enabled": true,
|
|
5
|
+
"clientKind": "git",
|
|
6
|
+
"useIgnoreFile": true
|
|
7
|
+
},
|
|
8
|
+
"files": {
|
|
9
|
+
"ignoreUnknown": true,
|
|
10
|
+
"includes": ["**/*.{js,jsx,ts,tsx,css}"]
|
|
11
|
+
},
|
|
12
|
+
"formatter": {
|
|
13
|
+
"enabled": true,
|
|
14
|
+
"indentStyle": "space",
|
|
15
|
+
"indentWidth": 2,
|
|
16
|
+
"lineWidth": 100,
|
|
17
|
+
"bracketSameLine": false
|
|
18
|
+
},
|
|
19
|
+
"linter": {
|
|
20
|
+
"enabled": true,
|
|
21
|
+
"rules": {
|
|
22
|
+
"recommended": true,
|
|
23
|
+
"suspicious": {
|
|
24
|
+
"noExplicitAny": "warn",
|
|
25
|
+
"noUnassignedVariables": "warn",
|
|
26
|
+
"noUnusedExpressions": "warn",
|
|
27
|
+
"noConsole": {
|
|
28
|
+
"level": "warn",
|
|
29
|
+
"options": {
|
|
30
|
+
"allow": ["assert", "error", "info", "warn"]
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
"noArrayIndexKey": "error"
|
|
34
|
+
},
|
|
35
|
+
"a11y": {
|
|
36
|
+
"useAltText": "error",
|
|
37
|
+
"useValidAnchor": "error"
|
|
38
|
+
},
|
|
39
|
+
"style": {
|
|
40
|
+
"useConst": "error",
|
|
41
|
+
"useSelfClosingElements": "error",
|
|
42
|
+
"useConsistentCurlyBraces": "error",
|
|
43
|
+
"useImportType": "warn"
|
|
44
|
+
},
|
|
45
|
+
"correctness": {
|
|
46
|
+
"noUnusedVariables": "error",
|
|
47
|
+
"noUndeclaredVariables": "error"
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
"javascript": {
|
|
52
|
+
"formatter": {
|
|
53
|
+
"quoteStyle": "single",
|
|
54
|
+
"jsxQuoteStyle": "single",
|
|
55
|
+
"semicolons": "always",
|
|
56
|
+
"trailingCommas": "all"
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
"assist": {
|
|
60
|
+
"enabled": true,
|
|
61
|
+
"actions": {
|
|
62
|
+
"source": {
|
|
63
|
+
"organizeImports": "on"
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://biomejs.dev/schemas/2.4.8/schema.json",
|
|
3
|
+
"vcs": {
|
|
4
|
+
"enabled": true,
|
|
5
|
+
"clientKind": "git",
|
|
6
|
+
"useIgnoreFile": true
|
|
7
|
+
},
|
|
8
|
+
"files": {
|
|
9
|
+
"ignoreUnknown": true,
|
|
10
|
+
"includes": ["**/*.{js,jsx,ts,tsx,css}"]
|
|
11
|
+
},
|
|
12
|
+
"formatter": {
|
|
13
|
+
"enabled": true,
|
|
14
|
+
"indentStyle": "space",
|
|
15
|
+
"indentWidth": 2,
|
|
16
|
+
"lineWidth": 100,
|
|
17
|
+
"bracketSameLine": false
|
|
18
|
+
},
|
|
19
|
+
"linter": {
|
|
20
|
+
"enabled": true,
|
|
21
|
+
"rules": {
|
|
22
|
+
"recommended": true,
|
|
23
|
+
"suspicious": {
|
|
24
|
+
"noExplicitAny": "warn",
|
|
25
|
+
"noUnassignedVariables": "warn",
|
|
26
|
+
"noUnusedExpressions": "warn",
|
|
27
|
+
"noConsole": {
|
|
28
|
+
"level": "warn",
|
|
29
|
+
"options": {
|
|
30
|
+
"allow": ["assert", "error", "info", "warn"]
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
"noArrayIndexKey": "error"
|
|
34
|
+
},
|
|
35
|
+
"a11y": {
|
|
36
|
+
"useAltText": "error",
|
|
37
|
+
"useValidAnchor": "error"
|
|
38
|
+
},
|
|
39
|
+
"style": {
|
|
40
|
+
"useConst": "error",
|
|
41
|
+
"useSelfClosingElements": "error",
|
|
42
|
+
"useConsistentCurlyBraces": "error",
|
|
43
|
+
"useImportType": "warn"
|
|
44
|
+
},
|
|
45
|
+
"correctness": {
|
|
46
|
+
"noUnusedVariables": "error",
|
|
47
|
+
"noUndeclaredVariables": "error"
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
"javascript": {
|
|
52
|
+
"formatter": {
|
|
53
|
+
"quoteStyle": "single",
|
|
54
|
+
"jsxQuoteStyle": "single",
|
|
55
|
+
"semicolons": "always",
|
|
56
|
+
"trailingCommas": "all"
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
"assist": {
|
|
60
|
+
"enabled": true,
|
|
61
|
+
"actions": {
|
|
62
|
+
"source": {
|
|
63
|
+
"organizeImports": "on"
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
@@ -68,7 +68,7 @@ function App() {
|
|
|
68
68
|
/>
|
|
69
69
|
</div>
|
|
70
70
|
<P marginBottom='xl' className='text-center'>
|
|
71
|
-
To get started, edit the App.tsx file.
|
|
71
|
+
To get started, edit the App.tsx file.{' '}
|
|
72
72
|
<span className='font-bold'>Count: {count}</span>
|
|
73
73
|
</P>
|
|
74
74
|
<div className='flex gap-4 justify-center mb-8'>
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://biomejs.dev/schemas/2.4.8/schema.json",
|
|
3
|
+
"vcs": {
|
|
4
|
+
"enabled": true,
|
|
5
|
+
"clientKind": "git",
|
|
6
|
+
"useIgnoreFile": true
|
|
7
|
+
},
|
|
8
|
+
"files": {
|
|
9
|
+
"ignoreUnknown": true,
|
|
10
|
+
"includes": ["**/*.{js,jsx,ts,tsx,css}"]
|
|
11
|
+
},
|
|
12
|
+
"formatter": {
|
|
13
|
+
"enabled": true,
|
|
14
|
+
"indentStyle": "space",
|
|
15
|
+
"indentWidth": 2,
|
|
16
|
+
"lineWidth": 100,
|
|
17
|
+
"bracketSameLine": false
|
|
18
|
+
},
|
|
19
|
+
"linter": {
|
|
20
|
+
"enabled": true,
|
|
21
|
+
"rules": {
|
|
22
|
+
"recommended": true,
|
|
23
|
+
"suspicious": {
|
|
24
|
+
"noExplicitAny": "warn",
|
|
25
|
+
"noUnassignedVariables": "warn",
|
|
26
|
+
"noUnusedExpressions": "warn",
|
|
27
|
+
"noConsole": {
|
|
28
|
+
"level": "warn",
|
|
29
|
+
"options": {
|
|
30
|
+
"allow": ["assert", "error", "info", "warn"]
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
"noArrayIndexKey": "error"
|
|
34
|
+
},
|
|
35
|
+
"a11y": {
|
|
36
|
+
"useAltText": "error",
|
|
37
|
+
"useValidAnchor": "error"
|
|
38
|
+
},
|
|
39
|
+
"style": {
|
|
40
|
+
"useConst": "error",
|
|
41
|
+
"useSelfClosingElements": "error",
|
|
42
|
+
"useConsistentCurlyBraces": "error",
|
|
43
|
+
"useImportType": "warn"
|
|
44
|
+
},
|
|
45
|
+
"correctness": {
|
|
46
|
+
"noUnusedVariables": "error",
|
|
47
|
+
"noUndeclaredVariables": "error"
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
"javascript": {
|
|
52
|
+
"formatter": {
|
|
53
|
+
"quoteStyle": "single",
|
|
54
|
+
"jsxQuoteStyle": "single",
|
|
55
|
+
"semicolons": "always",
|
|
56
|
+
"trailingCommas": "all"
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
"assist": {
|
|
60
|
+
"enabled": true,
|
|
61
|
+
"actions": {
|
|
62
|
+
"source": {
|
|
63
|
+
"organizeImports": "on"
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
@@ -45,7 +45,7 @@ function App() {
|
|
|
45
45
|
/>
|
|
46
46
|
</div>
|
|
47
47
|
<P marginBottom='xl' className='text-center'>
|
|
48
|
-
To get started, edit the App.tsx file.
|
|
48
|
+
To get started, edit the App.tsx file.{' '}
|
|
49
49
|
<span className='font-bold'>Count: {count}</span>
|
|
50
50
|
</P>
|
|
51
51
|
<div className='flex gap-4 justify-center mb-8'>
|
|
@@ -26,35 +26,35 @@ export function TanStackQueryDemo() {
|
|
|
26
26
|
<>
|
|
27
27
|
<div className='flex gap-4 items-center justify-center my-8 mx-auto'>
|
|
28
28
|
<img
|
|
29
|
-
src='
|
|
29
|
+
src='/imgs/Vitejs-logo.svg'
|
|
30
30
|
alt='vite logo'
|
|
31
31
|
width='72px'
|
|
32
32
|
style={{ marginLeft: 'auto', marginRight: 'auto' }}
|
|
33
33
|
/>
|
|
34
34
|
<P marginBottom='none'>&</P>
|
|
35
35
|
<img
|
|
36
|
-
src='
|
|
36
|
+
src='/imgs/Tailwind_CSS_Logo.svg'
|
|
37
37
|
alt='tailwind logo'
|
|
38
38
|
width='72px'
|
|
39
39
|
style={{ marginLeft: 'auto', marginRight: 'auto' }}
|
|
40
40
|
/>
|
|
41
41
|
<P marginBottom='none'>&</P>
|
|
42
42
|
<img
|
|
43
|
-
src='
|
|
43
|
+
src='/imgs/Tanstack-logo.png'
|
|
44
44
|
alt='tanstack logo'
|
|
45
45
|
width='72px'
|
|
46
46
|
style={{ marginLeft: 'auto', marginRight: 'auto' }}
|
|
47
47
|
/>
|
|
48
48
|
<P marginBottom='none'>&</P>
|
|
49
49
|
<img
|
|
50
|
-
src='
|
|
50
|
+
src='/imgs/Zustand-logo.svg'
|
|
51
51
|
alt='Zustand logo'
|
|
52
52
|
width='72px'
|
|
53
53
|
style={{ marginLeft: 'auto', marginRight: 'auto' }}
|
|
54
54
|
/>
|
|
55
55
|
<P marginBottom='none'>&</P>
|
|
56
56
|
<img
|
|
57
|
-
src='
|
|
57
|
+
src='/imgs/undp-logo-blue.svg'
|
|
58
58
|
alt='UNDP logo'
|
|
59
59
|
width='72px'
|
|
60
60
|
style={{ marginLeft: 'auto', marginRight: 'auto' }}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://biomejs.dev/schemas/2.4.8/schema.json",
|
|
3
|
+
"vcs": {
|
|
4
|
+
"enabled": true,
|
|
5
|
+
"clientKind": "git",
|
|
6
|
+
"useIgnoreFile": true
|
|
7
|
+
},
|
|
8
|
+
"files": {
|
|
9
|
+
"ignoreUnknown": true,
|
|
10
|
+
"includes": ["**/*.{js,jsx,ts,tsx,css}"]
|
|
11
|
+
},
|
|
12
|
+
"formatter": {
|
|
13
|
+
"enabled": true,
|
|
14
|
+
"indentStyle": "space",
|
|
15
|
+
"indentWidth": 2,
|
|
16
|
+
"lineWidth": 100,
|
|
17
|
+
"bracketSameLine": false
|
|
18
|
+
},
|
|
19
|
+
"linter": {
|
|
20
|
+
"enabled": true,
|
|
21
|
+
"rules": {
|
|
22
|
+
"recommended": true,
|
|
23
|
+
"suspicious": {
|
|
24
|
+
"noExplicitAny": "warn",
|
|
25
|
+
"noUnassignedVariables": "warn",
|
|
26
|
+
"noUnusedExpressions": "warn",
|
|
27
|
+
"noConsole": {
|
|
28
|
+
"level": "warn",
|
|
29
|
+
"options": {
|
|
30
|
+
"allow": ["assert", "error", "info", "warn"]
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
"noArrayIndexKey": "error"
|
|
34
|
+
},
|
|
35
|
+
"a11y": {
|
|
36
|
+
"useAltText": "error",
|
|
37
|
+
"useValidAnchor": "error"
|
|
38
|
+
},
|
|
39
|
+
"style": {
|
|
40
|
+
"useConst": "error",
|
|
41
|
+
"useSelfClosingElements": "error",
|
|
42
|
+
"useConsistentCurlyBraces": "error",
|
|
43
|
+
"useImportType": "warn"
|
|
44
|
+
},
|
|
45
|
+
"correctness": {
|
|
46
|
+
"noUnusedVariables": "error",
|
|
47
|
+
"noUndeclaredVariables": "error"
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
"javascript": {
|
|
52
|
+
"formatter": {
|
|
53
|
+
"quoteStyle": "single",
|
|
54
|
+
"jsxQuoteStyle": "single",
|
|
55
|
+
"semicolons": "always",
|
|
56
|
+
"trailingCommas": "all"
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
"assist": {
|
|
60
|
+
"enabled": true,
|
|
61
|
+
"actions": {
|
|
62
|
+
"source": {
|
|
63
|
+
"organizeImports": "on"
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
@@ -45,7 +45,7 @@ export function App() {
|
|
|
45
45
|
/>
|
|
46
46
|
</div>
|
|
47
47
|
<P marginBottom='xl' className='text-center'>
|
|
48
|
-
To get started, edit the App.tsx file.
|
|
48
|
+
To get started, edit the App.tsx file.{' '}
|
|
49
49
|
<span className='font-bold'>Count: {count}</span>
|
|
50
50
|
</P>
|
|
51
51
|
<div className='flex gap-4 justify-center mb-8'>
|