From d4aa3e8847fb7ff9910af733e9ce44f3a614e152 Mon Sep 17 00:00:00 2001 From: Dijana Pavlovic Date: Wed, 31 Jul 2024 18:03:13 +0200 Subject: [PATCH] Add Turborepo (#1062) * Add Turborepo * Update yarn.lock * Update test.yml * revert * fix * Update integration-tests package.json files * Update test scripts' names across the monorepo * Update turbo.json commands * Set continue-on-error in tests.yml * Fix things that unintentionally got deleted from master * Update .github/workflows/tests.yml Co-authored-by: Scott Trinh * Update .github/workflows/tests.yml Co-authored-by: Scott Trinh * Update package.jsons to use specific auth-core version * Remove edgedb proj init from tests.yml * Update base.json & client.json rules * Add resolveJsonModule to tsconfig base.json --------- Co-authored-by: Scott Trinh --- .github/workflows/tests.yml | 47 +- .gitignore | 2 + README.md | 2 +- deno.lock | 519 +++++++++++++++++++ integration-tests/legacy/package.json | 7 +- integration-tests/legacy/testRunner.ts | 2 +- integration-tests/legacy/tsconfig.json | 108 +--- integration-tests/lts/deno/deno.lock | 13 + integration-tests/lts/package.json | 10 +- integration-tests/lts/testRunner.ts | 2 +- integration-tests/lts/tsconfig.json | 108 +--- integration-tests/nightly/package.json | 9 +- integration-tests/nightly/testRunner.ts | 2 +- integration-tests/nightly/tsconfig.json | 108 +--- integration-tests/stable/package.json | 9 +- integration-tests/stable/testRunner.ts | 2 +- integration-tests/stable/tsconfig.json | 108 +--- package.json | 11 +- packages/ai/package.json | 9 +- packages/ai/tsconfig.json | 15 +- packages/auth-core/package.json | 9 +- packages/auth-core/test/core.test.ts | 31 +- packages/auth-core/tsconfig.json | 23 +- packages/auth-express/package.json | 11 +- packages/auth-express/tsconfig.json | 12 +- packages/auth-nextjs/package.json | 9 +- packages/auth-nextjs/tsconfig.json | 20 +- packages/auth-remix/package.json | 11 +- packages/auth-remix/tsconfig.json | 16 +- packages/auth-sveltekit/package.json | 11 +- packages/auth-sveltekit/tsconfig.json | 16 +- packages/create/package.json | 4 +- packages/create/tsconfig.json | 100 +--- packages/driver/buildDeno.ts | 4 +- packages/driver/jest.config.js | 2 +- packages/driver/package.json | 5 +- packages/driver/tsconfig.cli.json | 5 +- packages/driver/tsconfig.esm.json | 11 - packages/driver/tsconfig.json | 7 +- packages/edgeql-js/package.json | 4 +- packages/generate/package.json | 9 +- packages/generate/tsconfig.esm.json | 17 +- packages/generate/tsconfig.json | 9 +- tsconfig.json => packages/tsconfig/base.json | 16 +- packages/tsconfig/client.json | 19 + packages/tsconfig/package.json | 6 + turbo.json | 39 ++ yarn.lock | 47 ++ 48 files changed, 807 insertions(+), 759 deletions(-) create mode 100644 deno.lock delete mode 100644 packages/driver/tsconfig.esm.json rename tsconfig.json => packages/tsconfig/base.json (72%) create mode 100644 packages/tsconfig/client.json create mode 100644 packages/tsconfig/package.json create mode 100644 turbo.json diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 1804ad52b..e67fbe51a 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -61,30 +61,21 @@ jobs: with: deno-version: v1.x + - name: Install Turbo globally + run: | + yarn global add turbo + - name: Install dev deps run: | yarn --frozen-lockfile - name: Lint run: | - yarn run lint + yarn lint - name: Check format run: | - yarn run format - - - name: Build - run: | - yarn workspace edgedb build - yarn workspace @edgedb/generate build - yarn workspace @edgedb/auth-core build - yarn workspace @edgedb/ai build - - # Only typecheck the following since nothing depends on these packages - yarn workspace @edgedb/auth-remix run typecheck - yarn workspace @edgedb/auth-nextjs run typecheck - yarn workspace @edgedb/auth-express run typecheck - yarn workspace @edgedb/auth-sveltekit run typecheck + yarn format - name: Install EdgeDB uses: edgedb/setup-edgedb@6763b6de72782d9c2e5ecc1095986a1c707da68f @@ -96,42 +87,34 @@ jobs: run: | echo ACTIVE_EDGEDB_VERSION=$(edgedb query 'select sys::get_version_as_str()' -I test) >> $GITHUB_ENV - - name: Run query builder tests + - name: Run package tests run: | - yarn workspace @edgedb/generate test:ci + yarn ci:test - name: Run query builder integration tests legacy if: ${{ matrix.edgedb-version == '2' }} run: | - yarn workspace @edgedb/integration-legacy test:ci + turbo run ci:integration-test --filter=@edgedb/integration-legacy - name: Run query builder integration tests lts if: ${{ matrix.edgedb-version == '3' || matrix.edgedb-version == '4' || matrix.edgedb-version == 'stable' || matrix.edgedb-version == 'nightly' }} run: | - yarn workspace @edgedb/integration-lts test:ci - yarn workspace @edgedb/integration-lts run bench:types || echo "Benchmark types script failed, proceeding anyway." + turbo run ci:integration-test --filter=@edgedb/integration-lts + turbo run bench:types --filter=@edgedb/integration-lts || echo "Benchmark types script failed, proceeding anyway." - name: Run query builder integration tests stable if: ${{ matrix.edgedb-version == 'stable' || matrix.edgedb-version == 'nightly' }} run: | - yarn workspace @edgedb/integration-stable test:ci + turbo run ci:integration-test --filter=@edgedb/integration-stable - name: Run query builder integration tests nightly if: ${{ matrix.edgedb-version == 'nightly' }} run: | - yarn workspace @edgedb/integration-nightly test:ci - - - name: Run functional tests - run: | - yarn workspace edgedb test - - - name: Run create-app tests - run: | - yarn workspace @edgedb/create test + turbo run ci:integration-test --filter=@edgedb/integration-nightly - - name: Run @edgedb/ai tests + - name: Typecheck other packages run: | - yarn workspace @edgedb/ai test + yarn ci:typecheck # This job exists solely to act as the test job aggregate to be # targeted by branch policies. diff --git a/.gitignore b/.gitignore index 0f51f84b5..140976d86 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,5 @@ node_modules **/yarn-error.log .DS_Store .vscode + +.turbo diff --git a/README.md b/README.md index 8add272d8..8396979e3 100644 --- a/README.md +++ b/README.md @@ -125,7 +125,7 @@ await client.querySingle("select 2 + 2"); // => 4 // one element await client.querySingle( `select Movie { title } - filter .id = '2eb3bc76-a014-45dc-af66-2e6e8cc23e7e';` + filter .id = '2eb3bc76-a014-45dc-af66-2e6e8cc23e7e';`, ); // => { title: "Dune" } ``` diff --git a/deno.lock b/deno.lock new file mode 100644 index 000000000..b006f70bc --- /dev/null +++ b/deno.lock @@ -0,0 +1,519 @@ +{ + "version": "3", + "packages": { + "specifiers": { + "npm:@types/node": "npm:@types/node@18.16.19", + "npm:fast-check": "npm:fast-check@3.20.0", + "npm:typescript": "npm:typescript@5.5.4" + }, + "npm": { + "@types/node@18.16.19": { + "integrity": "sha512-IXl7o+R9iti9eBW4Wg2hx1xQDig183jj7YLn8F7udNceyfkbn1ZxmzZXuak20gR40D7pIkIY1kYGx5VIGbaHKA==", + "dependencies": {} + }, + "fast-check@3.20.0": { + "integrity": "sha512-pZIjqLpOZgdSLecec4GKC3Zq5702MZ34upMKxojnNVSWA0K64V3pXOBT1Wdsrc3AphLtzRBbsi8bRWF4TUGmUg==", + "dependencies": { + "pure-rand": "pure-rand@6.1.0" + } + }, + "pure-rand@6.1.0": { + "integrity": "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==", + "dependencies": {} + }, + "typescript@5.5.4": { + "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==", + "dependencies": {} + } + } + }, + "redirects": { + "https://deno.land/x/debug/mod.ts": "https://deno.land/x/debug@0.2.0/mod.ts", + "https://deno.land/x/expect/matchers.ts": "https://deno.land/x/expect@v0.4.0/matchers.ts", + "https://deno.land/x/expect/mod.ts": "https://deno.land/x/expect@v0.4.0/mod.ts" + }, + "remote": { + "https://deno.land/std@0.177.0/_util/asserts.ts": "178dfc49a464aee693a7e285567b3d0b555dc805ff490505a8aae34f9cfb1462", + "https://deno.land/std@0.177.0/_util/os.ts": "d932f56d41e4f6a6093d56044e29ce637f8dcc43c5a90af43504a889cf1775e3", + "https://deno.land/std@0.177.0/async/abortable.ts": "73acfb3ed7261ce0d930dbe89e43db8d34e017b063cf0eaa7d215477bf53442e", + "https://deno.land/std@0.177.0/async/deadline.ts": "c5facb0b404eede83e38bd2717ea8ab34faa2ffb20ef87fd261fcba32ba307aa", + "https://deno.land/std@0.177.0/async/debounce.ts": "adab11d04ca38d699444ac8a9d9856b4155e8dda2afd07ce78276c01ea5a4332", + "https://deno.land/std@0.177.0/async/deferred.ts": "42790112f36a75a57db4a96d33974a936deb7b04d25c6084a9fa8a49f135def8", + "https://deno.land/std@0.177.0/async/delay.ts": "73aa04cec034c84fc748c7be49bb15cac3dd43a57174bfdb7a4aec22c248f0dd", + "https://deno.land/std@0.177.0/async/mod.ts": "f04344fa21738e5ad6bea37a6bfffd57c617c2d372bb9f9dcfd118a1b622e576", + "https://deno.land/std@0.177.0/async/mux_async_iterator.ts": "70c7f2ee4e9466161350473ad61cac0b9f115cff4c552eaa7ef9d50c4cbb4cc9", + "https://deno.land/std@0.177.0/async/pool.ts": "fd082bd4aaf26445909889435a5c74334c017847842ec035739b4ae637ae8260", + "https://deno.land/std@0.177.0/async/retry.ts": "5efa3ba450ac0c07a40a82e2df296287b5013755d232049efd7ea2244f15b20f", + "https://deno.land/std@0.177.0/async/tee.ts": "47e42d35f622650b02234d43803d0383a89eb4387e1b83b5a40106d18ae36757", + "https://deno.land/std@0.177.0/bytes/index_of_needle.ts": "65c939607df609374c4415598fa4dad04a2f14c4d98cd15775216f0aaf597f24", + "https://deno.land/std@0.177.0/crypto/_fnv/fnv32.ts": "e4649dfdefc5c987ed53c3c25db62db771a06d9d1b9c36d2b5cf0853b8e82153", + "https://deno.land/std@0.177.0/crypto/_fnv/fnv64.ts": "bfa0e4702061fdb490a14e6bf5f9168a22fb022b307c5723499469bfefca555e", + "https://deno.land/std@0.177.0/crypto/_fnv/index.ts": "169c213eb75de2d6738c1ed66a8e5782bd222b70b187cc4e7fb7b73edfcf0927", + "https://deno.land/std@0.177.0/crypto/_fnv/util.ts": "accba12bfd80a352e32a872f87df2a195e75561f1b1304a4cb4f5a4648d288f9", + "https://deno.land/std@0.177.0/crypto/_wasm/lib/deno_std_wasm_crypto.generated.mjs": "5dedb7f9aa05f0e18ed017691c58df5f4686e4cbbd70368c6f896e5cca03f2b4", + "https://deno.land/std@0.177.0/crypto/_wasm/mod.ts": "e2df88236fc061eac7a89e8cb0b97843f5280b08b2a990e473b7397a3e566003", + "https://deno.land/std@0.177.0/crypto/crypto.ts": "d5ce53784ab7b1348095389426a7ea98536223fb143812ecb50724a0aa1ec657", + "https://deno.land/std@0.177.0/crypto/keystack.ts": "877ab0f19eb7d37ad6495190d3c3e39f58e9c52e0b6a966f82fd6df67ca55f90", + "https://deno.land/std@0.177.0/crypto/mod.ts": "885738e710868202d7328305b0c0c134e36a2d9c98ceab9513ea2442863c00eb", + "https://deno.land/std@0.177.0/crypto/timing_safe_equal.ts": "8d69ab611c67fe51b6127d97fcfb4d8e7d0e1b6b4f3e0cc4ab86744c3691f965", + "https://deno.land/std@0.177.0/crypto/to_hash_string.ts": "fe4e95239d7afb617f469bc2f76ff20f888ddb8d1385e0d92276f6e4d5a809d1", + "https://deno.land/std@0.177.0/encoding/base64.ts": "7de04c2f8aeeb41453b09b186480be90f2ff357613b988e99fabb91d2eeceba1", + "https://deno.land/std@0.177.0/encoding/base64url.ts": "3f1178f6446834457b16bfde8b559c1cd3481727fe384d3385e4a9995dc2d851", + "https://deno.land/std@0.177.0/encoding/hex.ts": "50f8c95b52eae24395d3dfcb5ec1ced37c5fe7610ef6fffdcc8b0fdc38e3b32f", + "https://deno.land/std@0.177.0/flags/mod.ts": "d1cdefa18472ef69858a17df5cf7c98445ed27ac10e1460183081303b0ebc270", + "https://deno.land/std@0.177.0/fmt/colors.ts": "938c5d44d889fb82eff6c358bea8baa7e85950a16c9f6dae3ec3a7a729164471", + "https://deno.land/std@0.177.0/fs/_util.ts": "65381f341af1ff7f40198cee15c20f59951ac26e51ddc651c5293e24f9ce6f32", + "https://deno.land/std@0.177.0/fs/copy.ts": "14214efd94fc3aa6db1e4af2b4b9578e50f7362b7f3725d5a14ad259a5df26c8", + "https://deno.land/std@0.177.0/fs/empty_dir.ts": "c3d2da4c7352fab1cf144a1ecfef58090769e8af633678e0f3fabaef98594688", + "https://deno.land/std@0.177.0/fs/ensure_dir.ts": "724209875497a6b4628dfb256116e5651c4f7816741368d6c44aab2531a1e603", + "https://deno.land/std@0.177.0/fs/ensure_file.ts": "c38602670bfaf259d86ca824a94e6cb9e5eb73757fefa4ebf43a90dd017d53d9", + "https://deno.land/std@0.177.0/fs/ensure_link.ts": "c0f5b2f0ec094ed52b9128eccb1ee23362a617457aa0f699b145d4883f5b2fb4", + "https://deno.land/std@0.177.0/fs/ensure_symlink.ts": "2955cc8332aeca9bdfefd05d8d3976b94e282b0f353392a71684808ed2ffdd41", + "https://deno.land/std@0.177.0/fs/eol.ts": "f1f2eb348a750c34500741987b21d65607f352cf7205f48f4319d417fff42842", + "https://deno.land/std@0.177.0/fs/exists.ts": "b8c8a457b71e9d7f29b9d2f87aad8dba2739cbe637e8926d6ba6e92567875f8e", + "https://deno.land/std@0.177.0/fs/expand_glob.ts": "45d17e89796a24bd6002e4354eda67b4301bb8ba67d2cac8453cdabccf1d9ab0", + "https://deno.land/std@0.177.0/fs/mod.ts": "bc3d0acd488cc7b42627044caf47d72019846d459279544e1934418955ba4898", + "https://deno.land/std@0.177.0/fs/move.ts": "4cb47f880e3f0582c55e71c9f8b1e5e8cfaacb5e84f7390781dd563b7298ec19", + "https://deno.land/std@0.177.0/fs/walk.ts": "ea95ffa6500c1eda6b365be488c056edc7c883a1db41ef46ec3bf057b1c0fe32", + "https://deno.land/std@0.177.0/node/_core.ts": "9a58c0ef98ee77e9b8fcc405511d1b37a003a705eb6a9b6e95f75434d8009adc", + "https://deno.land/std@0.177.0/node/_events.mjs": "d4ba4e629abe3db9f1b14659fd5c282b7da8b2b95eaf13238eee4ebb142a2448", + "https://deno.land/std@0.177.0/node/_next_tick.ts": "9a3cf107d59b019a355d3cf32275b4c6157282e4b68ea85b46a799cb1d379305", + "https://deno.land/std@0.177.0/node/_process/exiting.ts": "6e336180aaabd1192bf99ffeb0d14b689116a3dec1dfb34a2afbacd6766e98ab", + "https://deno.land/std@0.177.0/node/_process/process.ts": "c96bb1f6253824c372f4866ee006dcefda02b7050d46759736e403f862d91051", + "https://deno.land/std@0.177.0/node/_process/stdio.mjs": "cf17727eac8da3a665851df700b5aca6a12bacc3ebbf33e63e4b919f80ba44a6", + "https://deno.land/std@0.177.0/node/_process/streams.mjs": "408777fba99580567f3ee82ee584ca79012cc550f8dacb8c5ec633b58cd0c1ca", + "https://deno.land/std@0.177.0/node/_stream.mjs": "d6e2c86c1158ac65b4c2ca4fa019d7e84374ff12e21e2175345fe68c0823efe3", + "https://deno.land/std@0.177.0/node/_utils.ts": "7fd55872a0cf9275e3c080a60e2fa6d45b8de9e956ebcde9053e72a344185884", + "https://deno.land/std@0.177.0/node/buffer.ts": "85617be2063eccaf177dbb84c7580d1e32023724ed14bd9df4e453b152a26167", + "https://deno.land/std@0.177.0/node/events.ts": "d2de352d509de11a375e2cb397d6b98f5fed4e562fc1d41be33214903a38e6b0", + "https://deno.land/std@0.177.0/node/internal/buffer.mjs": "e92303a3cc6d9aaabcd270a937ad9319825d9ba08cb332650944df4562029b27", + "https://deno.land/std@0.177.0/node/internal/crypto/_keys.ts": "8f3c3b5a141aa0331a53c205e9338655f1b3b307a08085fd6ff6dda6f7c4190b", + "https://deno.land/std@0.177.0/node/internal/crypto/constants.ts": "544d605703053218499b08214f2e25cf4310651d535b7ab995891c4b7a217693", + "https://deno.land/std@0.177.0/node/internal/error_codes.ts": "8495e33f448a484518d76fa3d41d34fc20fe03c14b30130ad8e936b0035d4b8b", + "https://deno.land/std@0.177.0/node/internal/errors.ts": "1c699b8a3cb93174f697a348c004b1c6d576b66688eac8a48ebb78e65c720aae", + "https://deno.land/std@0.177.0/node/internal/fixed_queue.ts": "62bb119afa5b5ae8fc0c7048b50502347bec82e2588017d0b250c4671d6eff8f", + "https://deno.land/std@0.177.0/node/internal/hide_stack_frames.ts": "9dd1bad0a6e62a1042ce3a51eb1b1ecee2f246907bff44835f86e8f021de679a", + "https://deno.land/std@0.177.0/node/internal/net.ts": "5538d31b595ac63d4b3e90393168bc65ace2f332c3317cffa2fd780070b2d86c", + "https://deno.land/std@0.177.0/node/internal/normalize_encoding.mjs": "fd1d9df61c44d7196432f6e8244621468715131d18cc79cd299fc78ac549f707", + "https://deno.land/std@0.177.0/node/internal/options.ts": "888f267c3fe8f18dc7b2f2fbdbe7e4a0fd3302ff3e99f5d6645601e924f3e3fb", + "https://deno.land/std@0.177.0/node/internal/primordials.mjs": "a72d86b5aa55d3d50b8e916b6a59b7cc0dc5a31da8937114b4a113ad5aa08c74", + "https://deno.land/std@0.177.0/node/internal/process/per_thread.mjs": "10142bbb13978c2f8f79778ad90f3a67a8ea6d8d2970f3dfc6bf2c6fff0162a2", + "https://deno.land/std@0.177.0/node/internal/readline/callbacks.mjs": "bdb129b140c3b21b5e08cdc3d8e43517ad818ac03f75197338d665cca1cbaed3", + "https://deno.land/std@0.177.0/node/internal/readline/utils.mjs": "c3dbf3a97c01ed14052cca3848f09e2fc24818c1822ceed57c33b9f0840f3b87", + "https://deno.land/std@0.177.0/node/internal/streams/destroy.mjs": "b665fc71178919a34ddeac8389d162a81b4bc693ff7dc2557fa41b3a91011967", + "https://deno.land/std@0.177.0/node/internal/streams/end-of-stream.mjs": "a4fb1c2e32d58dff440d4e716e2c4daaa403b3095304a028bb428575cfeed716", + "https://deno.land/std@0.177.0/node/internal/streams/utils.mjs": "f2fe2e6bdc506da24c758970890cc2a21642045b129dee618bd3827c60dd9e33", + "https://deno.land/std@0.177.0/node/internal/util.mjs": "f7fe2e1ca5e66f550ad0856b9f5ee4d666f0c071fe212ea7fc7f37cfa81f97a5", + "https://deno.land/std@0.177.0/node/internal/util/inspect.mjs": "11d7c9cab514b8e485acc3978c74b837263ff9c08ae4537fa18ad56bae633259", + "https://deno.land/std@0.177.0/node/internal/util/types.ts": "0e587b44ec5e017cf228589fc5ce9983b75beece6c39409c34170cfad49d6417", + "https://deno.land/std@0.177.0/node/internal/validators.mjs": "e02f2b02dd072a5d623970292588d541204dc82207b4c58985d933a5f4b382e6", + "https://deno.land/std@0.177.0/node/internal_binding/_libuv_winerror.ts": "30c9569603d4b97a1f1a034d88a3f74800d5ea1f12fcc3d225c9899d4e1a518b", + "https://deno.land/std@0.177.0/node/internal_binding/_listen.ts": "c6038be47116f7755c01fd98340a0d1e8e66ef874710ab59ed3f5607d50d7a25", + "https://deno.land/std@0.177.0/node/internal_binding/_node.ts": "cb2389b0eab121df99853eb6a5e3a684e4537e065fb8bf2cca0cbf219ce4e32e", + "https://deno.land/std@0.177.0/node/internal_binding/_timingSafeEqual.ts": "7d9732464d3c669ff07713868ce5d25bc974a06112edbfb5f017fc3c70c0853e", + "https://deno.land/std@0.177.0/node/internal_binding/_utils.ts": "7c58a2fbb031a204dee9583ba211cf9c67922112fe77e7f0b3226112469e9fe1", + "https://deno.land/std@0.177.0/node/internal_binding/_winerror.ts": "3e8cfdfe22e89f13d2b28529bab35155e6b1730c0221ec5a6fc7077dc037be13", + "https://deno.land/std@0.177.0/node/internal_binding/ares.ts": "bdd34c679265a6c115a8cfdde000656837a0a0dcdb0e4c258e622e136e9c31b8", + "https://deno.land/std@0.177.0/node/internal_binding/async_wrap.ts": "0dc5ae64eea2c9e57ab17887ef1573922245167ffe38e3685c28d636f487f1b7", + "https://deno.land/std@0.177.0/node/internal_binding/buffer.ts": "31729e0537921d6c730ad0afea44a7e8a0a1044d070ade8368226cb6f7390c8b", + "https://deno.land/std@0.177.0/node/internal_binding/cares_wrap.ts": "9b7247772167f8ed56acd0244a232d9d50e8d7c9cfc379f77f3d54cecc2f32ab", + "https://deno.land/std@0.177.0/node/internal_binding/config.ts": "37d293009d1718205bf28e878e54a9f1ca24c1c320cee2416c20dc054104c6ea", + "https://deno.land/std@0.177.0/node/internal_binding/connection_wrap.ts": "7dd089ea46de38e4992d0f43a09b586e4cf04878fb06863c1cb8cb2ece7da521", + "https://deno.land/std@0.177.0/node/internal_binding/constants.ts": "21ff9d1ee71d0a2086541083a7711842fc6ae25e264dbf45c73815aadce06f4c", + "https://deno.land/std@0.177.0/node/internal_binding/contextify.ts": "37d293009d1718205bf28e878e54a9f1ca24c1c320cee2416c20dc054104c6ea", + "https://deno.land/std@0.177.0/node/internal_binding/credentials.ts": "37d293009d1718205bf28e878e54a9f1ca24c1c320cee2416c20dc054104c6ea", + "https://deno.land/std@0.177.0/node/internal_binding/crypto.ts": "29e8f94f283a2e7d4229d3551369c6a40c2af9737fad948cb9be56bef6c468cd", + "https://deno.land/std@0.177.0/node/internal_binding/errors.ts": "37d293009d1718205bf28e878e54a9f1ca24c1c320cee2416c20dc054104c6ea", + "https://deno.land/std@0.177.0/node/internal_binding/fs.ts": "37d293009d1718205bf28e878e54a9f1ca24c1c320cee2416c20dc054104c6ea", + "https://deno.land/std@0.177.0/node/internal_binding/fs_dir.ts": "37d293009d1718205bf28e878e54a9f1ca24c1c320cee2416c20dc054104c6ea", + "https://deno.land/std@0.177.0/node/internal_binding/fs_event_wrap.ts": "37d293009d1718205bf28e878e54a9f1ca24c1c320cee2416c20dc054104c6ea", + "https://deno.land/std@0.177.0/node/internal_binding/handle_wrap.ts": "adf0b8063da2c54f26edd5e8ec50296a4d38e42716a70a229f14654b17a071d9", + "https://deno.land/std@0.177.0/node/internal_binding/heap_utils.ts": "37d293009d1718205bf28e878e54a9f1ca24c1c320cee2416c20dc054104c6ea", + "https://deno.land/std@0.177.0/node/internal_binding/http_parser.ts": "37d293009d1718205bf28e878e54a9f1ca24c1c320cee2416c20dc054104c6ea", + "https://deno.land/std@0.177.0/node/internal_binding/icu.ts": "37d293009d1718205bf28e878e54a9f1ca24c1c320cee2416c20dc054104c6ea", + "https://deno.land/std@0.177.0/node/internal_binding/inspector.ts": "37d293009d1718205bf28e878e54a9f1ca24c1c320cee2416c20dc054104c6ea", + "https://deno.land/std@0.177.0/node/internal_binding/js_stream.ts": "37d293009d1718205bf28e878e54a9f1ca24c1c320cee2416c20dc054104c6ea", + "https://deno.land/std@0.177.0/node/internal_binding/messaging.ts": "37d293009d1718205bf28e878e54a9f1ca24c1c320cee2416c20dc054104c6ea", + "https://deno.land/std@0.177.0/node/internal_binding/mod.ts": "9fc65f7af1d35e2d3557539a558ea9ad7a9954eefafe614ad82d94bddfe25845", + "https://deno.land/std@0.177.0/node/internal_binding/module_wrap.ts": "37d293009d1718205bf28e878e54a9f1ca24c1c320cee2416c20dc054104c6ea", + "https://deno.land/std@0.177.0/node/internal_binding/native_module.ts": "37d293009d1718205bf28e878e54a9f1ca24c1c320cee2416c20dc054104c6ea", + "https://deno.land/std@0.177.0/node/internal_binding/natives.ts": "37d293009d1718205bf28e878e54a9f1ca24c1c320cee2416c20dc054104c6ea", + "https://deno.land/std@0.177.0/node/internal_binding/node_file.ts": "21edbbc95653e45514aff252b6cae7bf127a4338cbc5f090557d258aa205d8a5", + "https://deno.land/std@0.177.0/node/internal_binding/node_options.ts": "0b5cb0bf4379a39278d7b7bb6bb2c2751baf428fe437abe5ed3e8441fae1f18b", + "https://deno.land/std@0.177.0/node/internal_binding/options.ts": "37d293009d1718205bf28e878e54a9f1ca24c1c320cee2416c20dc054104c6ea", + "https://deno.land/std@0.177.0/node/internal_binding/os.ts": "37d293009d1718205bf28e878e54a9f1ca24c1c320cee2416c20dc054104c6ea", + "https://deno.land/std@0.177.0/node/internal_binding/performance.ts": "37d293009d1718205bf28e878e54a9f1ca24c1c320cee2416c20dc054104c6ea", + "https://deno.land/std@0.177.0/node/internal_binding/pipe_wrap.ts": "30e3a63954313f9d5bbc2ac02c7f9be4b1204c493e47f6e1b9c7366994e6ea6d", + "https://deno.land/std@0.177.0/node/internal_binding/process_methods.ts": "37d293009d1718205bf28e878e54a9f1ca24c1c320cee2416c20dc054104c6ea", + "https://deno.land/std@0.177.0/node/internal_binding/report.ts": "37d293009d1718205bf28e878e54a9f1ca24c1c320cee2416c20dc054104c6ea", + "https://deno.land/std@0.177.0/node/internal_binding/serdes.ts": "37d293009d1718205bf28e878e54a9f1ca24c1c320cee2416c20dc054104c6ea", + "https://deno.land/std@0.177.0/node/internal_binding/signal_wrap.ts": "37d293009d1718205bf28e878e54a9f1ca24c1c320cee2416c20dc054104c6ea", + "https://deno.land/std@0.177.0/node/internal_binding/spawn_sync.ts": "37d293009d1718205bf28e878e54a9f1ca24c1c320cee2416c20dc054104c6ea", + "https://deno.land/std@0.177.0/node/internal_binding/stream_wrap.ts": "452bff74d1db280a0cd78c75a95bb6d163e849e06e9638c4af405d40296bd050", + "https://deno.land/std@0.177.0/node/internal_binding/string_decoder.ts": "54c3c1cbd5a9254881be58bf22637965dc69535483014dab60487e299cb95445", + "https://deno.land/std@0.177.0/node/internal_binding/symbols.ts": "4dee2f3a400d711fd57fa3430b8de1fdb011e08e260b81fef5b81cc06ed77129", + "https://deno.land/std@0.177.0/node/internal_binding/task_queue.ts": "37d293009d1718205bf28e878e54a9f1ca24c1c320cee2416c20dc054104c6ea", + "https://deno.land/std@0.177.0/node/internal_binding/tcp_wrap.ts": "d298d855e862fc9a5c94e13ad982fde99f6d8a56620a4772681b7226f5a15c91", + "https://deno.land/std@0.177.0/node/internal_binding/timers.ts": "37d293009d1718205bf28e878e54a9f1ca24c1c320cee2416c20dc054104c6ea", + "https://deno.land/std@0.177.0/node/internal_binding/tls_wrap.ts": "37d293009d1718205bf28e878e54a9f1ca24c1c320cee2416c20dc054104c6ea", + "https://deno.land/std@0.177.0/node/internal_binding/trace_events.ts": "37d293009d1718205bf28e878e54a9f1ca24c1c320cee2416c20dc054104c6ea", + "https://deno.land/std@0.177.0/node/internal_binding/tty_wrap.ts": "37d293009d1718205bf28e878e54a9f1ca24c1c320cee2416c20dc054104c6ea", + "https://deno.land/std@0.177.0/node/internal_binding/types.ts": "2187595a58d2cf0134f4db6cc2a12bf777f452f52b15b6c3aed73fa072aa5fc3", + "https://deno.land/std@0.177.0/node/internal_binding/udp_wrap.ts": "b77d7024aef1282b9fe6e1f6c8064ab8a7b9ecbae0bc08a36f2b30dcbb1d2752", + "https://deno.land/std@0.177.0/node/internal_binding/url.ts": "37d293009d1718205bf28e878e54a9f1ca24c1c320cee2416c20dc054104c6ea", + "https://deno.land/std@0.177.0/node/internal_binding/util.ts": "808ff3b92740284184ab824adfc420e75398c88c8bccf5111f0c24ac18c48f10", + "https://deno.land/std@0.177.0/node/internal_binding/uv.ts": "eb0048e30af4db407fb3f95563e30d70efd6187051c033713b0a5b768593a3a3", + "https://deno.land/std@0.177.0/node/internal_binding/v8.ts": "37d293009d1718205bf28e878e54a9f1ca24c1c320cee2416c20dc054104c6ea", + "https://deno.land/std@0.177.0/node/internal_binding/worker.ts": "37d293009d1718205bf28e878e54a9f1ca24c1c320cee2416c20dc054104c6ea", + "https://deno.land/std@0.177.0/node/internal_binding/zlib.ts": "37d293009d1718205bf28e878e54a9f1ca24c1c320cee2416c20dc054104c6ea", + "https://deno.land/std@0.177.0/node/process.ts": "6608012d6d51a17a7346f36079c574b9b9f81f1b5c35436489ad089f39757466", + "https://deno.land/std@0.177.0/node/stream.ts": "09e348302af40dcc7dc58aa5e40fdff868d11d8d6b0cfb85cbb9c75b9fe450c7", + "https://deno.land/std@0.177.0/node/string_decoder.ts": "1a17e3572037c512cc5fc4b29076613e90f225474362d18da908cb7e5ccb7e88", + "https://deno.land/std@0.177.0/path/_constants.ts": "e49961f6f4f48039c0dfed3c3f93e963ca3d92791c9d478ac5b43183413136e0", + "https://deno.land/std@0.177.0/path/_interface.ts": "6471159dfbbc357e03882c2266d21ef9afdb1e4aa771b0545e90db58a0ba314b", + "https://deno.land/std@0.177.0/path/_util.ts": "d7abb1e0dea065f427b89156e28cdeb32b045870acdf865833ba808a73b576d0", + "https://deno.land/std@0.177.0/path/common.ts": "ee7505ab01fd22de3963b64e46cff31f40de34f9f8de1fff6a1bd2fe79380000", + "https://deno.land/std@0.177.0/path/glob.ts": "d479e0a695621c94d3fd7fe7abd4f9499caf32a8de13f25073451c6ef420a4e1", + "https://deno.land/std@0.177.0/path/mod.ts": "4b83694ac500d7d31b0cdafc927080a53dc0c3027eb2895790fb155082b0d232", + "https://deno.land/std@0.177.0/path/posix.ts": "8b7c67ac338714b30c816079303d0285dd24af6b284f7ad63da5b27372a2c94d", + "https://deno.land/std@0.177.0/path/separator.ts": "0fb679739d0d1d7bf45b68dacfb4ec7563597a902edbaf3c59b50d5bcadd93b1", + "https://deno.land/std@0.177.0/path/win32.ts": "d186344e5583bcbf8b18af416d13d82b35a317116e6460a5a3953508c3de5bba", + "https://deno.land/std@0.177.0/streams/write_all.ts": "3b2e1ce44913f966348ce353d02fa5369e94115181037cd8b602510853ec3033", + "https://deno.land/std@0.177.0/testing/_test_suite.ts": "30f018feeb3835f12ab198d8a518f9089b1bcb2e8c838a8b615ab10d5005465c", + "https://deno.land/std@0.177.0/testing/bdd.ts": "c5ca6d85940dbcc19b4d2bc3608d49ab65d81470aa91306d5efa4b0d5c945731", + "https://deno.land/std@0.208.0/assert/assert.ts": "9a97dad6d98c238938e7540736b826440ad8c1c1e54430ca4c4e623e585607ee", + "https://deno.land/std@0.208.0/assert/assertion_error.ts": "4d0bde9b374dfbcbe8ac23f54f567b77024fb67dbb1906a852d67fe050d42f56", + "https://deno.land/std@0.208.0/collections/_utils.ts": "5114abc026ddef71207a79609b984614e66a63a4bda17d819d56b0e72c51527e", + "https://deno.land/std@0.208.0/collections/deep_merge.ts": "9db788ba56cb05b65c77166b789e58e125dff159b7f41bf4d19dc1cba19ecb8b", + "https://deno.land/std@0.208.0/fs/_util.ts": "fbf57dcdc9f7bc8128d60301eece608246971a7836a3bb1e78da75314f08b978", + "https://deno.land/std@0.208.0/fs/copy.ts": "ca19e4837965914471df38fbd61e16f9e8adfe89f9cffb0c83615c83ea3fc2bf", + "https://deno.land/std@0.208.0/fs/empty_dir.ts": "7fba29ef2d03f3503cd512616efc0535984cf1bbe7ca9d098e8b4d0d88910120", + "https://deno.land/std@0.208.0/fs/ensure_dir.ts": "dc64c4c75c64721d4e3fb681f1382f803ff3d2868f08563ff923fdd20d071c40", + "https://deno.land/std@0.208.0/fs/ensure_file.ts": "39ac83cc283a20ec2735e956adf5de3e8a3334e0b6820547b5772f71c49ae083", + "https://deno.land/std@0.208.0/fs/ensure_link.ts": "c15e69c48556d78aae31b83e0c0ece04b7b8bc0951412f5b759aceb6fde7f0ac", + "https://deno.land/std@0.208.0/fs/ensure_symlink.ts": "b389c8568f0656d145ac7ece472afe710815cccbb2ebfd19da7978379ae143fe", + "https://deno.land/std@0.208.0/fs/eol.ts": "8565e1e076c5baced170236617150a7833668658e000205d896fc54084309ce1", + "https://deno.land/std@0.208.0/fs/exists.ts": "cb59a853d84871d87acab0e7936a4dac11282957f8e195102c5a7acb42546bb8", + "https://deno.land/std@0.208.0/fs/expand_glob.ts": "4f98c508fc9e40d6311d2f7fd88aaad05235cc506388c22dda315e095305811d", + "https://deno.land/std@0.208.0/fs/mod.ts": "bc3d0acd488cc7b42627044caf47d72019846d459279544e1934418955ba4898", + "https://deno.land/std@0.208.0/fs/move.ts": "b4f8f46730b40c32ea3c0bc8eb0fd0e8139249a698883c7b3756424cf19785c9", + "https://deno.land/std@0.208.0/fs/walk.ts": "c1e6b43f72a46e89b630140308bd51a4795d416a416b4cfb7cd4bd1e25946723", + "https://deno.land/std@0.208.0/path/_common/assert_path.ts": "061e4d093d4ba5aebceb2c4da3318bfe3289e868570e9d3a8e327d91c2958946", + "https://deno.land/std@0.208.0/path/_common/basename.ts": "0d978ff818f339cd3b1d09dc914881f4d15617432ae519c1b8fdc09ff8d3789a", + "https://deno.land/std@0.208.0/path/_common/common.ts": "9e4233b2eeb50f8b2ae10ecc2108f58583aea6fd3e8907827020282dc2b76143", + "https://deno.land/std@0.208.0/path/_common/constants.ts": "e49961f6f4f48039c0dfed3c3f93e963ca3d92791c9d478ac5b43183413136e0", + "https://deno.land/std@0.208.0/path/_common/dirname.ts": "2ba7fb4cc9fafb0f38028f434179579ce61d4d9e51296fad22b701c3d3cd7397", + "https://deno.land/std@0.208.0/path/_common/format.ts": "11aa62e316dfbf22c126917f5e03ea5fe2ee707386555a8f513d27ad5756cf96", + "https://deno.land/std@0.208.0/path/_common/from_file_url.ts": "ef1bf3197d2efbf0297a2bdbf3a61d804b18f2bcce45548ae112313ec5be3c22", + "https://deno.land/std@0.208.0/path/_common/glob_to_reg_exp.ts": "5c3c2b79fc2294ec803d102bd9855c451c150021f452046312819fbb6d4dc156", + "https://deno.land/std@0.208.0/path/_common/normalize.ts": "2ba7fb4cc9fafb0f38028f434179579ce61d4d9e51296fad22b701c3d3cd7397", + "https://deno.land/std@0.208.0/path/_common/normalize_string.ts": "88c472f28ae49525f9fe82de8c8816d93442d46a30d6bb5063b07ff8a89ff589", + "https://deno.land/std@0.208.0/path/_common/relative.ts": "1af19d787a2a84b8c534cc487424fe101f614982ae4851382c978ab2216186b4", + "https://deno.land/std@0.208.0/path/_common/strip_trailing_separators.ts": "7ffc7c287e97bdeeee31b155828686967f222cd73f9e5780bfe7dfb1b58c6c65", + "https://deno.land/std@0.208.0/path/_common/to_file_url.ts": "a8cdd1633bc9175b7eebd3613266d7c0b6ae0fb0cff24120b6092ac31662f9ae", + "https://deno.land/std@0.208.0/path/_interface.ts": "6471159dfbbc357e03882c2266d21ef9afdb1e4aa771b0545e90db58a0ba314b", + "https://deno.land/std@0.208.0/path/_os.ts": "30b0c2875f360c9296dbe6b7f2d528f0f9c741cecad2e97f803f5219e91b40a2", + "https://deno.land/std@0.208.0/path/basename.ts": "04bb5ef3e86bba8a35603b8f3b69537112cdd19ce64b77f2522006da2977a5f3", + "https://deno.land/std@0.208.0/path/common.ts": "f4d061c7d0b95a65c2a1a52439edec393e906b40f1caf4604c389fae7caa80f5", + "https://deno.land/std@0.208.0/path/dirname.ts": "88a0a71c21debafc4da7a4cd44fd32e899462df458fbca152390887d41c40361", + "https://deno.land/std@0.208.0/path/extname.ts": "2da4e2490f3b48b7121d19fb4c91681a5e11bd6bd99df4f6f47d7a71bb6ecdf2", + "https://deno.land/std@0.208.0/path/format.ts": "3457530cc85d1b4bab175f9ae73998b34fd456c830d01883169af0681b8894fb", + "https://deno.land/std@0.208.0/path/from_file_url.ts": "e7fa233ea1dff9641e8d566153a24d95010110185a6f418dd2e32320926043f8", + "https://deno.land/std@0.208.0/path/glob.ts": "a00a81a55c02bbe074ab21a50b6495c6f7795f54cd718c824adaa92c6c9b7419", + "https://deno.land/std@0.208.0/path/glob_to_regexp.ts": "74d7448c471e293d03f05ccb968df4365fed6aaa508506b6325a8efdc01d8271", + "https://deno.land/std@0.208.0/path/is_absolute.ts": "67232b41b860571c5b7537f4954c88d86ae2ba45e883ee37d3dec27b74909d13", + "https://deno.land/std@0.208.0/path/is_glob.ts": "567dce5c6656bdedfc6b3ee6c0833e1e4db2b8dff6e62148e94a917f289c06ad", + "https://deno.land/std@0.208.0/path/join.ts": "98d3d76c819af4a11a81d5ba2dbb319f1ce9d63fc2b615597d4bcfddd4a89a09", + "https://deno.land/std@0.208.0/path/join_globs.ts": "9b84d5103b63d3dbed4b2cf8b12477b2ad415c7d343f1488505162dc0e5f4db8", + "https://deno.land/std@0.208.0/path/mod.ts": "3defabebc98279e62b392fee7a6937adc932a8f4dcd2471441e36c15b97b00e0", + "https://deno.land/std@0.208.0/path/normalize.ts": "aa95be9a92c7bd4f9dc0ba51e942a1973e2b93d266cd74f5ca751c136d520b66", + "https://deno.land/std@0.208.0/path/normalize_glob.ts": "674baa82e1c00b6cb153bbca36e06f8e0337cb8062db6d905ab5de16076ca46b", + "https://deno.land/std@0.208.0/path/parse.ts": "d87ff0deef3fb495bc0d862278ff96da5a06acf0625ca27769fc52ac0d3d6ece", + "https://deno.land/std@0.208.0/path/posix/_util.ts": "ecf49560fedd7dd376c6156cc5565cad97c1abe9824f4417adebc7acc36c93e5", + "https://deno.land/std@0.208.0/path/posix/basename.ts": "a630aeb8fd8e27356b1823b9dedd505e30085015407caa3396332752f6b8406a", + "https://deno.land/std@0.208.0/path/posix/common.ts": "e781d395dc76f6282e3f7dd8de13194abb8b04a82d109593141abc6e95755c8b", + "https://deno.land/std@0.208.0/path/posix/dirname.ts": "f48c9c42cc670803b505478b7ef162c7cfa9d8e751b59d278b2ec59470531472", + "https://deno.land/std@0.208.0/path/posix/extname.ts": "ee7f6571a9c0a37f9218fbf510c440d1685a7c13082c348d701396cc795e0be0", + "https://deno.land/std@0.208.0/path/posix/format.ts": "b94876f77e61bfe1f147d5ccb46a920636cd3cef8be43df330f0052b03875968", + "https://deno.land/std@0.208.0/path/posix/from_file_url.ts": "b97287a83e6407ac27bdf3ab621db3fccbf1c27df0a1b1f20e1e1b5acf38a379", + "https://deno.land/std@0.208.0/path/posix/glob_to_regexp.ts": "6ed00c71fbfe0ccc35977c35444f94e82200b721905a60bd1278b1b768d68b1a", + "https://deno.land/std@0.208.0/path/posix/is_absolute.ts": "159900a3422d11069d48395568217eb7fc105ceda2683d03d9b7c0f0769e01b8", + "https://deno.land/std@0.208.0/path/posix/is_glob.ts": "ec4fbc604b9db8487f7b56ab0e759b24a971ab6a45f7b0b698bc39b8b9f9680f", + "https://deno.land/std@0.208.0/path/posix/join.ts": "0c0d84bdc344876930126640011ec1b888e6facf74153ffad9ef26813aa2a076", + "https://deno.land/std@0.208.0/path/posix/join_globs.ts": "f4838d54b1f60a34a40625a3293f6e583135348be1b2974341ac04743cb26121", + "https://deno.land/std@0.208.0/path/posix/mod.ts": "f1b08a7f64294b7de87fc37190d63b6ce5b02889af9290c9703afe01951360ae", + "https://deno.land/std@0.208.0/path/posix/normalize.ts": "11de90a94ab7148cc46e5a288f7d732aade1d616bc8c862f5560fa18ff987b4b", + "https://deno.land/std@0.208.0/path/posix/normalize_glob.ts": "10a1840c628ebbab679254d5fa1c20e59106102354fb648a1765aed72eb9f3f9", + "https://deno.land/std@0.208.0/path/posix/parse.ts": "199208f373dd93a792e9c585352bfc73a6293411bed6da6d3bc4f4ef90b04c8e", + "https://deno.land/std@0.208.0/path/posix/relative.ts": "e2f230608b0f083e6deaa06e063943e5accb3320c28aef8d87528fbb7fe6504c", + "https://deno.land/std@0.208.0/path/posix/resolve.ts": "51579d83159d5c719518c9ae50812a63959bbcb7561d79acbdb2c3682236e285", + "https://deno.land/std@0.208.0/path/posix/separator.ts": "0b6573b5f3269a3164d8edc9cefc33a02dd51003731c561008c8bb60220ebac1", + "https://deno.land/std@0.208.0/path/posix/to_file_url.ts": "08d43ea839ee75e9b8b1538376cfe95911070a655cd312bc9a00f88ef14967b6", + "https://deno.land/std@0.208.0/path/posix/to_namespaced_path.ts": "c9228a0e74fd37e76622cd7b142b8416663a9b87db643302fa0926b5a5c83bdc", + "https://deno.land/std@0.208.0/path/relative.ts": "23d45ede8b7ac464a8299663a43488aad6b561414e7cbbe4790775590db6349c", + "https://deno.land/std@0.208.0/path/resolve.ts": "5b184efc87155a0af9fa305ff68a109e28de9aee81fc3e77cd01380f19daf867", + "https://deno.land/std@0.208.0/path/separator.ts": "40a3e9a4ad10bef23bc2cd6c610291b6c502a06237c2c4cd034a15ca78dedc1f", + "https://deno.land/std@0.208.0/path/to_file_url.ts": "edaafa089e0bce386e1b2d47afe7c72e379ff93b28a5829a5885e4b6c626d864", + "https://deno.land/std@0.208.0/path/to_namespaced_path.ts": "cf8734848aac3c7527d1689d2adf82132b1618eff3cc523a775068847416b22a", + "https://deno.land/std@0.208.0/path/windows/_util.ts": "f32b9444554c8863b9b4814025c700492a2b57ff2369d015360970a1b1099d54", + "https://deno.land/std@0.208.0/path/windows/basename.ts": "8a9dbf7353d50afbc5b221af36c02a72c2d1b2b5b9f7c65bf6a5a2a0baf88ad3", + "https://deno.land/std@0.208.0/path/windows/common.ts": "e781d395dc76f6282e3f7dd8de13194abb8b04a82d109593141abc6e95755c8b", + "https://deno.land/std@0.208.0/path/windows/dirname.ts": "5c2aa541384bf0bd9aca821275d2a8690e8238fa846198ef5c7515ce31a01a94", + "https://deno.land/std@0.208.0/path/windows/extname.ts": "07f4fa1b40d06a827446b3e3bcc8d619c5546b079b8ed0c77040bbef716c7614", + "https://deno.land/std@0.208.0/path/windows/format.ts": "343019130d78f172a5c49fdc7e64686a7faf41553268961e7b6c92a6d6548edf", + "https://deno.land/std@0.208.0/path/windows/from_file_url.ts": "d53335c12b0725893d768be3ac6bf0112cc5b639d2deb0171b35988493b46199", + "https://deno.land/std@0.208.0/path/windows/glob_to_regexp.ts": "290755e18ec6c1a4f4d711c3390537358e8e3179581e66261a0cf348b1a13395", + "https://deno.land/std@0.208.0/path/windows/is_absolute.ts": "245b56b5f355ede8664bd7f080c910a97e2169972d23075554ae14d73722c53c", + "https://deno.land/std@0.208.0/path/windows/is_glob.ts": "ec4fbc604b9db8487f7b56ab0e759b24a971ab6a45f7b0b698bc39b8b9f9680f", + "https://deno.land/std@0.208.0/path/windows/join.ts": "e6600bf88edeeef4e2276e155b8de1d5dec0435fd526ba2dc4d37986b2882f16", + "https://deno.land/std@0.208.0/path/windows/join_globs.ts": "f4838d54b1f60a34a40625a3293f6e583135348be1b2974341ac04743cb26121", + "https://deno.land/std@0.208.0/path/windows/mod.ts": "d7040f461465c2c21c1c68fc988ef0bdddd499912138cde3abf6ad60c7fb3814", + "https://deno.land/std@0.208.0/path/windows/normalize.ts": "9deebbf40c81ef540b7b945d4ccd7a6a2c5a5992f791e6d3377043031e164e69", + "https://deno.land/std@0.208.0/path/windows/normalize_glob.ts": "344ff5ed45430495b9a3d695567291e50e00b1b3b04ea56712a2acf07ab5c128", + "https://deno.land/std@0.208.0/path/windows/parse.ts": "120faf778fe1f22056f33ded069b68e12447668fcfa19540c0129561428d3ae5", + "https://deno.land/std@0.208.0/path/windows/relative.ts": "026855cd2c36c8f28f1df3c6fbd8f2449a2aa21f48797a74700c5d872b86d649", + "https://deno.land/std@0.208.0/path/windows/resolve.ts": "5ff441ab18a2346abadf778121128ee71bda4d0898513d4639a6ca04edca366b", + "https://deno.land/std@0.208.0/path/windows/separator.ts": "ae21f27015f10510ed1ac4a0ba9c4c9c967cbdd9d9e776a3e4967553c397bd5d", + "https://deno.land/std@0.208.0/path/windows/to_file_url.ts": "8e9ea9e1ff364aa06fa72999204229952d0a279dbb876b7b838b2b2fea55cce3", + "https://deno.land/std@0.208.0/path/windows/to_namespaced_path.ts": "e0f4d4a5e77f28a5708c1a33ff24360f35637ba6d8f103d19661255ef7bfd50d", + "https://deno.land/std@0.208.0/toml/_parser.ts": "63d68503fc4e22dcc6b677126765e67fe570e62c86199874efd8b6c976dc2679", + "https://deno.land/std@0.208.0/toml/mod.ts": "b7127578e29155a91a45991e098a5478e6c61d0a4fbd2a99fd08b9043cab2ba1", + "https://deno.land/std@0.208.0/toml/parse.ts": "e900bafdf35d802519842a303e07a62ea5282186960b3474e8083509ab1c7f0d", + "https://deno.land/std@0.208.0/toml/stringify.ts": "be8c9182353f80234cf296ca26d4e605b4672e35a2aa0648cc942b5605d4bc1d", + "https://deno.land/std@0.69.0/encoding/base64.ts": "79c67b8a9d911eff89cafd84749587a2851a7bb3bed4e952f6cf4c2ff97ae120", + "https://deno.land/std@0.69.0/encoding/hex.ts": "8dc1489e66b22fec26950c7a55391b12be0d9f9a80cbc7b422700cdff85cd2f7", + "https://deno.land/std@0.69.0/encoding/utf8.ts": "8654fa820aa69a37ec5eb11908e20b39d056c9bf1c23ab294303ff467f3d50a1", + "https://deno.land/std@0.69.0/fmt/colors.ts": "ce9375edade12ca09c257743f223fc469d72578d0c74a55cbf1a34f6198ce3df", + "https://deno.land/std@0.69.0/hash/_wasm/hash.ts": "005f64c4d9343ecbc91e0da9ae5e800f146c20930ad829bbb872c5c06bd89c5f", + "https://deno.land/std@0.69.0/hash/_wasm/wasm.js": "10c91f7551443bd49b8ced10df7d5c2ce9a447d224eccc6d51f77730e074cdfe", + "https://deno.land/std@0.69.0/hash/mod.ts": "e764a6a9ab2f5519a97f928e17cc13d984e3dd5c7f742ff9c1c8fb3114790f0c", + "https://deno.land/std@0.97.0/fmt/colors.ts": "db22b314a2ae9430ae7460ce005e0a7130e23ae1c999157e3bb77cf55800f7e4", + "https://deno.land/std@0.97.0/testing/_diff.ts": "961eaf6d9f5b0a8556c9d835bbc6fa74f5addd7d3b02728ba7936ff93364f7a3", + "https://deno.land/std@0.97.0/testing/asserts.ts": "341292d12eebc44be4c3c2ca101ba8b6b5859cef2fa69d50c217f9d0bfbcfd1f", + "https://deno.land/x/debug@0.2.0/colors.ts": "a05af5a6bc4fabb79db34ca215f177f010eafe09a3cd2278e142a122bfab5585", + "https://deno.land/x/debug@0.2.0/debug.ts": "6378213af1826e6ad870d8ffb075336ce64ea33b472ea952a38fcd6b68ee54ec", + "https://deno.land/x/debug@0.2.0/deps.ts": "c00793c24e4d0a15c796c7ef3b9a9a3ac4ea06cad9ef7c68bcb538310e262ea0", + "https://deno.land/x/debug@0.2.0/format.ts": "e5c81071cdb2e529b2dc3aa379428217a49af45bf59b6511812e2bba9023f1bc", + "https://deno.land/x/debug@0.2.0/mod.ts": "32e961550c7358a88a9bb2606ac70eeb168305298f5ae1e9536018d8f0c54118", + "https://deno.land/x/expect@v0.4.0/expect.ts": "1d1856758a750f440d0b65d74f19e5d4829bb76d8e576d05546abd8e7b1dfb9e", + "https://deno.land/x/expect@v0.4.0/matchers.ts": "55acf74a3c4a308d079798930f05ab11da2080ec7acd53517193ca90d1296bf7", + "https://deno.land/x/expect@v0.4.0/mock.ts": "562d4b1d735d15b0b8e935f342679096b64fe452f86e96714fe8616c0c884914", + "https://deno.land/x/expect@v0.4.0/mod.ts": "0304d2430e1e96ba669a8495e24ba606dcc3d152e1f81aaa8da898cea24e36c2" + }, + "workspace": { + "packageJson": { + "dependencies": [ + "npm:@eslint/js@^9.3.0", + "npm:eslint@^9.3.0", + "npm:prettier@^3.2.5", + "npm:turbo@^2.0.7", + "npm:typescript-eslint@^8.0.0-alpha.22", + "npm:typescript@^5.5.2" + ] + }, + "members": { + "integration-tests/legacy": { + "packageJson": { + "dependencies": [ + "npm:@edgedb/generate", + "npm:@tsconfig/node-lts@^20.1.3", + "npm:@types/jest@^29.5.12", + "npm:@types/node@^20.12.13", + "npm:conditional-type-checks@^1.0.6", + "npm:edgedb", + "npm:jest@^29.7.0", + "npm:ts-jest@^29.1.4", + "npm:typescript@^5.5.2" + ] + } + }, + "integration-tests/lts": { + "packageJson": { + "dependencies": [ + "npm:@arktype/attest@^0.7.8", + "npm:@edgedb/generate", + "npm:@tsconfig/node-lts@^20.1.3", + "npm:@types/jest@^29.5.12", + "npm:@types/node@^20.12.13", + "npm:conditional-type-checks@^1.0.6", + "npm:edgedb", + "npm:fast-check@^3.19.0", + "npm:jest@^29.7.0", + "npm:superjson@1.13.3", + "npm:ts-jest@^29.1.4", + "npm:typescript@^5.5.2" + ] + } + }, + "integration-tests/nightly": { + "packageJson": { + "dependencies": [ + "npm:@edgedb/generate", + "npm:@tsconfig/node-lts@^20.1.3", + "npm:@types/jest@^29.5.12", + "npm:@types/node@^20.12.13", + "npm:conditional-type-checks@^1.0.6", + "npm:edgedb", + "npm:jest@^29.7.0", + "npm:ts-jest@^29.1.4", + "npm:typescript@^5.5.2" + ] + } + }, + "integration-tests/stable": { + "packageJson": { + "dependencies": [ + "npm:@edgedb/generate", + "npm:@tsconfig/node-lts@^20.1.3", + "npm:@types/jest@^29.5.12", + "npm:@types/node@^20.12.13", + "npm:conditional-type-checks@^1.0.6", + "npm:edgedb", + "npm:jest@^29.7.0", + "npm:ts-jest@^29.1.4", + "npm:typescript@^5.5.2" + ] + } + }, + "packages/ai": { + "packageJson": { + "dependencies": [ + "npm:@repo/tsconfig", + "npm:@types/jest@^29.5.12", + "npm:@types/node@^20.12.13", + "npm:edgedb", + "npm:jest@29.7.0", + "npm:ts-jest@29.1.4", + "npm:typescript@^5.5.2" + ] + } + }, + "packages/auth-core": { + "packageJson": { + "dependencies": [ + "npm:@repo/tsconfig", + "npm:@types/jest@^29.5.12", + "npm:@types/node@^20.12.13", + "npm:edgedb", + "npm:jest@29.7.0", + "npm:jwt-decode@^4.0.0", + "npm:ts-jest@29.1.4", + "npm:typescript@^5.5.2" + ] + } + }, + "packages/auth-express": { + "packageJson": { + "dependencies": [ + "npm:@edgedb/auth-core", + "npm:@repo/tsconfig", + "npm:@types/express@^4.17.21", + "npm:@types/node@^20.12.13", + "npm:edgedb", + "npm:express@^4.19.2", + "npm:typescript@^5.5.2" + ] + } + }, + "packages/auth-nextjs": { + "packageJson": { + "dependencies": [ + "npm:@edgedb/auth-core", + "npm:@repo/tsconfig", + "npm:@types/node@^20.12.13", + "npm:@types/react@^18.3.3", + "npm:edgedb", + "npm:next@14.2.3", + "npm:react@^18.3.1", + "npm:typescript@^5.5.2" + ] + } + }, + "packages/auth-remix": { + "packageJson": { + "dependencies": [ + "npm:@edgedb/auth-core", + "npm:@remix-run/server-runtime@^2.9.2", + "npm:@repo/tsconfig", + "npm:@types/node@^20.12.13", + "npm:cookie@^0.6.0", + "npm:edgedb", + "npm:typescript@^5.5.2" + ] + } + }, + "packages/auth-sveltekit": { + "packageJson": { + "dependencies": [ + "npm:@edgedb/auth-core", + "npm:@repo/tsconfig", + "npm:@sveltejs/kit@^2.5.10", + "npm:@types/node@^20.12.13", + "npm:edgedb", + "npm:svelte@^4.2.17", + "npm:typescript@^5.5.2", + "npm:vite@^5.2.12" + ] + } + }, + "packages/create": { + "packageJson": { + "dependencies": [ + "npm:@clack/prompts@^0.7.0", + "npm:@types/debug@^4.1.12", + "npm:@types/node@^20.12.13", + "npm:debug@^4.3.4", + "npm:picocolors@^1.0.1", + "npm:read-pkg@^9.0.1", + "npm:tsx@^4.11.0", + "npm:typescript@^5.5.2", + "npm:write-package@^7.0.1" + ] + } + }, + "packages/driver": { + "packageJson": { + "dependencies": [ + "npm:@js-temporal/polyfill@0.4.3", + "npm:@repo/tsconfig", + "npm:@types/jest@^29.5.12", + "npm:@types/semver@^7.5.8", + "npm:@types/shell-quote@^1.7.5", + "npm:@types/which@^3.0.3", + "npm:debug@^4.3.4", + "npm:env-paths@^3.0.0", + "npm:fast-check@^3.19.0", + "npm:get-stdin@^9.0.0", + "npm:globby@^14.0.1", + "npm:jest-environment-jsdom@^29.7.0", + "npm:jest@29.7.0", + "npm:semver@^7.6.2", + "npm:shell-quote@^1.8.1", + "npm:ts-jest@29.1.4", + "npm:tsx@^4.11.0", + "npm:typescript@^5.5.2", + "npm:which@^4.0.0" + ] + } + }, + "packages/generate": { + "packageJson": { + "dependencies": [ + "npm:@iarna/toml@^2.2.5", + "npm:@repo/tsconfig", + "npm:@types/jest@^29.5.12", + "npm:@types/node@^20.12.13", + "npm:conditional-type-checks@^1.0.6", + "npm:debug@^4.3.4", + "npm:edgedb", + "npm:esbuild@^0.21.4", + "npm:globby@^14.0.1", + "npm:jest@^29.7.0", + "npm:ts-jest@^29.1.4", + "npm:typescript@^5.5.2" + ] + } + } + } + } +} diff --git a/integration-tests/legacy/package.json b/integration-tests/legacy/package.json index a3b97f170..720cbc302 100644 --- a/integration-tests/legacy/package.json +++ b/integration-tests/legacy/package.json @@ -3,16 +3,19 @@ "name": "@edgedb/integration-legacy", "version": "0.0.0", "scripts": { - "typecheck": "echo 'Integration tests, skipping typecheck...'", + "typecheck": "echo 'Integration tests - legacy, skipping typecheck...'", "generate": "../../packages/generate/dist/cli.js", "build": "echo 'Integration tests, no build output...'", "test": "NODE_OPTIONS=\"--experimental-vm-modules\" yarn generate edgeql-js && yarn generate queries --file && yarn generate interfaces && jest --detectOpenHandles --forceExit --passWithNoTests", - "test:ci": "tsx ./testRunner.ts" + "ci:integration-test": "tsx ./testRunner.ts" }, "devDependencies": { + "@edgedb/generate": "*", + "@tsconfig/node-lts": "^20.1.3", "@types/jest": "^29.5.12", "@types/node": "^20.12.13", "conditional-type-checks": "^1.0.6", + "edgedb": "*", "jest": "^29.7.0", "ts-jest": "^29.1.4", "typescript": "^5.5.2" diff --git a/integration-tests/legacy/testRunner.ts b/integration-tests/legacy/testRunner.ts index 26347febb..685628640 100644 --- a/integration-tests/legacy/testRunner.ts +++ b/integration-tests/legacy/testRunner.ts @@ -1,4 +1,4 @@ -import createClient from "../../packages/driver/src/index.node"; +import createClient from "edgedb"; import { shutdown, diff --git a/integration-tests/legacy/tsconfig.json b/integration-tests/legacy/tsconfig.json index c91b8818e..1a9da497e 100644 --- a/integration-tests/legacy/tsconfig.json +++ b/integration-tests/legacy/tsconfig.json @@ -1,110 +1,4 @@ { - "compilerOptions": { - /* Visit https://aka.ms/tsconfig to read more about this file */ - - /* Projects */ - // "incremental": true, /* Save .tsbuildinfo files to allow for incremental compilation of projects. */ - // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ - // "tsBuildInfoFile": "./.tsbuildinfo", /* Specify the path to .tsbuildinfo incremental compilation file. */ - // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects. */ - // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ - // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ - - /* Language and Environment */ - "target": "es2016", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ - // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ - // "jsx": "preserve", /* Specify what JSX code is generated. */ - // "experimentalDecorators": true, /* Enable experimental support for legacy experimental decorators. */ - // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ - // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'. */ - // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ - // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'. */ - // "reactNamespace": "", /* Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit. */ - // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ - // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ - // "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */ - - /* Modules */ - "module": "commonjs", /* Specify what module code is generated. */ - // "rootDir": "./", /* Specify the root folder within your source files. */ - // "moduleResolution": "node10", /* Specify how TypeScript looks up a file from a given module specifier. */ - // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ - // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ - // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ - // "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */ - // "types": [], /* Specify type package names to be included without being referenced in a source file. */ - // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ - // "moduleSuffixes": [], /* List of file name suffixes to search when resolving a module. */ - // "allowImportingTsExtensions": true, /* Allow imports to include TypeScript file extensions. Requires '--moduleResolution bundler' and either '--noEmit' or '--emitDeclarationOnly' to be set. */ - // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ - // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ - // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ - // "resolveJsonModule": true, /* Enable importing .json files. */ - // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ - // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ - - /* JavaScript Support */ - // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */ - // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ - // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */ - - /* Emit */ - // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ - // "declarationMap": true, /* Create sourcemaps for d.ts files. */ - // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ - // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ - // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ - // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output. */ - // "outDir": "./", /* Specify an output folder for all emitted files. */ - // "removeComments": true, /* Disable emitting comments. */ - // "noEmit": true, /* Disable emitting files from a compilation. */ - // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ - // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types. */ - // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ - // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ - // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ - // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ - // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ - // "newLine": "crlf", /* Set the newline character for emitting files. */ - // "stripInternal": true, /* Disable emitting declarations that have '@internal' in their JSDoc comments. */ - // "noEmitHelpers": true, /* Disable generating custom helper functions like '__extends' in compiled output. */ - // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ - // "preserveConstEnums": true, /* Disable erasing 'const enum' declarations in generated code. */ - // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ - // "preserveValueImports": true, /* Preserve unused imported values in the JavaScript output that would otherwise be removed. */ - - /* Interop Constraints */ - // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ - // "verbatimModuleSyntax": true, /* Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting. */ - // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ - "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ - // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ - "forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */ - - /* Type Checking */ - "strict": true, /* Enable all strict type-checking options. */ - // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied 'any' type. */ - // "strictNullChecks": true, /* When type checking, take into account 'null' and 'undefined'. */ - // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ - // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */ - // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ - // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */ - // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */ - // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ - // "noUnusedLocals": true, /* Enable error reporting when local variables aren't read. */ - // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read. */ - // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ - // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ - // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ - // "noUncheckedIndexedAccess": true, /* Add 'undefined' to a type when accessed using an index. */ - // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ - // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type. */ - // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ - // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ - - /* Completeness */ - // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ - "skipLibCheck": true /* Skip type checking all .d.ts files. */ - }, + "extends": "@tsconfig/node-lts/tsconfig.json", "include": ["./**/*.ts"] } diff --git a/integration-tests/lts/deno/deno.lock b/integration-tests/lts/deno/deno.lock index b00d69839..1a64c70ac 100644 --- a/integration-tests/lts/deno/deno.lock +++ b/integration-tests/lts/deno/deno.lock @@ -1,6 +1,7 @@ { "version": "3", "redirects": { + "https://deno.land/x/debug/mod.ts": "https://deno.land/x/debug@0.2.0/mod.ts", "https://deno.land/x/expect/matchers.ts": "https://deno.land/x/expect@v0.3.0/matchers.ts", "https://deno.land/x/expect/mod.ts": "https://deno.land/x/expect@v0.3.0/mod.ts" }, @@ -335,9 +336,21 @@ "https://deno.land/std@0.208.0/toml/mod.ts": "b7127578e29155a91a45991e098a5478e6c61d0a4fbd2a99fd08b9043cab2ba1", "https://deno.land/std@0.208.0/toml/parse.ts": "e900bafdf35d802519842a303e07a62ea5282186960b3474e8083509ab1c7f0d", "https://deno.land/std@0.208.0/toml/stringify.ts": "be8c9182353f80234cf296ca26d4e605b4672e35a2aa0648cc942b5605d4bc1d", + "https://deno.land/std@0.69.0/encoding/base64.ts": "79c67b8a9d911eff89cafd84749587a2851a7bb3bed4e952f6cf4c2ff97ae120", + "https://deno.land/std@0.69.0/encoding/hex.ts": "8dc1489e66b22fec26950c7a55391b12be0d9f9a80cbc7b422700cdff85cd2f7", + "https://deno.land/std@0.69.0/encoding/utf8.ts": "8654fa820aa69a37ec5eb11908e20b39d056c9bf1c23ab294303ff467f3d50a1", + "https://deno.land/std@0.69.0/fmt/colors.ts": "ce9375edade12ca09c257743f223fc469d72578d0c74a55cbf1a34f6198ce3df", + "https://deno.land/std@0.69.0/hash/_wasm/hash.ts": "005f64c4d9343ecbc91e0da9ae5e800f146c20930ad829bbb872c5c06bd89c5f", + "https://deno.land/std@0.69.0/hash/_wasm/wasm.js": "10c91f7551443bd49b8ced10df7d5c2ce9a447d224eccc6d51f77730e074cdfe", + "https://deno.land/std@0.69.0/hash/mod.ts": "e764a6a9ab2f5519a97f928e17cc13d984e3dd5c7f742ff9c1c8fb3114790f0c", "https://deno.land/std@0.97.0/fmt/colors.ts": "db22b314a2ae9430ae7460ce005e0a7130e23ae1c999157e3bb77cf55800f7e4", "https://deno.land/std@0.97.0/testing/_diff.ts": "961eaf6d9f5b0a8556c9d835bbc6fa74f5addd7d3b02728ba7936ff93364f7a3", "https://deno.land/std@0.97.0/testing/asserts.ts": "341292d12eebc44be4c3c2ca101ba8b6b5859cef2fa69d50c217f9d0bfbcfd1f", + "https://deno.land/x/debug@0.2.0/colors.ts": "a05af5a6bc4fabb79db34ca215f177f010eafe09a3cd2278e142a122bfab5585", + "https://deno.land/x/debug@0.2.0/debug.ts": "6378213af1826e6ad870d8ffb075336ce64ea33b472ea952a38fcd6b68ee54ec", + "https://deno.land/x/debug@0.2.0/deps.ts": "c00793c24e4d0a15c796c7ef3b9a9a3ac4ea06cad9ef7c68bcb538310e262ea0", + "https://deno.land/x/debug@0.2.0/format.ts": "e5c81071cdb2e529b2dc3aa379428217a49af45bf59b6511812e2bba9023f1bc", + "https://deno.land/x/debug@0.2.0/mod.ts": "32e961550c7358a88a9bb2606ac70eeb168305298f5ae1e9536018d8f0c54118", "https://deno.land/x/expect@v0.3.0/expect.ts": "5e6717eddc9df376f7b2c9be6403e016130bb2edbb1acd261a2d6ea9608ee196", "https://deno.land/x/expect@v0.3.0/matchers.ts": "a37ef4577739247af77a852cdcd69484f999a41ad86ec16bb63a88a7a47a2372", "https://deno.land/x/expect@v0.3.0/mock.ts": "562d4b1d735d15b0b8e935f342679096b64fe452f86e96714fe8616c0c884914", diff --git a/integration-tests/lts/package.json b/integration-tests/lts/package.json index b6649605f..6107b9285 100644 --- a/integration-tests/lts/package.json +++ b/integration-tests/lts/package.json @@ -3,9 +3,9 @@ "name": "@edgedb/integration-lts", "version": "0.0.0", "scripts": { - "typecheck": "echo 'Integration tests, skipping typecheck...'", - "generate": "../../packages/generate/dist/cli.js", + "typecheck": "echo 'Integration tests - lts, skipping typecheck...'", "build": "echo 'Integration tests, no build output...'", + "generate": "../../packages/generate/dist/cli.js", "test": "yarn test:ts && yarn test:non_ts", "test:ts": "pwd && yarn generate edgeql-js && yarn generate queries --file && yarn generate interfaces && NODE_OPTIONS=\"--experimental-vm-modules\" jest --detectOpenHandles --forceExit", "test:non_ts": "yarn test:esm && yarn test:cjs && yarn test:mts && yarn test:deno", @@ -13,11 +13,13 @@ "test:cjs": "yarn generate queries --target cjs --file cjs/queries && yarn generate edgeql-js --target cjs --output-dir cjs/edgeql-js && cd cjs && node test.js", "test:mts": "yarn generate queries --target mts --file mts/queries && yarn generate edgeql-js --target mts --output-dir mts/edgeql-js && cd mts && yarn build && node dist/test.js", "test:deno": "cd deno && deno task edgeql-js && deno task queries && deno task play", - "test:ci": "tsx ./testRunner.ts", + "ci:integration-test": "tsx ./testRunner.ts", "bench:types": "cd ../.. && tsx integration-tests/lts/bench.ts" }, "devDependencies": { "@arktype/attest": "^0.7.8", + "@edgedb/generate": "*", + "@tsconfig/node-lts": "^20.1.3", "@types/jest": "^29.5.12", "@types/node": "^20.12.13", "conditional-type-checks": "^1.0.6", @@ -27,7 +29,7 @@ "typescript": "^5.5.2" }, "dependencies": { - "edgedb": "^1.5.0", + "edgedb": "*", "fast-check": "^3.19.0" } } diff --git a/integration-tests/lts/testRunner.ts b/integration-tests/lts/testRunner.ts index 6473ef995..56e271f76 100644 --- a/integration-tests/lts/testRunner.ts +++ b/integration-tests/lts/testRunner.ts @@ -1,4 +1,4 @@ -import createClient from "../../packages/driver/src/index.node"; +import createClient from "edgedb"; import { shutdown, diff --git a/integration-tests/lts/tsconfig.json b/integration-tests/lts/tsconfig.json index eee5f803f..1a9da497e 100644 --- a/integration-tests/lts/tsconfig.json +++ b/integration-tests/lts/tsconfig.json @@ -1,110 +1,4 @@ { - "compilerOptions": { - /* Visit https://aka.ms/tsconfig to read more about this file */ - - /* Projects */ - // "incremental": true, /* Save .tsbuildinfo files to allow for incremental compilation of projects. */ - // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ - // "tsBuildInfoFile": "./.tsbuildinfo", /* Specify the path to .tsbuildinfo incremental compilation file. */ - // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects. */ - // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ - // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ - - /* Language and Environment */ - "target": "es2022", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ - // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ - // "jsx": "preserve", /* Specify what JSX code is generated. */ - // "experimentalDecorators": true, /* Enable experimental support for legacy experimental decorators. */ - // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ - // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'. */ - // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ - // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'. */ - // "reactNamespace": "", /* Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit. */ - // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ - // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ - // "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */ - - /* Modules */ - "module": "commonjs", /* Specify what module code is generated. */ - // "rootDir": "./", /* Specify the root folder within your source files. */ - // "moduleResolution": "node10", /* Specify how TypeScript looks up a file from a given module specifier. */ - // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ - // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ - // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ - // "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */ - // "types": [], /* Specify type package names to be included without being referenced in a source file. */ - // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ - // "moduleSuffixes": [], /* List of file name suffixes to search when resolving a module. */ - // "allowImportingTsExtensions": true, /* Allow imports to include TypeScript file extensions. Requires '--moduleResolution bundler' and either '--noEmit' or '--emitDeclarationOnly' to be set. */ - // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ - // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ - // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ - // "resolveJsonModule": true, /* Enable importing .json files. */ - // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ - // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ - - /* JavaScript Support */ - // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */ - // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ - // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */ - - /* Emit */ - // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ - // "declarationMap": true, /* Create sourcemaps for d.ts files. */ - // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ - // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ - // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ - // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output. */ - // "outDir": "./", /* Specify an output folder for all emitted files. */ - // "removeComments": true, /* Disable emitting comments. */ - // "noEmit": true, /* Disable emitting files from a compilation. */ - // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ - // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types. */ - // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ - // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ - // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ - // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ - // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ - // "newLine": "crlf", /* Set the newline character for emitting files. */ - // "stripInternal": true, /* Disable emitting declarations that have '@internal' in their JSDoc comments. */ - // "noEmitHelpers": true, /* Disable generating custom helper functions like '__extends' in compiled output. */ - // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ - // "preserveConstEnums": true, /* Disable erasing 'const enum' declarations in generated code. */ - // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ - // "preserveValueImports": true, /* Preserve unused imported values in the JavaScript output that would otherwise be removed. */ - - /* Interop Constraints */ - "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ - // "verbatimModuleSyntax": true, /* Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting. */ - // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ - "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ - // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ - "forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */ - - /* Type Checking */ - "strict": true, /* Enable all strict type-checking options. */ - // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied 'any' type. */ - // "strictNullChecks": true, /* When type checking, take into account 'null' and 'undefined'. */ - // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ - // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */ - // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ - // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */ - // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */ - // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ - // "noUnusedLocals": true, /* Enable error reporting when local variables aren't read. */ - // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read. */ - // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ - // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ - // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ - // "noUncheckedIndexedAccess": true, /* Add 'undefined' to a type when accessed using an index. */ - // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ - // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type. */ - // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ - // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ - - /* Completeness */ - // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ - "skipLibCheck": true /* Skip type checking all .d.ts files. */ - }, + "extends": "@tsconfig/node-lts/tsconfig.json", "include": ["./**/*.ts"] } diff --git a/integration-tests/nightly/package.json b/integration-tests/nightly/package.json index 175e13894..cb7b5b0fe 100644 --- a/integration-tests/nightly/package.json +++ b/integration-tests/nightly/package.json @@ -3,16 +3,19 @@ "name": "@edgedb/integration-nightly", "version": "0.0.0", "scripts": { - "typecheck": "echo 'Integration tests, skipping typecheck...'", - "generate": "../../packages/generate/dist/cli.js", + "typecheck": "echo 'Integration tests - nightly, skipping typecheck...'", "build": "echo 'Integration tests, no build output...'", + "generate": "../../packages/generate/dist/cli.js", "test": "NODE_OPTIONS=\"--experimental-vm-modules\" yarn generate edgeql-js && yarn generate queries --file && yarn generate interfaces && jest --detectOpenHandles --forceExit --passWithNoTests", - "test:ci": "tsx ./testRunner.ts" + "ci:integration-test": "tsx ./testRunner.ts" }, "devDependencies": { + "@edgedb/generate": "*", + "@tsconfig/node-lts": "^20.1.3", "@types/jest": "^29.5.12", "@types/node": "^20.12.13", "conditional-type-checks": "^1.0.6", + "edgedb": "*", "jest": "^29.7.0", "ts-jest": "^29.1.4", "typescript": "^5.5.2" diff --git a/integration-tests/nightly/testRunner.ts b/integration-tests/nightly/testRunner.ts index 26347febb..685628640 100644 --- a/integration-tests/nightly/testRunner.ts +++ b/integration-tests/nightly/testRunner.ts @@ -1,4 +1,4 @@ -import createClient from "../../packages/driver/src/index.node"; +import createClient from "edgedb"; import { shutdown, diff --git a/integration-tests/nightly/tsconfig.json b/integration-tests/nightly/tsconfig.json index c91b8818e..1a9da497e 100644 --- a/integration-tests/nightly/tsconfig.json +++ b/integration-tests/nightly/tsconfig.json @@ -1,110 +1,4 @@ { - "compilerOptions": { - /* Visit https://aka.ms/tsconfig to read more about this file */ - - /* Projects */ - // "incremental": true, /* Save .tsbuildinfo files to allow for incremental compilation of projects. */ - // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ - // "tsBuildInfoFile": "./.tsbuildinfo", /* Specify the path to .tsbuildinfo incremental compilation file. */ - // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects. */ - // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ - // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ - - /* Language and Environment */ - "target": "es2016", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ - // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ - // "jsx": "preserve", /* Specify what JSX code is generated. */ - // "experimentalDecorators": true, /* Enable experimental support for legacy experimental decorators. */ - // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ - // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'. */ - // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ - // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'. */ - // "reactNamespace": "", /* Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit. */ - // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ - // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ - // "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */ - - /* Modules */ - "module": "commonjs", /* Specify what module code is generated. */ - // "rootDir": "./", /* Specify the root folder within your source files. */ - // "moduleResolution": "node10", /* Specify how TypeScript looks up a file from a given module specifier. */ - // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ - // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ - // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ - // "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */ - // "types": [], /* Specify type package names to be included without being referenced in a source file. */ - // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ - // "moduleSuffixes": [], /* List of file name suffixes to search when resolving a module. */ - // "allowImportingTsExtensions": true, /* Allow imports to include TypeScript file extensions. Requires '--moduleResolution bundler' and either '--noEmit' or '--emitDeclarationOnly' to be set. */ - // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ - // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ - // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ - // "resolveJsonModule": true, /* Enable importing .json files. */ - // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ - // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ - - /* JavaScript Support */ - // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */ - // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ - // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */ - - /* Emit */ - // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ - // "declarationMap": true, /* Create sourcemaps for d.ts files. */ - // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ - // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ - // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ - // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output. */ - // "outDir": "./", /* Specify an output folder for all emitted files. */ - // "removeComments": true, /* Disable emitting comments. */ - // "noEmit": true, /* Disable emitting files from a compilation. */ - // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ - // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types. */ - // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ - // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ - // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ - // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ - // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ - // "newLine": "crlf", /* Set the newline character for emitting files. */ - // "stripInternal": true, /* Disable emitting declarations that have '@internal' in their JSDoc comments. */ - // "noEmitHelpers": true, /* Disable generating custom helper functions like '__extends' in compiled output. */ - // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ - // "preserveConstEnums": true, /* Disable erasing 'const enum' declarations in generated code. */ - // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ - // "preserveValueImports": true, /* Preserve unused imported values in the JavaScript output that would otherwise be removed. */ - - /* Interop Constraints */ - // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ - // "verbatimModuleSyntax": true, /* Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting. */ - // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ - "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ - // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ - "forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */ - - /* Type Checking */ - "strict": true, /* Enable all strict type-checking options. */ - // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied 'any' type. */ - // "strictNullChecks": true, /* When type checking, take into account 'null' and 'undefined'. */ - // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ - // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */ - // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ - // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */ - // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */ - // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ - // "noUnusedLocals": true, /* Enable error reporting when local variables aren't read. */ - // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read. */ - // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ - // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ - // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ - // "noUncheckedIndexedAccess": true, /* Add 'undefined' to a type when accessed using an index. */ - // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ - // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type. */ - // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ - // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ - - /* Completeness */ - // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ - "skipLibCheck": true /* Skip type checking all .d.ts files. */ - }, + "extends": "@tsconfig/node-lts/tsconfig.json", "include": ["./**/*.ts"] } diff --git a/integration-tests/stable/package.json b/integration-tests/stable/package.json index 17a2d5c88..dea8fcf31 100644 --- a/integration-tests/stable/package.json +++ b/integration-tests/stable/package.json @@ -3,16 +3,19 @@ "name": "@edgedb/integration-stable", "version": "0.0.0", "scripts": { - "typecheck": "echo 'Integration tests, skipping typecheck...'", - "generate": "../../packages/generate/dist/cli.js", + "typecheck": "echo 'Integration tests - stable, skipping typecheck...'", "build": "echo 'Integration tests, no build output...'", + "generate": "../../packages/generate/dist/cli.js", "test": "NODE_OPTIONS=\"--experimental-vm-modules\" yarn generate edgeql-js && yarn generate queries --file && yarn generate interfaces && jest --detectOpenHandles --forceExit --passWithNoTests", - "test:ci": "tsx ./testRunner.ts" + "ci:integration-test": "tsx ./testRunner.ts" }, "devDependencies": { + "@edgedb/generate": "*", + "@tsconfig/node-lts": "^20.1.3", "@types/jest": "^29.5.12", "@types/node": "^20.12.13", "conditional-type-checks": "^1.0.6", + "edgedb": "*", "jest": "^29.7.0", "ts-jest": "^29.1.4", "typescript": "^5.5.2" diff --git a/integration-tests/stable/testRunner.ts b/integration-tests/stable/testRunner.ts index 26347febb..685628640 100644 --- a/integration-tests/stable/testRunner.ts +++ b/integration-tests/stable/testRunner.ts @@ -1,4 +1,4 @@ -import createClient from "../../packages/driver/src/index.node"; +import createClient from "edgedb"; import { shutdown, diff --git a/integration-tests/stable/tsconfig.json b/integration-tests/stable/tsconfig.json index c91b8818e..1a9da497e 100644 --- a/integration-tests/stable/tsconfig.json +++ b/integration-tests/stable/tsconfig.json @@ -1,110 +1,4 @@ { - "compilerOptions": { - /* Visit https://aka.ms/tsconfig to read more about this file */ - - /* Projects */ - // "incremental": true, /* Save .tsbuildinfo files to allow for incremental compilation of projects. */ - // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ - // "tsBuildInfoFile": "./.tsbuildinfo", /* Specify the path to .tsbuildinfo incremental compilation file. */ - // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects. */ - // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ - // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ - - /* Language and Environment */ - "target": "es2016", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ - // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ - // "jsx": "preserve", /* Specify what JSX code is generated. */ - // "experimentalDecorators": true, /* Enable experimental support for legacy experimental decorators. */ - // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ - // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'. */ - // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ - // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'. */ - // "reactNamespace": "", /* Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit. */ - // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ - // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ - // "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */ - - /* Modules */ - "module": "commonjs", /* Specify what module code is generated. */ - // "rootDir": "./", /* Specify the root folder within your source files. */ - // "moduleResolution": "node10", /* Specify how TypeScript looks up a file from a given module specifier. */ - // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ - // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ - // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ - // "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */ - // "types": [], /* Specify type package names to be included without being referenced in a source file. */ - // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ - // "moduleSuffixes": [], /* List of file name suffixes to search when resolving a module. */ - // "allowImportingTsExtensions": true, /* Allow imports to include TypeScript file extensions. Requires '--moduleResolution bundler' and either '--noEmit' or '--emitDeclarationOnly' to be set. */ - // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ - // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ - // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ - // "resolveJsonModule": true, /* Enable importing .json files. */ - // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ - // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ - - /* JavaScript Support */ - // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */ - // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ - // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */ - - /* Emit */ - // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ - // "declarationMap": true, /* Create sourcemaps for d.ts files. */ - // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ - // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ - // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ - // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output. */ - // "outDir": "./", /* Specify an output folder for all emitted files. */ - // "removeComments": true, /* Disable emitting comments. */ - // "noEmit": true, /* Disable emitting files from a compilation. */ - // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ - // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types. */ - // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ - // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ - // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ - // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ - // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ - // "newLine": "crlf", /* Set the newline character for emitting files. */ - // "stripInternal": true, /* Disable emitting declarations that have '@internal' in their JSDoc comments. */ - // "noEmitHelpers": true, /* Disable generating custom helper functions like '__extends' in compiled output. */ - // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ - // "preserveConstEnums": true, /* Disable erasing 'const enum' declarations in generated code. */ - // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ - // "preserveValueImports": true, /* Preserve unused imported values in the JavaScript output that would otherwise be removed. */ - - /* Interop Constraints */ - // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ - // "verbatimModuleSyntax": true, /* Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting. */ - // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ - "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ - // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ - "forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */ - - /* Type Checking */ - "strict": true, /* Enable all strict type-checking options. */ - // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied 'any' type. */ - // "strictNullChecks": true, /* When type checking, take into account 'null' and 'undefined'. */ - // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ - // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */ - // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ - // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */ - // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */ - // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ - // "noUnusedLocals": true, /* Enable error reporting when local variables aren't read. */ - // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read. */ - // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ - // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ - // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ - // "noUncheckedIndexedAccess": true, /* Add 'undefined' to a type when accessed using an index. */ - // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ - // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type. */ - // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ - // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ - - /* Completeness */ - // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ - "skipLibCheck": true /* Skip type checking all .d.ts files. */ - }, + "extends": "@tsconfig/node-lts/tsconfig.json", "include": ["./**/*.ts"] } diff --git a/package.json b/package.json index b47896d4f..40792ad57 100644 --- a/package.json +++ b/package.json @@ -10,14 +10,19 @@ "@eslint/js": "^9.3.0", "eslint": "^9.3.0", "prettier": "^3.2.5", + "turbo": "^2.0.7", "typescript": "^5.5.2", "typescript-eslint": "^8.0.0-alpha.22" }, "scripts": { - "lint": "eslint --quiet", - "lint:fix": "eslint --fix", + "typecheck": "turbo run typecheck", + "build": "turbo run build", + "text": "turbo run test", + "lint": "turbo run lint", + "lint:fix": "turbo run lint:fix", "format": "prettier --check 'packages/*/(src|test)/**/*.(mts|ts)' 'integration-tests/*/*.(mts|ts)'", "format:fix": "prettier --write 'packages/*/(src|test)/**/*.(mts|ts)' 'integration-tests/*/*.(mts|ts)'", - "generate": "yarn workspace @edgedb/generate generate" + "ci:typecheck": "turbo run ci:typecheck", + "ci:test": "turbo run ci:test" } } diff --git a/packages/ai/package.json b/packages/ai/package.json index b55b82671..adc1f5f8d 100644 --- a/packages/ai/package.json +++ b/packages/ai/package.json @@ -29,15 +29,18 @@ "scripts": { "typecheck": "tsc --project tsconfig.json --noEmit", "test": "jest --detectOpenHandles --passWithNoTests", - "build": "tsc --project tsconfig.json" + "build": "tsc --project tsconfig.json", + "lint": "eslint --quiet", + "lint:fix": "eslint --fix" }, "devDependencies": { "@types/jest": "^29.5.12", "@types/node": "^20.12.13", - "edgedb": "^1.5.0", "jest": "29.7.0", "ts-jest": "29.1.4", - "typescript": "^5.5.2" + "typescript": "^5.5.2", + "edgedb": "*", + "@repo/tsconfig": "*" }, "peerDependencies": { "edgedb": "^1.5.0" diff --git a/packages/ai/tsconfig.json b/packages/ai/tsconfig.json index 376471769..fcef8b4e0 100644 --- a/packages/ai/tsconfig.json +++ b/packages/ai/tsconfig.json @@ -1,16 +1,7 @@ { + "extends": "@repo/tsconfig/client.json", "compilerOptions": { - "declarationDir": "./dist", - "outDir": "./dist", - "target": "es2022", - "module": "node16", - "declaration": true, - "strict": true, - "downlevelIteration": true, - "skipLibCheck": true, - "esModuleInterop": true, - "allowSyntheticDefaultImports": true, - "isolatedModules": true + "outDir": "./dist" }, - "include": ["src"] + "include": ["src/**/*"] } diff --git a/packages/auth-core/package.json b/packages/auth-core/package.json index 5ae856b6e..2590317a7 100644 --- a/packages/auth-core/package.json +++ b/packages/auth-core/package.json @@ -27,17 +27,20 @@ ], "scripts": { "typecheck": "tsc --project tsconfig.json --noEmit", - "test": "jest --detectOpenHandles", + "test": "echo 'No tests. Done.'", "build": "tsc --project tsconfig.json", + "lint": "eslint --quiet", + "lint:fix": "eslint --fix", "gen-consts": "node genConsts.js" }, "devDependencies": { "@types/jest": "^29.5.12", "@types/node": "^20.12.13", - "edgedb": "^1.5.0", "jest": "29.7.0", "ts-jest": "29.1.4", - "typescript": "^5.5.2" + "typescript": "^5.5.2", + "edgedb": "*", + "@repo/tsconfig": "*" }, "peerDependencies": { "edgedb": "^1.3.6" diff --git a/packages/auth-core/test/core.test.ts b/packages/auth-core/test/core.test.ts index d1109d318..4265ee86b 100644 --- a/packages/auth-core/test/core.test.ts +++ b/packages/auth-core/test/core.test.ts @@ -38,34 +38,21 @@ test("test password signup/signin flow", async () => { try { const auth = await Auth.create(client); - const signupToken = await auth.signupWithEmailPassword( + const signupResponse = await auth.signupWithEmailPassword( "test@example.edgedb.com", "supersecretpassword", + `${auth.baseUrl}/auth/emailpassword/verify`, ); - expect(typeof signupToken.auth_token).toBe("string"); - expect(typeof signupToken.identity_id).toBe("string"); - expect(signupToken.provider_refresh_token).toBeNull(); - expect(signupToken.provider_token).toBeNull(); + expect(signupResponse.status).toBe("verificationRequired"); + expect(typeof signupResponse.verifier).toBe("string"); await expect( - auth.signinWithEmailPassword("test@example.edgedb.com", "wrongpassword"), - ).rejects.toThrow(); - - const signinToken = await auth.signinWithEmailPassword( - "test@example.edgedb.com", - "supersecretpassword", - ); - - const identity = (await client.withGlobals({ - "ext::auth::client_token": signinToken.auth_token, - }).querySingle(` - select assert_single(global ext::auth::ClientTokenIdentity { - * - }) - `)) as any; - - expect(identity.id).toBe(signinToken.identity_id); + auth.signinWithEmailPassword( + "test@example.edgedb.com", + "supersecretpassword", + ), + ).rejects.toThrow("Email verification is required"); } finally { await client.close(); } diff --git a/packages/auth-core/tsconfig.json b/packages/auth-core/tsconfig.json index f42b194ef..fcef8b4e0 100644 --- a/packages/auth-core/tsconfig.json +++ b/packages/auth-core/tsconfig.json @@ -1,22 +1,7 @@ { + "extends": "@repo/tsconfig/client.json", "compilerOptions": { - "declarationDir": "./dist", - "outDir": "./dist", - "lib": [ - "ESNext" - ], - "target": "ESNext", - "module": "CommonJS", - "moduleResolution": "node", - "declaration": true, - "strict": true, - "downlevelIteration": true, - "skipLibCheck": true, - "esModuleInterop": true, - "allowSyntheticDefaultImports": true, - "isolatedModules": true + "outDir": "./dist" }, - "include": [ - "src" - ] -} \ No newline at end of file + "include": ["src/**/*"] +} diff --git a/packages/auth-express/package.json b/packages/auth-express/package.json index 8ae89e94e..77ecb43d1 100644 --- a/packages/auth-express/package.json +++ b/packages/auth-express/package.json @@ -28,14 +28,17 @@ }, "scripts": { "typecheck": "tsc --project tsconfig.json --noEmit", - "build": "tsc --project tsconfig.json" + "build": "tsc --project tsconfig.json", + "lint": "eslint --quiet", + "lint:fix": "eslint --fix" }, "devDependencies": { "@types/express": "^4.17.21", "@types/node": "^20.12.13", - "edgedb": "^1.5.0", "express": "^4.19.2", - "typescript": "^5.5.2" + "typescript": "^5.5.2", + "edgedb": "*", + "@repo/tsconfig": "*" }, "peerDependencies": { "cookie-parser": "^1.4.6", @@ -43,6 +46,6 @@ "express": "^4.18.2" }, "dependencies": { - "@edgedb/auth-core": "^0.2.0" + "@edgedb/auth-core": "^0.2.1" } } diff --git a/packages/auth-express/tsconfig.json b/packages/auth-express/tsconfig.json index fe1b9a16f..fcef8b4e0 100644 --- a/packages/auth-express/tsconfig.json +++ b/packages/auth-express/tsconfig.json @@ -1,13 +1,7 @@ { + "extends": "@repo/tsconfig/client.json", "compilerOptions": { - "outDir": "./dist", - "module": "node16", - "target": "es2020", - "strict": true, - "verbatimModuleSyntax": true, - "declaration": true + "outDir": "./dist" }, - "include": [ - "src" - ] + "include": ["src/**/*"] } diff --git a/packages/auth-nextjs/package.json b/packages/auth-nextjs/package.json index c4c01b463..100bc8c2e 100644 --- a/packages/auth-nextjs/package.json +++ b/packages/auth-nextjs/package.json @@ -20,15 +20,18 @@ }, "scripts": { "typecheck": "tsc --project tsconfig.json --noEmit", - "build": "tsc --project tsconfig.json" + "build": "tsc --project tsconfig.json", + "lint": "eslint --quiet", + "lint:fix": "eslint --fix" }, "devDependencies": { "@types/node": "^20.12.13", "@types/react": "^18.3.3", - "edgedb": "^1.5.0", "next": "14.2.3", "react": "^18.3.1", - "typescript": "^5.5.2" + "typescript": "^5.5.2", + "edgedb": "*", + "@repo/tsconfig": "*" }, "peerDependencies": { "edgedb": "^1.3.6", diff --git a/packages/auth-nextjs/tsconfig.json b/packages/auth-nextjs/tsconfig.json index c867dd42b..fcef8b4e0 100644 --- a/packages/auth-nextjs/tsconfig.json +++ b/packages/auth-nextjs/tsconfig.json @@ -1,21 +1,7 @@ { + "extends": "@repo/tsconfig/client.json", "compilerOptions": { - "declarationDir": "./dist", - "outDir": "./dist", - "lib": [ - "ESNext" - ], - "target": "ESNext", - "module": "Node16", - "declaration": true, - "strict": true, - "downlevelIteration": true, - "skipLibCheck": true, - "esModuleInterop": true, - "allowSyntheticDefaultImports": true, - "isolatedModules": true + "outDir": "./dist" }, - "include": [ - "src" - ] + "include": ["src/**/*"] } diff --git a/packages/auth-remix/package.json b/packages/auth-remix/package.json index 305882c85..8fc58d22a 100644 --- a/packages/auth-remix/package.json +++ b/packages/auth-remix/package.json @@ -16,18 +16,21 @@ ], "scripts": { "typecheck": "tsc --project tsconfig.json --noEmit", - "build": "tsc --project tsconfig.json" + "build": "tsc --project tsconfig.json", + "lint": "eslint --quiet", + "lint:fix": "eslint --fix" }, "devDependencies": { "@types/node": "^20.12.13", - "edgedb": "^1.5.0", - "typescript": "^5.5.2" + "typescript": "^5.5.2", + "edgedb": "*", + "@repo/tsconfig": "*" }, "peerDependencies": { "edgedb": "^1.3.6" }, "dependencies": { - "@edgedb/auth-core": "^0.2.0", + "@edgedb/auth-core": "^0.2.1", "@remix-run/server-runtime": "^2.9.2", "cookie": "^0.6.0" }, diff --git a/packages/auth-remix/tsconfig.json b/packages/auth-remix/tsconfig.json index 80d7d2d5c..fcef8b4e0 100644 --- a/packages/auth-remix/tsconfig.json +++ b/packages/auth-remix/tsconfig.json @@ -1,17 +1,7 @@ { + "extends": "@repo/tsconfig/client.json", "compilerOptions": { - "declarationDir": "./dist", - "outDir": "./dist", - "lib": ["ESNext"], - "target": "ESNext", - "module": "node16", - "declaration": true, - "strict": true, - "downlevelIteration": true, - "skipLibCheck": true, - "esModuleInterop": true, - "allowSyntheticDefaultImports": true, - "isolatedModules": true + "outDir": "./dist" }, - "include": ["src"] + "include": ["src/**/*"] } diff --git a/packages/auth-sveltekit/package.json b/packages/auth-sveltekit/package.json index c12590227..84e84dba3 100644 --- a/packages/auth-sveltekit/package.json +++ b/packages/auth-sveltekit/package.json @@ -16,21 +16,24 @@ ], "scripts": { "typecheck": "tsc --project tsconfig.json --noEmit", - "build": "tsc --project tsconfig.json" + "build": "tsc --project tsconfig.json", + "lint": "eslint --quiet", + "lint:fix": "eslint --fix" }, "devDependencies": { "@sveltejs/kit": "^2.5.10", "@types/node": "^20.12.13", - "edgedb": "^1.5.0", "svelte": "^4.2.17", "typescript": "^5.5.2", - "vite": "^5.2.12" + "vite": "^5.2.12", + "edgedb": "*", + "@repo/tsconfig": "*" }, "peerDependencies": { "edgedb": "^1.3.6" }, "dependencies": { - "@edgedb/auth-core": "^0.2.0" + "@edgedb/auth-core": "^0.2.1" }, "exports": { "./*": "./dist/*.js" diff --git a/packages/auth-sveltekit/tsconfig.json b/packages/auth-sveltekit/tsconfig.json index 80d7d2d5c..fcef8b4e0 100644 --- a/packages/auth-sveltekit/tsconfig.json +++ b/packages/auth-sveltekit/tsconfig.json @@ -1,17 +1,7 @@ { + "extends": "@repo/tsconfig/client.json", "compilerOptions": { - "declarationDir": "./dist", - "outDir": "./dist", - "lib": ["ESNext"], - "target": "ESNext", - "module": "node16", - "declaration": true, - "strict": true, - "downlevelIteration": true, - "skipLibCheck": true, - "esModuleInterop": true, - "allowSyntheticDefaultImports": true, - "isolatedModules": true + "outDir": "./dist" }, - "include": ["src"] + "include": ["src/**/*"] } diff --git a/packages/create/package.json b/packages/create/package.json index 0f0c1e429..487e60c7a 100644 --- a/packages/create/package.json +++ b/packages/create/package.json @@ -36,6 +36,8 @@ "typecheck": "tsc --project tsconfig.json --noEmit", "create": "tsx src/cli.ts", "build": "./build.sh", - "test": "tsc --noEmit" + "test": "tsc --noEmit", + "lint": "eslint --quiet", + "lint:fix": "eslint --fix" } } diff --git a/packages/create/tsconfig.json b/packages/create/tsconfig.json index e08c31eec..1ddc56d1b 100644 --- a/packages/create/tsconfig.json +++ b/packages/create/tsconfig.json @@ -1,109 +1,11 @@ { "compilerOptions": { - /* Visit https://aka.ms/tsconfig to read more about this file */ - - /* Projects */ - // "incremental": true, /* Save .tsbuildinfo files to allow for incremental compilation of projects. */ - // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ - // "tsBuildInfoFile": "./.tsbuildinfo", /* Specify the path to .tsbuildinfo incremental compilation file. */ - // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects. */ - // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ - // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ - - /* Language and Environment */ "target": "es2022" /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */, - // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ - // "jsx": "preserve", /* Specify what JSX code is generated. */ - // "experimentalDecorators": true, /* Enable experimental support for legacy experimental decorators. */ - // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ - // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'. */ - // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ - // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'. */ - // "reactNamespace": "", /* Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit. */ - // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ - // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ - // "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */ - - /* Modules */ "module": "node16" /* Specify what module code is generated. */, - // "rootDir": "./", /* Specify the root folder within your source files. */ - // "moduleResolution": "node10", /* Specify how TypeScript looks up a file from a given module specifier. */ - // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ - // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ - // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ - // "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */ - // "types": [], /* Specify type package names to be included without being referenced in a source file. */ - // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ - // "moduleSuffixes": [], /* List of file name suffixes to search when resolving a module. */ - // "allowImportingTsExtensions": true, /* Allow imports to include TypeScript file extensions. Requires '--moduleResolution bundler' and either '--noEmit' or '--emitDeclarationOnly' to be set. */ - // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ - // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ - // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ - // "resolveJsonModule": true, /* Enable importing .json files. */ - // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ - // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ - - /* JavaScript Support */ - // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */ - // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ - // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */ - - /* Emit */ - // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ - // "declarationMap": true, /* Create sourcemaps for d.ts files. */ - // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ - // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ - // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ - // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output. */ - "outDir": "./dist", /* Specify an output folder for all emitted files. */ - // "removeComments": true, /* Disable emitting comments. */ - // "noEmit": true, /* Disable emitting files from a compilation. */ - // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ - // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types. */ - // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ - // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ - // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ - // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ - // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ - // "newLine": "crlf", /* Set the newline character for emitting files. */ - // "stripInternal": true, /* Disable emitting declarations that have '@internal' in their JSDoc comments. */ - // "noEmitHelpers": true, /* Disable generating custom helper functions like '__extends' in compiled output. */ - // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ - // "preserveConstEnums": true, /* Disable erasing 'const enum' declarations in generated code. */ - // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ - // "preserveValueImports": true, /* Preserve unused imported values in the JavaScript output that would otherwise be removed. */ - - /* Interop Constraints */ - // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ - // "verbatimModuleSyntax": true, /* Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting. */ - // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ + "outDir": "dist" /* Specify an output folder for all emitted files. */, "esModuleInterop": true /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */, - // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ "forceConsistentCasingInFileNames": true /* Ensure that casing is correct in imports. */, - - /* Type Checking */ "strict": true /* Enable all strict type-checking options. */, - // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied 'any' type. */ - // "strictNullChecks": true, /* When type checking, take into account 'null' and 'undefined'. */ - // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ - // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */ - // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ - // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */ - // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */ - // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ - // "noUnusedLocals": true, /* Enable error reporting when local variables aren't read. */ - // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read. */ - // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ - // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ - // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ - // "noUncheckedIndexedAccess": true, /* Add 'undefined' to a type when accessed using an index. */ - // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ - // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type. */ - // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ - // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ - - /* Completeness */ - // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ "skipLibCheck": true /* Skip type checking all .d.ts files. */ }, "include": ["src/**/*"], diff --git a/packages/driver/buildDeno.ts b/packages/driver/buildDeno.ts index ec03aff89..5ff96a466 100644 --- a/packages/driver/buildDeno.ts +++ b/packages/driver/buildDeno.ts @@ -12,7 +12,7 @@ await run({ destDir: "../deno", destEntriesToClean: ["_src", "mod.ts"], sourceFilter: (path) => { - return !(/\/syntax\//.test(path) || /cli\.mts$/.test(path)); + return !/cli\.mts$/.test(path); }, pathRewriteRules: [ { match: /^src\/index.node.ts$/, replace: "mod.ts" }, @@ -76,5 +76,5 @@ await run({ // from: "test/globals.deno.ts", // }, ], - }) + }), ); diff --git a/packages/driver/jest.config.js b/packages/driver/jest.config.js index 712bee155..d7f7e0bca 100644 --- a/packages/driver/jest.config.js +++ b/packages/driver/jest.config.js @@ -3,5 +3,5 @@ module.exports = { testEnvironment: "node", testPathIgnorePatterns: ["./dist", "./test/deno/", "./qb"], globalSetup: "./test/globalSetup.ts", - globalTeardown: "./test/globalTeardown.ts" + globalTeardown: "./test/globalTeardown.ts", }; diff --git a/packages/driver/package.json b/packages/driver/package.json index cca926eec..ab8159319 100644 --- a/packages/driver/package.json +++ b/packages/driver/package.json @@ -37,7 +37,8 @@ "jest-environment-jsdom": "^29.7.0", "ts-jest": "29.1.4", "tsx": "^4.11.0", - "typescript": "^5.5.2" + "typescript": "^5.5.2", + "@repo/tsconfig": "*" }, "scripts": { "typecheck": "tsc --project tsconfig.json --noEmit", @@ -45,8 +46,8 @@ "build:cli": "tsc --project tsconfig.cli.json", "build:cjs": "tsc --project tsconfig.json", "build:deno": "deno run --unstable --allow-all ./buildDeno.ts", + "lint:fix": "tslint 'packages/*/src/**/*.ts'", "test": "NODE_OPTIONS='--experimental-global-webcrypto' npx jest --detectOpenHandles", - "lint": "tslint 'packages/*/src/**/*.ts'", "format": "prettier --write 'src/**/*.ts' 'test/**/*.ts'", "gen-errors": "edb gen-errors-json --client | node genErrors.mjs", "watch": "nodemon -e js,ts,tsx --ignore dist -x ", diff --git a/packages/driver/tsconfig.cli.json b/packages/driver/tsconfig.cli.json index 17acad0ad..b97d70180 100644 --- a/packages/driver/tsconfig.cli.json +++ b/packages/driver/tsconfig.cli.json @@ -1,11 +1,8 @@ { - "extends": "../../tsconfig.json", + "extends": "@repo/tsconfig/base.json", "compilerOptions": { - "module": "node16", - "moduleResolution": "node16", "outDir": "./dist", "declaration": false }, "include": ["src/cli.mts"] } - diff --git a/packages/driver/tsconfig.esm.json b/packages/driver/tsconfig.esm.json deleted file mode 100644 index 74ea3ea9e..000000000 --- a/packages/driver/tsconfig.esm.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "extends": "../../tsconfig.json", - "compilerOptions": { - "module": "es2015", - "outDir": "./dist/__esm", - "declaration": false, - "declarationDir": null - }, - "include": ["src/syntax"], - "exclude": ["**/*.deno.ts", "test/deno/*", "dist", "qb"] -} diff --git a/packages/driver/tsconfig.json b/packages/driver/tsconfig.json index adcac3d7f..508864bbe 100644 --- a/packages/driver/tsconfig.json +++ b/packages/driver/tsconfig.json @@ -1,10 +1,9 @@ { - "extends": "../../tsconfig.json", + "extends": "@repo/tsconfig/base.json", "compilerOptions": { - "declarationDir": "./dist", "outDir": "./dist", "downlevelIteration": true }, - "include": ["src"], - "exclude": ["src/cli.mts", "**/*.deno.ts", "dist"] + "include": ["src/**/*"], + "exclude": ["src/cli.mts", "src/**/*.deno.ts"] } diff --git a/packages/edgeql-js/package.json b/packages/edgeql-js/package.json index f5ff22ac7..5d632c634 100644 --- a/packages/edgeql-js/package.json +++ b/packages/edgeql-js/package.json @@ -17,7 +17,9 @@ "typecheck": "echo 'Skipping typecheck...'", "test": "echo 'No tests. Done.'", "build": "echo 'Building edgeql-js...'", - "edgeql-js": "./index.js" + "edgeql-js": "./index.js", + "lint": "eslint --quiet", + "lint:fix": "eslint --fix" }, "bin": "./index.js", "keywords": [] diff --git a/packages/generate/package.json b/packages/generate/package.json index 5d6d80d75..5bf4f778a 100644 --- a/packages/generate/package.json +++ b/packages/generate/package.json @@ -24,12 +24,13 @@ "@types/jest": "^29.5.12", "@types/node": "^20.12.13", "conditional-type-checks": "^1.0.6", - "edgedb": "^1.3.2", "esbuild": "^0.21.4", "globby": "^14.0.1", "jest": "^29.7.0", "ts-jest": "^29.1.4", - "typescript": "^5.5.2" + "typescript": "^5.5.2", + "edgedb": "*", + "@repo/tsconfig": "*" }, "dependencies": { "@iarna/toml": "^2.2.5", @@ -48,6 +49,8 @@ "watch": "nodemon --ignore dist --ignore dbschema/edgeql-js -x ", "generate": "./dist/cli.js", "test": "NODE_OPTIONS=\"--experimental-vm-modules\" yarn generate edgeql-js && yarn generate queries --file && yarn generate interfaces && jest --detectOpenHandles --forceExit", - "test:ci": "tsx test/testRunner.ts" + "ci:test": "tsx test/testRunner.ts", + "lint": "eslint --quiet", + "lint:fix": "eslint --fix" } } diff --git a/packages/generate/tsconfig.esm.json b/packages/generate/tsconfig.esm.json index 94d0aa933..2ca69adc8 100644 --- a/packages/generate/tsconfig.esm.json +++ b/packages/generate/tsconfig.esm.json @@ -1,18 +1,11 @@ { - "extends": "../../tsconfig.json", + "extends": "@repo/tsconfig/base.json", "compilerOptions": { "module": "es2015", + "moduleResolution": "node", "outDir": "./dist/__esm", - "declaration": false, - "declarationDir": null, + "downlevelIteration": true }, - "include": [ - "src", - ], - "exclude": [ - "**/*.deno.ts", - "test/deno/*", - "dist", - "qb", - ] + "include": ["src"], + "exclude": ["**/*.deno.ts", "test/deno/*", "dist", "qb"] } diff --git a/packages/generate/tsconfig.json b/packages/generate/tsconfig.json index fbb7af532..7a520d513 100644 --- a/packages/generate/tsconfig.json +++ b/packages/generate/tsconfig.json @@ -1,13 +1,10 @@ { - "extends": "../../tsconfig.json", + "extends": "@repo/tsconfig/base.json", "compilerOptions": { "declaration": true, "preserveSymlinks": true, "noUnusedLocals": false }, - "include": [ - "src", - "test", - "playground.ts" - ], + "include": ["**/*.ts"], + "exclude": [".turbo", "dist", "dbschema", "node_modules"] } diff --git a/tsconfig.json b/packages/tsconfig/base.json similarity index 72% rename from tsconfig.json rename to packages/tsconfig/base.json index df1931380..0c2758394 100644 --- a/tsconfig.json +++ b/packages/tsconfig/base.json @@ -1,19 +1,21 @@ { + "$schema": "https://json.schemastore.org/tsconfig", + "display": "Base", "compilerOptions": { + "lib": ["es2022"], "target": "es2022", - "lib": ["esnext"], - "module": "commonjs", - "moduleResolution": "node", + "strict": true, + "module": "node16", + "moduleResolution": "node16", + "esModuleInterop": true, + "isolatedModules": true, "declaration": true, + "noUnusedLocals": true, "noImplicitThis": true, - "strict": true, "removeComments": true, "stripInternal": true, - "isolatedModules": true, - "esModuleInterop": true, "noImplicitReturns": true, "noFallthroughCasesInSwitch": true, - "noUnusedLocals": true, "useDefineForClassFields": true, "resolveJsonModule": true } diff --git a/packages/tsconfig/client.json b/packages/tsconfig/client.json new file mode 100644 index 000000000..ea1b7048e --- /dev/null +++ b/packages/tsconfig/client.json @@ -0,0 +1,19 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "display": "Client", + "compilerOptions": { + "lib": ["es2022"], + "target": "es2022", + "strict": true, + "module": "node16", + "moduleResolution": "node16", + "skipLibCheck": true, + "esModuleInterop": true, + "isolatedModules": true, + "declaration": true, + "noUnusedLocals": true, + "removeComments": true, + "stripInternal": true, + "noFallthroughCasesInSwitch": true + } +} diff --git a/packages/tsconfig/package.json b/packages/tsconfig/package.json new file mode 100644 index 000000000..001ee0993 --- /dev/null +++ b/packages/tsconfig/package.json @@ -0,0 +1,6 @@ +{ + "name": "@repo/tsconfig", + "version": "0.0.0", + "private": true, + "license": "MIT" +} diff --git a/turbo.json b/turbo.json new file mode 100644 index 000000000..971c7b65a --- /dev/null +++ b/turbo.json @@ -0,0 +1,39 @@ +{ + "$schema": "https://turbo.build/schema.json", + "tasks": { + "lint": {}, + "lint:fix": {}, + "typecheck": { + "dependsOn": ["^typecheck"] + }, + "build": { + "dependsOn": ["^build"], + "outputs": ["dist/**"] + }, + "test": { + "dependsOn": ["build"] + }, + "ci:typecheck": { + "dependsOn": [ + "@edgedb/auth-nextjs#typecheck", + "@edgedb/auth-express#typecheck", + "@edgedb/auth-remix#typecheck", + "@edgedb/auth-sveltekit#typecheck" + ] + }, + "ci:test": { + "dependsOn": [ + "build", + "edgedb#test", + "@edgedb/auth-core#test", + "@edgedb/create#test", + "@edgedb/ai#test" + ], + "env": ["CI", "EDGEDB_SERVER_BIN"] + }, + "ci:integration-test": { + "dependsOn": ["build"], + "env": ["CI", "EDGEDB_SERVER_BIN"] + } + } +} diff --git a/yarn.lock b/yarn.lock index 904a7d45a..2f7533265 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1121,6 +1121,11 @@ resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== +"@tsconfig/node-lts@^20.1.3": + version "20.1.3" + resolved "https://registry.yarnpkg.com/@tsconfig/node-lts/-/node-lts-20.1.3.tgz#8cdf6fa6c593bf5e16e53134ed377627a58a746e" + integrity sha512-m3b7EP2U+h5tNSpaBMfcTuHmHn04wrgRPQQrfKt75YIPq6kPs2153/KfPHdqkEWGx5pEBvS6rnvToT+yTtC1iw== + "@types/babel__core@^7.1.14": version "7.20.5" resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017" @@ -4592,11 +4597,53 @@ tsx@^4.11.0: optionalDependencies: fsevents "~2.3.3" +turbo-darwin-64@2.0.9: + version "2.0.9" + resolved "https://registry.yarnpkg.com/turbo-darwin-64/-/turbo-darwin-64-2.0.9.tgz#dc7bb92060a41b92155195dba5850c9669fa765a" + integrity sha512-owlGsOaExuVGBUfrnJwjkL1BWlvefjSKczEAcpLx4BI7Oh6ttakOi+JyomkPkFlYElRpjbvlR2gP8WIn6M/+xQ== + +turbo-darwin-arm64@2.0.9: + version "2.0.9" + resolved "https://registry.yarnpkg.com/turbo-darwin-arm64/-/turbo-darwin-arm64-2.0.9.tgz#6e5ce2c0f03999c6ec0116d5525841107da3078b" + integrity sha512-XAXkKkePth5ZPPE/9G9tTnPQx0C8UTkGWmNGYkpmGgRr8NedW+HrPsi9N0HcjzzIH9A4TpNYvtiV+WcwdaEjKA== + +turbo-linux-64@2.0.9: + version "2.0.9" + resolved "https://registry.yarnpkg.com/turbo-linux-64/-/turbo-linux-64-2.0.9.tgz#e00e5e1b1cffab23c58888e7c397e108dc24fe2f" + integrity sha512-l9wSgEjrCFM1aG16zItBsZ206ZlhSSx1owB8Cgskfv0XyIXRGHRkluihiaxkp+UeU5WoEfz4EN5toc+ICA0q0w== + +turbo-linux-arm64@2.0.9: + version "2.0.9" + resolved "https://registry.yarnpkg.com/turbo-linux-arm64/-/turbo-linux-arm64-2.0.9.tgz#d240e4f0a784d03f1a79fd9e6c4e83abd9aa57c7" + integrity sha512-gRnjxXRne18B27SwxXMqL3fJu7jw/8kBrOBTBNRSmZZiG1Uu3nbnP7b4lgrA/bCku6C0Wligwqurvtpq6+nFHA== + turbo-stream@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/turbo-stream/-/turbo-stream-2.0.1.tgz#4daf74bc678ec1285b67ce42fe7a2852acdc3235" integrity sha512-sm0ZtcX9YWh28p5X8t5McxC2uthrt9p+g0bGE0KTVFhnhNWefpSVCr+67zRNDUOfo4bpXwiOp7otO+dyQ7/y/A== +turbo-windows-64@2.0.9: + version "2.0.9" + resolved "https://registry.yarnpkg.com/turbo-windows-64/-/turbo-windows-64-2.0.9.tgz#d52835302e722cc7de670b90aca55ce2b3516879" + integrity sha512-ZVo0apxUvaRq4Vm1qhsfqKKhtRgReYlBVf9MQvVU1O9AoyydEQvLDO1ryqpXDZWpcHoFxHAQc9msjAMtE5K2lA== + +turbo-windows-arm64@2.0.9: + version "2.0.9" + resolved "https://registry.yarnpkg.com/turbo-windows-arm64/-/turbo-windows-arm64-2.0.9.tgz#45f0aa685514ec1cc753a559924e003b22b24bb7" + integrity sha512-sGRz7c5Pey6y7y9OKi8ypbWNuIRPF9y8xcMqL56OZifSUSo+X2EOsOleR9MKxQXVaqHPGOUKWsE6y8hxBi9pag== + +turbo@^2.0.7: + version "2.0.9" + resolved "https://registry.yarnpkg.com/turbo/-/turbo-2.0.9.tgz#fa0ab576c4cb9a8fc9db648e9ac9adfe10a22ae5" + integrity sha512-QaLaUL1CqblSKKPgLrFW3lZWkWG4pGBQNW+q1ScJB5v1D/nFWtsrD/yZljW/bdawg90ihi4/ftQJ3h6fz1FamA== + optionalDependencies: + turbo-darwin-64 "2.0.9" + turbo-darwin-arm64 "2.0.9" + turbo-linux-64 "2.0.9" + turbo-linux-arm64 "2.0.9" + turbo-windows-64 "2.0.9" + turbo-windows-arm64 "2.0.9" + type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1"