diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..f6df1cf --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,33 @@ +name: ci + +on: + pull_request: + branches: + - main + push: + branches: + - main + +jobs: + test: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5 + - run: corepack enable + - uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5 + with: + node-version: lts/* + cache: pnpm + + - name: ๐Ÿ“ฆ Install dependencies + run: pnpm install + + - name: ๐Ÿ’ช Test types + run: pnpm test:types + + # - name: ๐Ÿงช Test project + # run: pnpm test:unit -- --coverage + + # - name: ๐ŸŸฉ Coverage + # uses: codecov/codecov-action@v5 diff --git a/package.json b/package.json index 87493c3..65f0d86 100644 --- a/package.json +++ b/package.json @@ -6,11 +6,11 @@ "author": "Daniel Roe ", "license": "MIT", "scripts": { - "typecheck": "tsc --noEmit" + "test:types": "tsgo --noEmit" }, "devDependencies": { "@types/node": "^24.0.0", - "typescript": "^5.9.2" + "@typescript/native-preview": "7.0.0-dev.20260421.2" }, "packageManager": "pnpm@10.15.0" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4578ee4..f8061dc 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,18 +11,52 @@ importers: '@types/node': specifier: ^24.0.0 version: 24.12.4 - typescript: - specifier: ^5.9.2 - version: 5.9.3 + '@typescript/native-preview': + specifier: 7.0.0-dev.20260421.2 + version: 7.0.0-dev.20260421.2 packages: '@types/node@24.12.4': resolution: {integrity: sha512-GUUEShf+PBCGW2KaXwcIt3Yk+e3pkKwWKb9GSyM9WQVE+ep2jzmHdGsHzu4wgcZy5fN9FBdVzjpBQsYlpfpgLA==} - typescript@5.9.3: - resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} - engines: {node: '>=14.17'} + '@typescript/native-preview-darwin-arm64@7.0.0-dev.20260421.2': + resolution: {integrity: sha512-fHv1r3ZmVo6zxuAIFmuX3w9QxbcauoG0SsWhmDwm6VmRubLlOJIcmTtlmV3JAb9oOnq8LuzZljzT7Q39fSMQDw==} + cpu: [arm64] + os: [darwin] + + '@typescript/native-preview-darwin-x64@7.0.0-dev.20260421.2': + resolution: {integrity: sha512-KWTR6xbW9t+JS7D5DQIzo75pqVXVWUxF9PMv/+S6xsnOjCVd6g0ixHcFpFMJMKSUQpGPr8Z5f7b8ks6LHW01jg==} + cpu: [x64] + os: [darwin] + + '@typescript/native-preview-linux-arm64@7.0.0-dev.20260421.2': + resolution: {integrity: sha512-VLMEuml3BhUb+jaL0TXQ4xvVODxJF+RhkI+tBWvlynsJI4khTXEiwWh+wPOJrsfBRYFRMXEu28Odl/HXkYze8w==} + cpu: [arm64] + os: [linux] + + '@typescript/native-preview-linux-arm@7.0.0-dev.20260421.2': + resolution: {integrity: sha512-BWLQO3nemLDSV5PoE5GPHe1dU9Dth77Kv8/cle9Ujcp4LhPo0KincdPqFH/qKeU/xvW25mgFueflZ1nc4rKuww==} + cpu: [arm] + os: [linux] + + '@typescript/native-preview-linux-x64@7.0.0-dev.20260421.2': + resolution: {integrity: sha512-qUrJWTB5/wv4wnRG0TRXElAxc2kykNiRNyEIEqBbLmzDlrcvAW7RRy8MXoY1ZyTiKGMu14itZ3x9oW6+blFpRw==} + cpu: [x64] + os: [linux] + + '@typescript/native-preview-win32-arm64@7.0.0-dev.20260421.2': + resolution: {integrity: sha512-Rc6NsWlZmCs5YUKVzKgwoBOoRUGsPzct4BDMRX0csD1devLBBc4AbUXWKsJRbpwIAnqMO1ld4sNHEb+wXgfNHQ==} + cpu: [arm64] + os: [win32] + + '@typescript/native-preview-win32-x64@7.0.0-dev.20260421.2': + resolution: {integrity: sha512-GQv1+dya1t6EqF2Cpsb+xoozovdX10JUSf6Kl/8xNkTapzmlHd+uMr+8ku3jIASTxoRGn0Mklgjj3MDKrOTuLg==} + cpu: [x64] + os: [win32] + + '@typescript/native-preview@7.0.0-dev.20260421.2': + resolution: {integrity: sha512-CmajHI25HpVWE9R1XFoxr+cphJPxoYD3eFioQtAvXYkMFKnLdICMS9pXre9Pybizb75ejRxjKD5/CVG055rEIg==} hasBin: true undici-types@7.16.0: @@ -34,6 +68,35 @@ snapshots: dependencies: undici-types: 7.16.0 - typescript@5.9.3: {} + '@typescript/native-preview-darwin-arm64@7.0.0-dev.20260421.2': + optional: true + + '@typescript/native-preview-darwin-x64@7.0.0-dev.20260421.2': + optional: true + + '@typescript/native-preview-linux-arm64@7.0.0-dev.20260421.2': + optional: true + + '@typescript/native-preview-linux-arm@7.0.0-dev.20260421.2': + optional: true + + '@typescript/native-preview-linux-x64@7.0.0-dev.20260421.2': + optional: true + + '@typescript/native-preview-win32-arm64@7.0.0-dev.20260421.2': + optional: true + + '@typescript/native-preview-win32-x64@7.0.0-dev.20260421.2': + optional: true + + '@typescript/native-preview@7.0.0-dev.20260421.2': + optionalDependencies: + '@typescript/native-preview-darwin-arm64': 7.0.0-dev.20260421.2 + '@typescript/native-preview-darwin-x64': 7.0.0-dev.20260421.2 + '@typescript/native-preview-linux-arm': 7.0.0-dev.20260421.2 + '@typescript/native-preview-linux-arm64': 7.0.0-dev.20260421.2 + '@typescript/native-preview-linux-x64': 7.0.0-dev.20260421.2 + '@typescript/native-preview-win32-arm64': 7.0.0-dev.20260421.2 + '@typescript/native-preview-win32-x64': 7.0.0-dev.20260421.2 undici-types@7.16.0: {}