diff --git a/bun.lockb b/bun.lockb new file mode 100755 index 0000000..2454e02 Binary files /dev/null and b/bun.lockb differ diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 0000000..23debb9 --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,13 @@ +import globals from "globals"; +import pluginJs from "@eslint/js"; +import tseslint from "typescript-eslint"; +import eslintConfigPrettier from "eslint-config-prettier"; + +export default [ + { files: ["**/*.{js,mjs,cjs,ts}"] }, + { languageOptions: { globals: globals.browser } }, + eslintConfigPrettier, + pluginJs.configs.recommended, + ...tseslint.configs.recommended, +]; + diff --git a/package.json b/package.json new file mode 100644 index 0000000..5b82e52 --- /dev/null +++ b/package.json @@ -0,0 +1,21 @@ +{ + "name": "mini-strap", + "module": "index.ts", + "devDependencies": { + "@eslint/js": "^9.10.0", + "@types/bun": "latest", + "eslint": "^9.10.0", + "eslint-config-prettier": "^9.1.0", + "globals": "^15.9.0", + "prettier": "3.3.3", + "typescript-eslint": "^8.5.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "scripts": { + "dev": "bun --filter '*' dev" + }, + "type": "module", + "workspaces": ["packages/*"] +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..238655f --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,27 @@ +{ + "compilerOptions": { + // Enable latest features + "lib": ["ESNext", "DOM"], + "target": "ESNext", + "module": "ESNext", + "moduleDetection": "force", + "jsx": "react-jsx", + "allowJs": true, + + // Bundler mode + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "verbatimModuleSyntax": true, + "noEmit": true, + + // Best practices + "strict": true, + "skipLibCheck": true, + "noFallthroughCasesInSwitch": true, + + // Some stricter flags (disabled by default) + "noUnusedLocals": false, + "noUnusedParameters": false, + "noPropertyAccessFromIndexSignature": false + } +}