Skip to content

Commit 2b3eaf2

Browse files
authored
Merge pull request #22 from PMDevSolutions/1-project-scaffolding-vite-typescript-tailwind-vitest
feat: project scaffolding - Vite, TypeScript, Tailwind, Vitest
2 parents 4ff9704 + cee5c10 commit 2b3eaf2

9 files changed

Lines changed: 999 additions & 12 deletions

File tree

widget/.prettierignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
dist/
2+
node_modules/
3+
pnpm-lock.yaml

widget/.prettierrc

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"semi": true,
3+
"singleQuote": false,
4+
"trailingComma": "all",
5+
"printWidth": 80,
6+
"tabWidth": 2
7+
}

widget/eslint.config.js

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
import js from "@eslint/js";
2+
import tseslint from "typescript-eslint";
3+
import reactHooks from "eslint-plugin-react-hooks";
4+
import reactRefresh from "eslint-plugin-react-refresh";
5+
import prettier from "eslint-config-prettier";
6+
7+
export default tseslint.config(
8+
{ ignores: ["dist/", "node_modules/"] },
9+
js.configs.recommended,
10+
...tseslint.configs.recommended,
11+
{
12+
plugins: {
13+
"react-hooks": reactHooks,
14+
"react-refresh": reactRefresh,
15+
},
16+
rules: {
17+
...reactHooks.configs.recommended.rules,
18+
"react-refresh/only-export-components": [
19+
"warn",
20+
{ allowConstantExport: true },
21+
],
22+
},
23+
},
24+
prettier,
25+
);

widget/package.json

Lines changed: 36 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,31 +3,61 @@
33
"version": "0.1.0",
44
"private": true,
55
"type": "module",
6-
"main": "src/index.ts",
6+
"main": "dist/claudius.js",
7+
"module": "dist/claudius.js",
8+
"types": "dist/index.d.ts",
9+
"exports": {
10+
".": {
11+
"types": "./dist/index.d.ts",
12+
"import": "./dist/claudius.js"
13+
},
14+
"./embed": "./dist/claudius-embed.iife.js",
15+
"./style.css": "./dist/claudius.css"
16+
},
17+
"files": [
18+
"dist"
19+
],
720
"scripts": {
821
"dev": "vite",
9-
"build": "vite build",
10-
"build:embed": "vite build",
22+
"build": "tsc --emitDeclarationOnly && vite build && vite build --config vite.config.embed.ts",
23+
"build:lib": "tsc --emitDeclarationOnly && vite build",
24+
"build:embed": "vite build --config vite.config.embed.ts",
1125
"test": "vitest run",
12-
"test:watch": "vitest"
26+
"test:watch": "vitest",
27+
"lint": "eslint src/",
28+
"lint:fix": "eslint src/ --fix",
29+
"format": "prettier --write \"src/**/*.{ts,tsx,css}\"",
30+
"format:check": "prettier --check \"src/**/*.{ts,tsx,css}\"",
31+
"typecheck": "tsc --noEmit"
32+
},
33+
"peerDependencies": {
34+
"react": "^18.0.0 || ^19.0.0",
35+
"react-dom": "^18.0.0 || ^19.0.0"
1336
},
1437
"dependencies": {
1538
"react": "^18.3.0",
1639
"react-dom": "^18.3.0"
1740
},
1841
"devDependencies": {
19-
"@testing-library/react": "^16.3.0",
2042
"@testing-library/jest-dom": "^6.6.0",
43+
"@testing-library/react": "^16.3.0",
2144
"@testing-library/user-event": "^14.6.0",
2245
"@types/react": "^18.3.0",
2346
"@types/react-dom": "^18.3.0",
47+
"@vitejs/plugin-react": "^4.4.0",
2448
"autoprefixer": "^10.4.0",
49+
"eslint": "^9.24.0",
50+
"@eslint/js": "^9.24.0",
51+
"typescript-eslint": "^8.30.0",
52+
"eslint-plugin-react-hooks": "^5.2.0",
53+
"eslint-plugin-react-refresh": "^0.4.20",
54+
"prettier": "^3.5.0",
55+
"eslint-config-prettier": "^10.1.0",
2556
"jsdom": "^26.0.0",
2657
"postcss": "^8.5.0",
2758
"tailwindcss": "^3.4.0",
2859
"typescript": "^5.8.0",
2960
"vite": "^6.2.0",
30-
"@vitejs/plugin-react": "^4.4.0",
3161
"vitest": "^4.1.0"
3262
}
3363
}

0 commit comments

Comments
 (0)