Initial Commit

This commit is contained in:
2025-10-25 16:31:03 -04:00
commit 3d7135aa71
7 changed files with 145 additions and 0 deletions

34
.gitignore vendored Normal file
View File

@@ -0,0 +1,34 @@
# dependencies (bun install)
node_modules
# output
out
dist
*.tgz
# code coverage
coverage
*.lcov
# logs
logs
_.log
report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json
# dotenv environment variable files
.env
.env.development.local
.env.test.local
.env.production.local
.env.local
# caches
.eslintcache
.cache
*.tsbuildinfo
# IntelliJ based IDEs
.idea
# Finder (MacOS) folder config
.DS_Store

2
.npmrc Normal file
View File

@@ -0,0 +1,2 @@
package-lock=false
save-exact=true

1
.nvmrc Normal file
View File

@@ -0,0 +1 @@
24

17
bunfig.toml Normal file
View File

@@ -0,0 +1,17 @@
telemetry = false
[install]
optional = true
dev = true
peer = true
production = true
exact = true
auto = "auto"
registry = "https://registry.npmjs.org"
linker = "hoisted"
[install.scopes]
"@techniker-me" = "https://npm.techniker.me"
[install.lockfle]
save = false

35
eslint.config.ts Normal file
View File

@@ -0,0 +1,35 @@
import js from "@eslint/js";
import globals from "globals";
import tseslint from "typescript-eslint";
import json from "@eslint/json";
import markdown from "@eslint/markdown";
import css from "@eslint/css";
import { defineConfig } from "eslint/config";
export default defineConfig([
{
files: ["**/*.{js,mjs,cjs,ts,mts,cts}"],
plugins: { js },
extends: ["js/recommended"],
languageOptions: { globals: globals.node },
},
tseslint.configs.recommended,
{
files: ["**/*.json"],
plugins: { json },
language: "json/json",
extends: ["json/recommended"],
},
{
files: ["**/*.md"],
plugins: { markdown },
language: "markdown/commonmark",
extends: ["markdown/recommended"],
},
{
files: ["**/*.css"],
plugins: { css },
language: "css/css",
extends: ["css/recommended"],
},
]);

27
package.json Normal file
View File

@@ -0,0 +1,27 @@
{
"name": "platform-ts",
"module": "index.ts",
"type": "module",
"private": true,
"scripts": {
"format": "prettier --write .",
"lint": "eslint --max-warnings 0 ./src",
"prelint:fix": "bun run format",
"lint:fix": "eslint --fix ./src"
},
"devDependencies": {
"@eslint/css": "0.13.0",
"@eslint/js": "9.38.0",
"@eslint/json": "0.13.2",
"@eslint/markdown": "7.5.0",
"@types/bun": "latest",
"eslint": "9.38.0",
"globals": "16.4.0",
"jiti": "2.6.1",
"prettier": "3.6.2",
"typescript-eslint": "8.46.2"
},
"peerDependencies": {
"typescript": "5.9.3"
}
}

29
tsconfig.json Normal file
View File

@@ -0,0 +1,29 @@
{
"compilerOptions": {
// Environment setup & latest features
"lib": ["ESNext"],
"target": "ESNext",
"module": "Preserve",
"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,
"noUncheckedIndexedAccess": true,
"noImplicitOverride": true,
// Some stricter flags (disabled by default)
"noUnusedLocals": false,
"noUnusedParameters": false,
"noPropertyAccessFromIndexSignature": false
}
}