From 2b79dd0eef9eea691b6facaadae38406594f6dc3 Mon Sep 17 00:00:00 2001 From: Steffen Beyer Date: Sat, 4 Apr 2026 10:38:45 +0200 Subject: [PATCH] tooling --- .prettierignore | 7 +++++++ .prettierrc.json | 6 ++++++ devenv.nix | 7 +++++++ package.json | 5 +++++ src/index.ts | 1 + tsconfig.json | 13 +++++++++++++ 6 files changed, 39 insertions(+) create mode 100644 .prettierignore create mode 100644 .prettierrc.json create mode 100644 src/index.ts create mode 100644 tsconfig.json diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..d43bd34 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,7 @@ +.devenv/ +.direnv/ +node_modules/ +result/ +package-lock.json +docs/ +devenv.yaml diff --git a/.prettierrc.json b/.prettierrc.json new file mode 100644 index 0000000..47174e4 --- /dev/null +++ b/.prettierrc.json @@ -0,0 +1,6 @@ +{ + "semi": true, + "singleQuote": true, + "trailingComma": "all", + "printWidth": 100 +} diff --git a/devenv.nix b/devenv.nix index a855c8e..6b80616 100644 --- a/devenv.nix +++ b/devenv.nix @@ -6,9 +6,15 @@ }: { # https://devenv.sh/packages/ packages = with pkgs; [ + guile just # Nix code formatter alejandra + # TypeScript tooling + nodePackages.typescript + nodePackages.typescript-language-server + # JavaScript/TypeScript formatter + nodePackages.prettier ]; # https://devenv.sh/languages/ @@ -25,6 +31,7 @@ # https://devenv.sh/pre-commit-hooks/ git-hooks.hooks = { alejandra.enable = true; + prettier.enable = true; check-added-large-files = { enable = true; args = ["--maxkb=16384"]; diff --git a/package.json b/package.json index d15cd71..a125c05 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,10 @@ { "devDependencies": { "@mariozechner/pi-coding-agent": "^0.65.0" + }, + "scripts": { + "typecheck": "tsc --noEmit", + "format": "prettier . --write", + "format:check": "prettier . --check" } } diff --git a/src/index.ts b/src/index.ts new file mode 100644 index 0000000..6412b58 --- /dev/null +++ b/src/index.ts @@ -0,0 +1 @@ +export const hello = (name: string): string => `Hello, ${name}!`; diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..41d855c --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,13 @@ +{ + "compilerOptions": { + "target": "ES2022", + "module": "NodeNext", + "moduleResolution": "NodeNext", + "strict": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "skipLibCheck": true, + "noEmit": true + }, + "include": ["src/**/*.ts", "scripts/**/*.ts", "*.ts"] +}