@6thbridge/hexa 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,33 @@
1
+ import globals from "globals";
2
+ import pluginJs from "@eslint/js";
3
+ import tseslint from "typescript-eslint";
4
+ // import pluginReact from "eslint-plugin-react";
5
+
6
+ /** @type {import('eslint').Linter.Config[]} */
7
+ export default [
8
+ {
9
+ // https://eslint.org/docs/latest/use/configure/ignore
10
+ ignores: [
11
+ // only ignore node_modules in the same directory
12
+ // as the configuration file
13
+ "node_modules",
14
+ "dist",
15
+ // so you have to add `**/` pattern to include nested directories
16
+ // for example, if you use pnpm workspace
17
+ "**/node_modules",
18
+ // also you can add a new rule to revert a ignore
19
+ "!./packages/manual-add-lib/node_modules/local-lib.js",
20
+ ],
21
+ },
22
+ { files: ["**/*.{js,mjs,cjs,ts,jsx,tsx}"] },
23
+ { languageOptions: { globals: globals.browser } },
24
+ pluginJs.configs.recommended,
25
+ ...tseslint.configs.recommended,
26
+ // config envs
27
+ {
28
+ languageOptions: {
29
+ globals: { ...globals.browser, ...globals.node },
30
+ },
31
+ },
32
+ // pluginReact.configs.flat.recommended,
33
+ ];
package/package.json ADDED
@@ -0,0 +1,69 @@
1
+ {
2
+ "name": "@6thbridge/hexa",
3
+ "version": "0.0.1",
4
+ "main": "dist/index.js",
5
+ "types": "dist/index.d.ts",
6
+ "exports": {
7
+ ".": {
8
+ "types": "./dist/index.d.ts",
9
+ "import": "./dist/index.mjs",
10
+ "require": "./dist/index.js"
11
+ },
12
+ "./dist/output.css": {
13
+ "import": "./dist/output.css",
14
+ "require": "./dist/output.css"
15
+ }
16
+ },
17
+ "devDependencies": {
18
+ "@eslint/js": "^9.17.0",
19
+ "@turbo/gen": "^1.12.4",
20
+ "@types/node": "^20.11.24",
21
+ "@types/react": "18.3.0",
22
+ "@types/react-dom": "18.3.1",
23
+ "autoprefixer": "^10.4.15",
24
+ "concurrently": "^9.1.2",
25
+ "eslint": "^9.19.0",
26
+ "eslint-config-prettier": "^8.3.0",
27
+ "eslint-config-turbo": "latest",
28
+ "eslint-plugin-react": "7.29.4",
29
+ "globals": "^15.12.0",
30
+ "postcss": "^8.5.1",
31
+ "prettier": "^3.3.3",
32
+ "tailwindcss": "^3.3.3",
33
+ "tsup": "^8.3.5",
34
+ "typescript": "5.5.4",
35
+ "typescript-eslint": "^8.15.0",
36
+ "vite": "^6.0.11"
37
+ },
38
+ "dependencies": {
39
+ "@radix-ui/react-dialog": "^1.1.5",
40
+ "@radix-ui/react-label": "^2.1.1",
41
+ "@radix-ui/react-popover": "^1.1.5",
42
+ "@radix-ui/react-scroll-area": "^1.2.2",
43
+ "@radix-ui/react-slot": "^1.1.1",
44
+ "class-variance-authority": "^0.7.1",
45
+ "clsx": "^2.1.1",
46
+ "cmdk": "^1.0.4",
47
+ "lucide-react": "^0.474.0",
48
+ "react": "^18",
49
+ "react-dom": "^18",
50
+ "tailwind-merge": "^2.6.0",
51
+ "tailwindcss-animate": "^1.0.7"
52
+ },
53
+ "peerDependencies": {
54
+ "react": ">=18.0.0",
55
+ "react-dom": ">=18.0.0"
56
+ },
57
+ "scripts": {
58
+ "lint": "eslint . --max-warnings 0",
59
+ "generate:component": "turbo gen react-component",
60
+ "check-types": "tsc --noEmit",
61
+ "reset": "rimraf .turbo node_modules && rimraf dist",
62
+ "clean": "rm -rf .turbo && rm -rf node_modules && rm -rf dist",
63
+ "build:style": "tailwindcss -i ./src/styles/input.css -o ./dist/output.css",
64
+ "dev:style": "tailwindcss -i ./src/styles/input.css -o ./dist/output.css --watch",
65
+ "build-fast": "tsup src/index.ts --format=esm,cjs --no-dts --watch",
66
+ "build": "tsup src/index.ts --format=esm,cjs --dts --clean --minify --sourcemap && pnpm run build:style",
67
+ "dev": "concurrently \"pnpm run build-fast\" \"pnpm run dev:style\""
68
+ }
69
+ }
@@ -0,0 +1,12 @@
1
+ // const config = {
2
+ // plugins: {
3
+ // "@tailwindcss/postcss": {},
4
+ // },
5
+ // };
6
+ // export default config;
7
+ module.exports = {
8
+ plugins: {
9
+ tailwindcss: {},
10
+ autoprefixer: {},
11
+ },
12
+ };
@@ -0,0 +1,30 @@
1
+ /* eslint-disable @typescript-eslint/no-require-imports */
2
+ /** @type {import('tailwindcss').Config} */
3
+
4
+ module.exports = {
5
+ darkMode: ["class"],
6
+ content: [
7
+ "./app/**/*.{js,jsx,ts,tsx}",
8
+ "./pages/**/*.{js,jsx,ts,tsx}",
9
+ "./components/**/*.{js,jsx,ts,tsx}",
10
+ "./src/**/*.{js,jsx,ts,tsx}",
11
+ ],
12
+ theme: {
13
+ extend: {
14
+ colors: {
15
+ primary: {
16
+ main: "var(--color-primary)",
17
+ accent: "var(--color-primary-accent)",
18
+ // main: "rgba(2, 49, 197, 1)",
19
+ },
20
+ },
21
+ fontSize: {
22
+ xxs: "10px",
23
+ },
24
+ fontFamily: {
25
+ sans: ["Bricolage Grotesque", "serif"],
26
+ },
27
+ },
28
+ },
29
+ plugins: [require("tailwindcss-animate")],
30
+ };
package/tsconfig.json ADDED
@@ -0,0 +1,31 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2020",
4
+ "useDefineForClassFields": true,
5
+ "lib": ["ES2020", "DOM", "DOM.Iterable"],
6
+ "module": "ESNext",
7
+ "skipLibCheck": true,
8
+
9
+ /* Bundler mode */
10
+ "moduleResolution": "node",
11
+ // "allowImportingTsExtensions": true,
12
+ // "resolveJsonModule": true,
13
+ "isolatedModules": true,
14
+ "noEmit": true,
15
+ "jsx": "react-jsx",
16
+
17
+ /* Linting */
18
+ "strict": true,
19
+ "noUnusedLocals": true,
20
+ "noUnusedParameters": true,
21
+ "noFallthroughCasesInSwitch": true,
22
+ "allowSyntheticDefaultImports": true,
23
+
24
+ "baseUrl": ".",
25
+ "paths": {
26
+ "@/*": ["./*"]
27
+ }
28
+ },
29
+ "include": ["src"],
30
+ "references": [{ "path": "./tsconfig.node.json" }]
31
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "compilerOptions": {
3
+ "composite": true,
4
+ "skipLibCheck": true,
5
+ "module": "ESNext",
6
+ "moduleResolution": "bundler",
7
+ "allowSyntheticDefaultImports": true
8
+ },
9
+ "include": ["vite.config.ts"]
10
+ }
@@ -0,0 +1,30 @@
1
+ import type { PlopTypes } from "@turbo/gen";
2
+
3
+ // Learn more about Turborepo Generators at https://turbo.build/repo/docs/core-concepts/monorepos/code-generation
4
+
5
+ export default function generator(plop: PlopTypes.NodePlopAPI): void {
6
+ // A simple generator to add a new React component to the internal UI library
7
+ plop.setGenerator("react-component", {
8
+ description: "Adds a new react component",
9
+ prompts: [
10
+ {
11
+ type: "input",
12
+ name: "name",
13
+ message: "What is the name of the component?",
14
+ },
15
+ ],
16
+ actions: [
17
+ {
18
+ type: "add",
19
+ path: "src/{{kebabCase name}}.tsx",
20
+ templateFile: "templates/component.hbs",
21
+ },
22
+ {
23
+ type: "append",
24
+ path: "package.json",
25
+ pattern: /"exports": {(?<insertion>)/g,
26
+ template: ' "./{{kebabCase name}}": "./src/{{kebabCase name}}.tsx",',
27
+ },
28
+ ],
29
+ });
30
+ }
@@ -0,0 +1,8 @@
1
+ export const {{ pascalCase name }} = ({ children }: { children: React.ReactNode }) => {
2
+ return (
3
+ <div>
4
+ <h1>{{ pascalCase name }} Component</h1>
5
+ {children}
6
+ </div>
7
+ );
8
+ };