Initial Commit

* Initialize project with essential configuration files including
** .gitignore
** .npmrc
** .nvmrc
** .prettierrc
** bunfig.toml
** eslint.config.ts
** package.json
** README.md
** tsconfig.json
This commit is contained in:
2025-11-21 02:38:36 -05:00
commit ab34b614dd
9 changed files with 130 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

3
.npmrc Normal file
View File

@@ -0,0 +1,3 @@
package-lock=false
save-exact=true
@techniker-me:registry=https://npm.techniker.me

0
.nvmrc Normal file
View File

12
.prettierrc Normal file
View File

@@ -0,0 +1,12 @@
{
"arrowParens": "avoid",
"bracketSameLine": true,
"bracketSpacing": false,
"printWidth": 180,
"semi": true,
"singleAttributePerLine": false,
"singleQuote": true,
"tabWidth": 2,
"trailingComma": "none",
"useTabs": false
}

1
README.md Normal file
View File

@@ -0,0 +1 @@
# speedtest

8
bunfig.toml Normal file
View File

@@ -0,0 +1,8 @@
[install]
exact = true
[install.lockfile]
save = false
[install.scopes]
"@techniker-me" = "https://npm.techniker.me"

15
eslint.config.ts Normal file
View File

@@ -0,0 +1,15 @@
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']}
]);

28
package.json Normal file
View File

@@ -0,0 +1,28 @@
{
"name": "speedtest",
"version": "0.0.0",
"author": "Alexander Zinn",
"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.14.1",
"@eslint/js": "9.39.1",
"@eslint/json": "0.14.0",
"@eslint/markdown": "7.5.1",
"@types/bun": "latest",
"eslint": "9.39.1",
"globals": "16.5.0",
"jiti": "2.6.1",
"prettier": "3.6.2",
"typescript-eslint": "8.47.0"
},
"dependencies": {
"@techniker-me/logger": "0.0.15"
}
}

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,
"noUnusedParameters": true,
// Some stricter flags (disabled by default)
"noUnusedLocals": false,
"noPropertyAccessFromIndexSignature": false
}
}