diff --git a/forum/CONCEPTS.md b/.forum/CONCEPTS.md similarity index 100% rename from forum/CONCEPTS.md rename to .forum/CONCEPTS.md diff --git a/forum/agent-forum.md b/.forum/agent-forum.md similarity index 100% rename from forum/agent-forum.md rename to .forum/agent-forum.md diff --git a/forum/env/setup-debian.sh b/.forum/env/setup-debian.sh similarity index 100% rename from forum/env/setup-debian.sh rename to .forum/env/setup-debian.sh diff --git a/.forum/env/setup-fedora.sh b/.forum/env/setup-fedora.sh new file mode 100755 index 0000000..45c56ae --- /dev/null +++ b/.forum/env/setup-fedora.sh @@ -0,0 +1,46 @@ +#!/bin/bash +set -e + +echo "==== 1. INSTALL SYSTEM DEPENDENCIES ====" +sudo dnf install -y clang clang-devel graphviz pipx nodejs git + +echo "==== 2. CONFIGURE PATH IN BASHRC ====" +pipx ensurepath +export PATH="$HOME/.cargo/bin:$HOME/.local/bin:$PATH" +grep -q 'export PATH="\$HOME/.cargo/bin:\$HOME/.local/bin:\$PATH"' ~/.bashrc || \ + echo 'export PATH="$HOME/.cargo/bin:$HOME/.local/bin:$PATH"' >> ~/.bashrc + +echo "==== 3. INSTALL CLI TOOLS (RUST, PYTHON, NPM) ====" +cargo install tree-sitter-cli +pipx install semgrep +sudo npm install -g @sourcegraph/scip-typescript madge @stryker-mutator/core + +echo "==== 4. CONFIGURE TREE-SITTER GRAMMARS (TS & TSX) ====" +mkdir -p ~/.config/tree-sitter ~/.local/share/tree-sitter + +# Set parser directory search path for tree-sitter CLI +cat << 'EOF' > ~/.config/tree-sitter/config.json +{ + "parser-directories": [ + "$HOME/.local/share/tree-sitter" + ] +} +EOF + +# Clone official TypeScript & TSX grammars if not already present +if [ ! -d "$HOME/.local/share/tree-sitter/tree-sitter-typescript" ]; then + git clone --depth 1 https://github.com/tree-sitter/tree-sitter-typescript.git \ + "$HOME/.local/share/tree-sitter/tree-sitter-typescript" +fi + +# Symlink the TSX grammar so tree-sitter automatically handles .tsx files +ln -sf "$HOME/.local/share/tree-sitter/tree-sitter-typescript/tsx" \ + "$HOME/.local/share/tree-sitter/tree-sitter-tsx" + +echo "==== 5. VERIFY TOOLCHAIN ====" +tree-sitter --version +semgrep --version +scip-typescript --version +madge --version + +echo "==== FEDORA SETUP COMPLETE ====" diff --git a/forum/poc-g1/ASSESSMENT.md b/.forum/poc-g1/ASSESSMENT.md similarity index 100% rename from forum/poc-g1/ASSESSMENT.md rename to .forum/poc-g1/ASSESSMENT.md diff --git a/forum/poc-g1/BOUNDARIES.md b/.forum/poc-g1/BOUNDARIES.md similarity index 100% rename from forum/poc-g1/BOUNDARIES.md rename to .forum/poc-g1/BOUNDARIES.md diff --git a/forum/poc-g1/cfg_poc.ts b/.forum/poc-g1/cfg_poc.ts similarity index 100% rename from forum/poc-g1/cfg_poc.ts rename to .forum/poc-g1/cfg_poc.ts diff --git a/forum/poc-g1/code_intelligence_poc.ts b/.forum/poc-g1/code_intelligence_poc.ts similarity index 100% rename from forum/poc-g1/code_intelligence_poc.ts rename to .forum/poc-g1/code_intelligence_poc.ts diff --git a/forum/poc-g1/constitution_poc.ts b/.forum/poc-g1/constitution_poc.ts similarity index 100% rename from forum/poc-g1/constitution_poc.ts rename to .forum/poc-g1/constitution_poc.ts diff --git a/forum/poc-g1/dag_engine_poc.ts b/.forum/poc-g1/dag_engine_poc.ts similarity index 100% rename from forum/poc-g1/dag_engine_poc.ts rename to .forum/poc-g1/dag_engine_poc.ts diff --git a/forum/poc-g1/dependency_graph_poc.ts b/.forum/poc-g1/dependency_graph_poc.ts similarity index 100% rename from forum/poc-g1/dependency_graph_poc.ts rename to .forum/poc-g1/dependency_graph_poc.ts diff --git a/forum/poc-g1/execution_flywheel_poc.ts b/.forum/poc-g1/execution_flywheel_poc.ts similarity index 100% rename from forum/poc-g1/execution_flywheel_poc.ts rename to .forum/poc-g1/execution_flywheel_poc.ts diff --git a/forum/poc-g1/frontmatter_poc.ts b/.forum/poc-g1/frontmatter_poc.ts similarity index 100% rename from forum/poc-g1/frontmatter_poc.ts rename to .forum/poc-g1/frontmatter_poc.ts diff --git a/forum/poc-g1/git_hooks_poc.ts b/.forum/poc-g1/git_hooks_poc.ts similarity index 100% rename from forum/poc-g1/git_hooks_poc.ts rename to .forum/poc-g1/git_hooks_poc.ts diff --git a/forum/poc-g1/git_storage_poc.ts b/.forum/poc-g1/git_storage_poc.ts similarity index 100% rename from forum/poc-g1/git_storage_poc.ts rename to .forum/poc-g1/git_storage_poc.ts diff --git a/forum/poc-g1/graveyard_poc.ts b/.forum/poc-g1/graveyard_poc.ts similarity index 100% rename from forum/poc-g1/graveyard_poc.ts rename to .forum/poc-g1/graveyard_poc.ts diff --git a/forum/poc-g1/lab.ts b/.forum/poc-g1/lab.ts similarity index 100% rename from forum/poc-g1/lab.ts rename to .forum/poc-g1/lab.ts diff --git a/forum/poc-g1/merkle_diff_poc.ts b/.forum/poc-g1/merkle_diff_poc.ts similarity index 100% rename from forum/poc-g1/merkle_diff_poc.ts rename to .forum/poc-g1/merkle_diff_poc.ts diff --git a/forum/poc-g1/multi_vec_poc.ts b/.forum/poc-g1/multi_vec_poc.ts similarity index 100% rename from forum/poc-g1/multi_vec_poc.ts rename to .forum/poc-g1/multi_vec_poc.ts diff --git a/forum/poc-g1/mutation_poc.ts b/.forum/poc-g1/mutation_poc.ts similarity index 100% rename from forum/poc-g1/mutation_poc.ts rename to .forum/poc-g1/mutation_poc.ts diff --git a/forum/poc-g1/ontology_poc.ts b/.forum/poc-g1/ontology_poc.ts similarity index 100% rename from forum/poc-g1/ontology_poc.ts rename to .forum/poc-g1/ontology_poc.ts diff --git a/forum/poc-g1/orchestration_matrix_poc.ts b/.forum/poc-g1/orchestration_matrix_poc.ts similarity index 100% rename from forum/poc-g1/orchestration_matrix_poc.ts rename to .forum/poc-g1/orchestration_matrix_poc.ts diff --git a/forum/poc-g1/orphan_branch_poc.ts b/.forum/poc-g1/orphan_branch_poc.ts similarity index 100% rename from forum/poc-g1/orphan_branch_poc.ts rename to .forum/poc-g1/orphan_branch_poc.ts diff --git a/forum/poc-g1/protobuf_poc.ts b/.forum/poc-g1/protobuf_poc.ts similarity index 100% rename from forum/poc-g1/protobuf_poc.ts rename to .forum/poc-g1/protobuf_poc.ts diff --git a/forum/poc-g1/state_machine_poc.ts b/.forum/poc-g1/state_machine_poc.ts similarity index 100% rename from forum/poc-g1/state_machine_poc.ts rename to .forum/poc-g1/state_machine_poc.ts diff --git a/forum/poc-g1/static_analysis_poc.ts b/.forum/poc-g1/static_analysis_poc.ts similarity index 100% rename from forum/poc-g1/static_analysis_poc.ts rename to .forum/poc-g1/static_analysis_poc.ts diff --git a/forum/poc-g1/telemetry_poc.ts b/.forum/poc-g1/telemetry_poc.ts similarity index 100% rename from forum/poc-g1/telemetry_poc.ts rename to .forum/poc-g1/telemetry_poc.ts diff --git a/forum/poc-g1/tool_sandbox_poc.ts b/.forum/poc-g1/tool_sandbox_poc.ts similarity index 100% rename from forum/poc-g1/tool_sandbox_poc.ts rename to .forum/poc-g1/tool_sandbox_poc.ts diff --git a/forum/poc-g1/vector_db_poc.ts b/.forum/poc-g1/vector_db_poc.ts similarity index 100% rename from forum/poc-g1/vector_db_poc.ts rename to .forum/poc-g1/vector_db_poc.ts diff --git a/forum/poc-g2/BOUNDARIES.md b/.forum/poc-g2/BOUNDARIES.md similarity index 100% rename from forum/poc-g2/BOUNDARIES.md rename to .forum/poc-g2/BOUNDARIES.md diff --git a/forum/poc-g2/cfg_poc.ts b/.forum/poc-g2/cfg_poc.ts similarity index 100% rename from forum/poc-g2/cfg_poc.ts rename to .forum/poc-g2/cfg_poc.ts diff --git a/forum/poc-g2/code_intelligence_poc.ts b/.forum/poc-g2/code_intelligence_poc.ts similarity index 100% rename from forum/poc-g2/code_intelligence_poc.ts rename to .forum/poc-g2/code_intelligence_poc.ts diff --git a/forum/poc-g2/constitution_poc.ts b/.forum/poc-g2/constitution_poc.ts similarity index 100% rename from forum/poc-g2/constitution_poc.ts rename to .forum/poc-g2/constitution_poc.ts diff --git a/forum/poc-g2/dag_engine_poc.ts b/.forum/poc-g2/dag_engine_poc.ts similarity index 100% rename from forum/poc-g2/dag_engine_poc.ts rename to .forum/poc-g2/dag_engine_poc.ts diff --git a/forum/poc-g2/dependency_graph_poc.ts b/.forum/poc-g2/dependency_graph_poc.ts similarity index 100% rename from forum/poc-g2/dependency_graph_poc.ts rename to .forum/poc-g2/dependency_graph_poc.ts diff --git a/forum/poc-g2/execution_flywheel_poc.ts b/.forum/poc-g2/execution_flywheel_poc.ts similarity index 100% rename from forum/poc-g2/execution_flywheel_poc.ts rename to .forum/poc-g2/execution_flywheel_poc.ts diff --git a/forum/poc-g2/frontmatter_poc.ts b/.forum/poc-g2/frontmatter_poc.ts similarity index 100% rename from forum/poc-g2/frontmatter_poc.ts rename to .forum/poc-g2/frontmatter_poc.ts diff --git a/forum/poc-g2/git_hooks_poc.ts b/.forum/poc-g2/git_hooks_poc.ts similarity index 100% rename from forum/poc-g2/git_hooks_poc.ts rename to .forum/poc-g2/git_hooks_poc.ts diff --git a/forum/poc-g2/git_storage_poc.ts b/.forum/poc-g2/git_storage_poc.ts similarity index 100% rename from forum/poc-g2/git_storage_poc.ts rename to .forum/poc-g2/git_storage_poc.ts diff --git a/forum/poc-g2/graveyard_poc.ts b/.forum/poc-g2/graveyard_poc.ts similarity index 100% rename from forum/poc-g2/graveyard_poc.ts rename to .forum/poc-g2/graveyard_poc.ts diff --git a/forum/poc-g2/lab.ts b/.forum/poc-g2/lab.ts similarity index 100% rename from forum/poc-g2/lab.ts rename to .forum/poc-g2/lab.ts diff --git a/forum/poc-g2/merkle_diff_poc.ts b/.forum/poc-g2/merkle_diff_poc.ts similarity index 100% rename from forum/poc-g2/merkle_diff_poc.ts rename to .forum/poc-g2/merkle_diff_poc.ts diff --git a/forum/poc-g2/multi_vec_poc.ts b/.forum/poc-g2/multi_vec_poc.ts similarity index 100% rename from forum/poc-g2/multi_vec_poc.ts rename to .forum/poc-g2/multi_vec_poc.ts diff --git a/forum/poc-g2/mutation_poc.ts b/.forum/poc-g2/mutation_poc.ts similarity index 100% rename from forum/poc-g2/mutation_poc.ts rename to .forum/poc-g2/mutation_poc.ts diff --git a/forum/poc-g2/ontology_poc.ts b/.forum/poc-g2/ontology_poc.ts similarity index 100% rename from forum/poc-g2/ontology_poc.ts rename to .forum/poc-g2/ontology_poc.ts diff --git a/forum/poc-g2/orchestration_matrix_poc.ts b/.forum/poc-g2/orchestration_matrix_poc.ts similarity index 100% rename from forum/poc-g2/orchestration_matrix_poc.ts rename to .forum/poc-g2/orchestration_matrix_poc.ts diff --git a/forum/poc-g2/orphan_branch_poc.ts b/.forum/poc-g2/orphan_branch_poc.ts similarity index 100% rename from forum/poc-g2/orphan_branch_poc.ts rename to .forum/poc-g2/orphan_branch_poc.ts diff --git a/forum/poc-g2/protobuf_poc.ts b/.forum/poc-g2/protobuf_poc.ts similarity index 100% rename from forum/poc-g2/protobuf_poc.ts rename to .forum/poc-g2/protobuf_poc.ts diff --git a/forum/poc-g2/state_machine_poc.ts b/.forum/poc-g2/state_machine_poc.ts similarity index 100% rename from forum/poc-g2/state_machine_poc.ts rename to .forum/poc-g2/state_machine_poc.ts diff --git a/forum/poc-g2/static_analysis_poc.ts b/.forum/poc-g2/static_analysis_poc.ts similarity index 100% rename from forum/poc-g2/static_analysis_poc.ts rename to .forum/poc-g2/static_analysis_poc.ts diff --git a/forum/poc-g2/telemetry_poc.ts b/.forum/poc-g2/telemetry_poc.ts similarity index 100% rename from forum/poc-g2/telemetry_poc.ts rename to .forum/poc-g2/telemetry_poc.ts diff --git a/forum/poc-g2/tool_sandbox_poc.ts b/.forum/poc-g2/tool_sandbox_poc.ts similarity index 100% rename from forum/poc-g2/tool_sandbox_poc.ts rename to .forum/poc-g2/tool_sandbox_poc.ts diff --git a/forum/poc-g2/vector_db_poc.ts b/.forum/poc-g2/vector_db_poc.ts similarity index 100% rename from forum/poc-g2/vector_db_poc.ts rename to .forum/poc-g2/vector_db_poc.ts diff --git a/.gitignore b/.gitignore index 6fb9f62..f774fac 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,9 @@ cov_profile/ .backups/ .jules* + +# Forum and Tool Artifacts +/events-graph.svg +/index.scip +/reports/ +/.stryker-tmp/ diff --git a/deno.lock b/deno.lock index 1859454..617e107 100644 --- a/deno.lock +++ b/deno.lock @@ -55,18 +55,9 @@ "npm:@peculiar/asn1-x509@^2.6.1": "2.9.4", "npm:@peculiar/x509@*": "1.14.3", "npm:@peculiar/x509@^1.14.3": "1.14.3", - "npm:acorn@^8.18.0": "8.18.0", - "npm:fs-extra@^11.4.0": "11.4.0", "npm:ioredis@*": "6.0.0", "npm:postgres@3": "3.4.4", - "npm:postgres@3.4.4": "3.4.4", - "npm:protobufjs@^8.8.0": "8.8.0", - "npm:sqlite3@^6.0.1": "6.0.1", - "npm:tree-sitter-javascript@0.25": "0.25.0_tree-sitter@0.25.1", - "npm:tree-sitter@~0.25.1": "0.25.1", - "npm:typescript@^7.0.2": "7.0.2", - "npm:web-tree-sitter@~0.26.13": "0.26.13", - "npm:yaml@^2.9.0": "2.9.0" + "npm:postgres@3.4.4": "3.4.4" }, "jsr": { "@cliffy/ansi@1.0.0-rc.7": { @@ -297,12 +288,6 @@ "@ioredis/commands@2.0.0": { "integrity": "sha512-vrx0AE/T0h7cRZwfo1M39Cr+ZhZrkf0V8mQN75wucKCxCLD9l/VX6no3gFvrLqD1IlG/1LtzWovqEw3t0Vr9zg==" }, - "@isaacs/fs-minipass@4.0.1": { - "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", - "dependencies": [ - "minipass" - ] - }, "@levischuck/tiny-cbor@0.2.11": { "integrity": "sha512-llBRm4dT4Z89aRsm6u2oEZ8tfwL/2l6BwpZ7JcyieouniDECM5AqNgr/y08zalEIvW3RSK4upYyybDcmjXqAow==" }, @@ -432,110 +417,6 @@ "tsyringe" ] }, - "@typescript/typescript-aix-ppc64@7.0.2": { - "integrity": "sha512-MTKKkWB7p/0E9xi1d1tHtZ5PiLkGEMIq88pK2CubZjOsLtYTLqhgIgi6zepFa+9GHZ6h05NMCkQxGKiPXMxXtQ==", - "os": ["aix"], - "cpu": ["ppc64"] - }, - "@typescript/typescript-darwin-arm64@7.0.2": { - "integrity": "sha512-gowzar9MwS/aRWp6f3a4KUqzRjAZjOsmGNCM6LcTgXum+dBfgsBVMN+AgvOCCbguXyick6LJhpBszxMebJ8syA==", - "os": ["darwin"], - "cpu": ["arm64"] - }, - "@typescript/typescript-darwin-x64@7.0.2": { - "integrity": "sha512-SZ9xZInqApNlNGc9s0W1VSsktYSOe9cFqNOIqmN1Gs8SmkjKZYFt017G4VwPxASInODuAdbTW7sXiFUf893RgA==", - "os": ["darwin"], - "cpu": ["x64"] - }, - "@typescript/typescript-freebsd-arm64@7.0.2": { - "integrity": "sha512-W5NH4y/J0plIIS5b2xvTEkU7JFxyqdMAOgf+Ilhl0vHQXKO5dZoxd+C/jEtq56c4F3wk71RB4BMRQ2XdI+bwYQ==", - "os": ["freebsd"], - "cpu": ["arm64"] - }, - "@typescript/typescript-freebsd-x64@7.0.2": { - "integrity": "sha512-UMGDx5sTpzNw3WiPebH7l90IWfJggEd+egHt/q6p7/Cm3zqoV7VxkGXt+3DxPIw8CcmvAB0j3sVVfbhX+M4Tpw==", - "os": ["freebsd"], - "cpu": ["x64"] - }, - "@typescript/typescript-linux-arm64@7.0.2": { - "integrity": "sha512-Qh4eU4/y3yDjnfjjyPYihMj5/ODIlmt+Bzu17OI+fiSRDW57QmU5SiN63exPRNJPKUzcc1INa1NXdrJ+MqHjUQ==", - "os": ["linux"], - "cpu": ["arm64"] - }, - "@typescript/typescript-linux-arm@7.0.2": { - "integrity": "sha512-gffT3xPz9sR7j/YJExkyPntrI0P2EP9XbOyWzth2/Gs0RstK+90RBcO0ncXoXy/beYll1SXw846Nf2zdnEz0QQ==", - "os": ["linux"], - "cpu": ["arm"] - }, - "@typescript/typescript-linux-loong64@7.0.2": { - "integrity": "sha512-uEHck9i8hoAzXPiYRib1O7miOnz23SxIeVl6F4LXox+qov1K35jHcEW6VHKvZI+pyvl7fZEP4MCU5LYvIq1GuQ==", - "os": ["linux"], - "cpu": ["loong64"] - }, - "@typescript/typescript-linux-mips64el@7.0.2": { - "integrity": "sha512-R4KvAMnE43W5Qeqb0Ly56O3mWMWIAgsMyz36DCaycd5nbg/9kzm0liw3JocfRqyJY0KPmzFjbswozXyW0DnIYA==", - "os": ["linux"], - "cpu": ["mips64el"] - }, - "@typescript/typescript-linux-ppc64@7.0.2": { - "integrity": "sha512-DORx5b3sd/4S7eayxm4FQv+A7CrkUIGRaHiwI8oiHTAI1fAPWhF4J0vAlkC8biAlHSVVwxMQ3tjZ2/DVbnQiiA==", - "os": ["linux"], - "cpu": ["ppc64"] - }, - "@typescript/typescript-linux-riscv64@7.0.2": { - "integrity": "sha512-wf0jqEDOjrPRnKwYRyyJDRo11KMbvMFrU+q4zqKyChODBzvlkbhNQfKvLxQCcwTpdDaXSHZTVuh0JoCrKCUMHQ==", - "os": ["linux"], - "cpu": ["riscv64"] - }, - "@typescript/typescript-linux-s390x@7.0.2": { - "integrity": "sha512-IkwJc3L7yhytWd/ewjyxNDfOmswCm9GWMJT/ue/dU4aZNbwZeYAetq42VyLmsmSjvoX7z74X6ZaYCtzAr0EuGw==", - "os": ["linux"], - "cpu": ["s390x"] - }, - "@typescript/typescript-linux-x64@7.0.2": { - "integrity": "sha512-EYdf2cNg7rgCWJnxCdJ+F3V39O8ihb37eHAu1LK8oAFizgTQbPOK7zHHXbPt8rX24COqODXeI3sIf0fCXG7H/A==", - "os": ["linux"], - "cpu": ["x64"] - }, - "@typescript/typescript-netbsd-arm64@7.0.2": { - "integrity": "sha512-+polYF4MF04aPpO5FTkHran9yUQDSXqy5GiSDKpsll5jy3l3+g9QLhpf39T+ePtefhXLOGrLl0QIjkQP6VnelA==", - "os": ["netbsd"], - "cpu": ["arm64"] - }, - "@typescript/typescript-netbsd-x64@7.0.2": { - "integrity": "sha512-8YIT0EHM/3dq10ZOVF/A7pc/YSMtbcecct4rWtexrnSCHOPcpC2KTLXfTCR6vDpnSiY12heNb1GiN/wu+T/FyA==", - "os": ["netbsd"], - "cpu": ["x64"] - }, - "@typescript/typescript-openbsd-arm64@7.0.2": { - "integrity": "sha512-APT8+ClYnuYm1u9+kgGXoMj2VzWzcymwh2gNSQVySHfkRDGOTVkoWLjCmOQSaO+PoqQ57B0flRp9SA+7GnnkzQ==", - "os": ["openbsd"], - "cpu": ["arm64"] - }, - "@typescript/typescript-openbsd-x64@7.0.2": { - "integrity": "sha512-yX7s+Q0Dln0Dt9tEzZsAjXXR/+ytBM7AlglaqyeMPxQszJ1JhlJdZ6jLA+IzldHtflX81em7lDao1xXu+aRRkg==", - "os": ["openbsd"], - "cpu": ["x64"] - }, - "@typescript/typescript-sunos-x64@7.0.2": { - "integrity": "sha512-dLJDGaLZ1D4HPQn62u1n8mBDkJREwMsAkCdkwd4Ieqw+x3TUyTsqY0YiBCtE6H6OzzgGk3iuZ3vFWRS+E8/d1g==", - "os": ["sunos"], - "cpu": ["x64"] - }, - "@typescript/typescript-win32-arm64@7.0.2": { - "integrity": "sha512-Gyl1Vy6OsWesLzmq+EP0Fb7b4Nid5232AvcA2SFcdYreldpNtYFFofPjnt62y9hQy7VTaZp65ICJjuAQRaVcIQ==", - "os": ["win32"], - "cpu": ["arm64"] - }, - "@typescript/typescript-win32-x64@7.0.2": { - "integrity": "sha512-0BQ3HkAHHlKLSp1qRvf3SUhGpGsDuhB/jgFw75guyqbxJqEaS0Cw/VFO8i2nHglJUzQCRtMMR/IBAKE3ETMC4g==", - "os": ["win32"], - "cpu": ["x64"] - }, - "acorn@8.18.0": { - "integrity": "sha512-lGq+9yr1/GuAWaVYIHRjvvySG5/4VfKIvC8EWxStPdcDh/Ka7FG3twP6v4d5BkravUilhIAsG4Qj83t02LWUPQ==", - "bin": true - }, "asn1js@3.0.10": { "integrity": "sha512-S2s3aOytiKdFRdulw2qPE51MzjzVOisppcVv7jVFR+Kw0kxwvFrDcYA0h7Ndqbmj0HkMIXYWaoj7fli8kgx1eg==", "dependencies": [ @@ -544,36 +425,6 @@ "tslib@2.8.1" ] }, - "base64-js@1.5.1": { - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "bindings@1.5.0": { - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "dependencies": [ - "file-uri-to-path" - ] - }, - "bl@4.1.0": { - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dependencies": [ - "buffer", - "inherits", - "readable-stream" - ] - }, - "buffer@5.7.1": { - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dependencies": [ - "base64-js", - "ieee754" - ] - }, - "chownr@1.1.4": { - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" - }, - "chownr@3.0.0": { - "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==" - }, "cluster-key-slot@1.1.1": { "integrity": "sha512-rwHwUfXL40Chm1r08yrhU3qpUvdVlgkKNeyeGPOxnW8/SyVDvgRaed/Uz54AqWNaTCAThlj6QAs3TZcKI0xDEw==" }, @@ -583,59 +434,9 @@ "ms" ] }, - "decompress-response@6.0.0": { - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", - "dependencies": [ - "mimic-response" - ] - }, - "deep-extend@0.6.0": { - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" - }, "denque@2.1.0": { "integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==" }, - "detect-libc@2.1.2": { - "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==" - }, - "end-of-stream@1.4.5": { - "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", - "dependencies": [ - "once" - ] - }, - "expand-template@2.0.3": { - "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==" - }, - "file-uri-to-path@1.0.0": { - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" - }, - "fs-constants@1.0.0": { - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - }, - "fs-extra@11.4.0": { - "integrity": "sha512-EQsFzMUJkCKGr1ePqlYADkIUmHW1s3ZXr5Yqy6wbGrfUCphpl2maM/kyOIRA2HpP3AaFQTZXD4ldjek+nccddA==", - "dependencies": [ - "graceful-fs", - "jsonfile", - "universalify" - ] - }, - "github-from-package@0.0.0": { - "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==" - }, - "graceful-fs@4.2.11": { - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" - }, - "ieee754@1.2.1": { - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" - }, - "inherits@2.0.4": { - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ini@1.3.8": { - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - }, "ioredis@6.0.0": { "integrity": "sha512-f+Dtubxfpf6KYFq7WVXJoOLn0bk4TJrMrN9SzeE+jrWrCWj7XX3fA6vkryafhADX+GMymRxgDJDOI33COkJc0w==", "dependencies": [ @@ -647,96 +448,12 @@ "standard-as-callback" ] }, - "jsonfile@6.2.1": { - "integrity": "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==", - "dependencies": [ - "universalify" - ], - "optionalDependencies": [ - "graceful-fs" - ] - }, - "long@5.3.2": { - "integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==" - }, - "mimic-response@3.1.0": { - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==" - }, - "minimist@1.2.8": { - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" - }, - "minipass@7.1.3": { - "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==" - }, - "minizlib@3.1.0": { - "integrity": "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==", - "dependencies": [ - "minipass" - ] - }, - "mkdirp-classic@0.5.3": { - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" - }, "ms@2.1.3": { "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, - "napi-build-utils@2.0.0": { - "integrity": "sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==" - }, - "node-abi@3.95.0": { - "integrity": "sha512-T9iGctuocf0qIWFFOTxPzjT5q0SILqaBYXt272tlBHvTKC5+3JnkMirLxNJNkXHtFyBjU2Jx+NL4Zipr0B/c6Q==", - "dependencies": [ - "semver" - ] - }, - "node-addon-api@8.9.2": { - "integrity": "sha512-VijLXbi3UACN69I0JVXJsX4tjACjNoQDgv2gTF6sx2wWEi8tkSg2eX8p5gSIFi8z2+DL3oHmY6OyKce38SDolg==" - }, - "node-gyp-build@4.8.4": { - "integrity": "sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==", - "bin": true - }, - "once@1.4.0": { - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dependencies": [ - "wrappy" - ] - }, "postgres@3.4.4": { "integrity": "sha512-IbyN+9KslkqcXa8AO9fxpk97PA4pzewvpi2B3Dwy9u4zpV32QicaEdgmF3eSQUzdRk7ttDHQejNgAEr4XoeH4A==" }, - "prebuild-install@7.1.3": { - "integrity": "sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==", - "dependencies": [ - "detect-libc", - "expand-template", - "github-from-package", - "minimist", - "mkdirp-classic", - "napi-build-utils", - "node-abi", - "pump", - "rc", - "simple-get", - "tar-fs", - "tunnel-agent" - ], - "deprecated": true, - "bin": true - }, - "protobufjs@8.8.0": { - "integrity": "sha512-N3xhQ5yyBx3vQq4gubBfASzYhJGNzeDbjqBpu61g7UVylsN/qyffU96TKWD3GbbLOKF82VGNRNvv1+BFgE31Eg==", - "dependencies": [ - "long" - ] - }, - "pump@3.0.4": { - "integrity": "sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==", - "dependencies": [ - "end-of-stream", - "once" - ] - }, "pvtsutils@1.3.6": { "integrity": "sha512-PLgQXQ6H2FWCaeRak8vvk1GW462lMxB5s3Jm673N82zI4vqtVUPuZdffdZbPDFRoU8kAhItWFtPCWiPpp4/EDg==", "dependencies": [ @@ -746,119 +463,15 @@ "pvutils@1.2.0": { "integrity": "sha512-BbubeCEyTuQjVMakvJQ/Sxbc93F2pwmbsxONT/ZRrwU7Ua38d8unYTwXpTVLAKJ4BDuH9IGztCjQcd/N/39Dvg==" }, - "rc@1.2.8": { - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dependencies": [ - "deep-extend", - "ini", - "minimist", - "strip-json-comments" - ], - "bin": true - }, - "readable-stream@3.6.2": { - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dependencies": [ - "inherits", - "string_decoder", - "util-deprecate" - ] - }, "redis-errors@1.2.0": { "integrity": "sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==" }, "reflect-metadata@0.2.2": { "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==" }, - "safe-buffer@5.2.1": { - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - }, - "semver@7.8.5": { - "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", - "bin": true - }, - "simple-concat@1.0.1": { - "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==" - }, - "simple-get@4.0.1": { - "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", - "dependencies": [ - "decompress-response", - "once", - "simple-concat" - ] - }, - "sqlite3@6.0.1": { - "integrity": "sha512-X0czUUMG2tmSqJpEQa3tCuZSHKIx8PwM53vLZzKp/o6Rpy25fiVfjdbnZ988M8+O3ZWR1ih0K255VumCb3MAnQ==", - "dependencies": [ - "bindings", - "node-addon-api", - "prebuild-install", - "tar" - ], - "scripts": true - }, "standard-as-callback@2.1.0": { "integrity": "sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==" }, - "string_decoder@1.3.0": { - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dependencies": [ - "safe-buffer" - ] - }, - "strip-json-comments@2.0.1": { - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==" - }, - "tar-fs@2.1.5": { - "integrity": "sha512-OboTd8mmMhZDNPV+UjQcK9yKAatXu2aJ+r1w4im1Otd4M4fl2hwvdoXUxIYHFTHWK/3y3FarBP70v3vwmGlOxw==", - "dependencies": [ - "chownr@1.1.4", - "mkdirp-classic", - "pump", - "tar-stream" - ] - }, - "tar-stream@2.2.0": { - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "dependencies": [ - "bl", - "end-of-stream", - "fs-constants", - "inherits", - "readable-stream" - ] - }, - "tar@7.5.22": { - "integrity": "sha512-MFO/QzvtAOmJbkhOaCTvbGcFN9L9b+JunIsDwaKljSOdcLMea3NJ1k9Usz/rjdfSXTq4dfzfeS7W4p4YOAAHeA==", - "dependencies": [ - "@isaacs/fs-minipass", - "chownr@3.0.0", - "minipass", - "minizlib", - "yallist" - ] - }, - "tree-sitter-javascript@0.25.0_tree-sitter@0.25.1": { - "integrity": "sha512-1fCbmzAskZkxcZzN41sFZ2br2iqTYP3tKls1b/HKGNPQUVOpsUxpmGxdN/wMqAk3jYZnYBR1dd/y/0avMeU7dw==", - "dependencies": [ - "node-addon-api", - "node-gyp-build", - "tree-sitter" - ], - "optionalPeers": [ - "tree-sitter" - ], - "scripts": true - }, - "tree-sitter@0.25.1": { - "integrity": "sha512-mrcEdkYtHfrK1A6fs3O6FxkBo0Qig5XUXqHhxUOQu0bmPo00QF4XaSx4edpazdHwxnSCjlGKGgIqWdaN4dvTLA==", - "dependencies": [ - "node-addon-api", - "node-gyp-build" - ], - "scripts": true - }, "tslib@1.14.1": { "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, @@ -871,62 +484,11 @@ "tslib@1.14.1" ] }, - "tunnel-agent@0.6.0": { - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", - "dependencies": [ - "safe-buffer" - ] - }, - "typescript@7.0.2": { - "integrity": "sha512-8FYau96o3NKOhbjKi/qNvG/W5jhzxkbdm5sj9AbZ/5T5sWqn3hJgLfGx27sRKZWTvyzCP8dLRBTf5tBTSRVUNA==", - "optionalDependencies": [ - "@typescript/typescript-aix-ppc64", - "@typescript/typescript-darwin-arm64", - "@typescript/typescript-darwin-x64", - "@typescript/typescript-freebsd-arm64", - "@typescript/typescript-freebsd-x64", - "@typescript/typescript-linux-arm", - "@typescript/typescript-linux-arm64", - "@typescript/typescript-linux-loong64", - "@typescript/typescript-linux-mips64el", - "@typescript/typescript-linux-ppc64", - "@typescript/typescript-linux-riscv64", - "@typescript/typescript-linux-s390x", - "@typescript/typescript-linux-x64", - "@typescript/typescript-netbsd-arm64", - "@typescript/typescript-netbsd-x64", - "@typescript/typescript-openbsd-arm64", - "@typescript/typescript-openbsd-x64", - "@typescript/typescript-sunos-x64", - "@typescript/typescript-win32-arm64", - "@typescript/typescript-win32-x64" - ], - "bin": true - }, "undici@5.29.0": { "integrity": "sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==", "dependencies": [ "@fastify/busboy" ] - }, - "universalify@2.0.1": { - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==" - }, - "util-deprecate@1.0.2": { - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, - "web-tree-sitter@0.26.13": { - "integrity": "sha512-5bUZ7vbQ1kcondet96wzP974+JfCZDeQ7bTpacICm2nnvHpa5cO0ByRsoMcAhUP+743vpkb4m0BFlVSm+Ye9VA==" - }, - "wrappy@1.0.2": { - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, - "yallist@5.0.0": { - "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==" - }, - "yaml@2.9.0": { - "integrity": "sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==", - "bin": true } }, "remote": { @@ -1154,19 +716,6 @@ "npm:@connectrpc/connect-node@^1.4.0", "npm:@connectrpc/connect@^1.4.0" ], - "packageJson": { - "dependencies": [ - "npm:acorn@^8.18.0", - "npm:fs-extra@^11.4.0", - "npm:protobufjs@^8.8.0", - "npm:sqlite3@^6.0.1", - "npm:tree-sitter-javascript@0.25", - "npm:tree-sitter@~0.25.1", - "npm:typescript@^7.0.2", - "npm:web-tree-sitter@~0.26.13", - "npm:yaml@^2.9.0" - ] - }, "members": { "src": { "dependencies": [ diff --git a/forum/env/setup-fedora.sh b/forum/env/setup-fedora.sh deleted file mode 100755 index 08f35c1..0000000 --- a/forum/env/setup-fedora.sh +++ /dev/null @@ -1,17 +0,0 @@ -# 1. Install system compilers, libraries, and package managers -sudo dnf install -y clang clang-devel graphviz pipx nodejs - -# 2. Add local tool paths to ~/.bashrc and active shell -pipx ensurepath -export PATH="$HOME/.cargo/bin:$HOME/.local/bin:$PATH" -grep -q 'export PATH="\$HOME/.cargo/bin:\$HOME/.local/bin:\$PATH"' ~/.bashrc || \ - echo 'export PATH="$HOME/.cargo/bin:$HOME/.local/bin:$PATH"' >> ~/.bashrc - -# 3. Install CLI binaries -cargo install tree-sitter-cli -pipx install semgrep -pipx install mutmut -sudo npm install -g @sourcegraph/scip-typescript madge @stryker-mutator/core - -# 4. Verify all commands exist -tree-sitter --version && semgrep --version && scip-typescript --version && madge --version diff --git a/stryker.config.json b/stryker.config.json new file mode 100644 index 0000000..ca1f343 --- /dev/null +++ b/stryker.config.json @@ -0,0 +1,21 @@ +{ + "$schema": "./node_modules/@stryker-mutator/core/schema/stryker-schema.json", + "testRunner": "command", + "commandRunner": { + "command": "deno test --allow-all src/core/auth_guards.test.ts" + }, + "mutate": [ + "src/core/content_negotiation.ts" + ], + "ignorePatterns": [ + "tsconfig.json" + ], + "reporters": [ + "clear-text", + "json" + ], + "concurrency": 2, + "timeoutMS": 10000, + "coverageAnalysis": "off", + "tempDirName": ".stryker-tmp" +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..8b1d25d --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,19 @@ +{ + "compilerOptions": { + "target": "ESNext", + "module": "ESNext", + "moduleResolution": "Bundler", + "allowImportingTsExtensions": true, + "noEmit": true, + "jsx": "preserve", + "lib": ["ESNext", "DOM", "DOM.Iterable"], + "skipLibCheck": true + }, + "include": [ + "src/**/*", + "server/**/*", + "sdk/**/*", + "ui/**/*", + "*.ts" + ] +}