build: test/build in CI (#49)
This commit is contained in:
parent
2654e313b9
commit
85de8638db
6 changed files with 46 additions and 10 deletions
41
.github/workflows/test.yml
vendored
Normal file
41
.github/workflows/test.yml
vendored
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
name: Test
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
test:
|
||||
name: Test
|
||||
strategy:
|
||||
matrix:
|
||||
node-version:
|
||||
- 20.19.x
|
||||
- 22.17.x
|
||||
os:
|
||||
- macos-latest
|
||||
- ubuntu-latest
|
||||
- windows-latest
|
||||
runs-on: "${{ matrix.os }}"
|
||||
steps:
|
||||
- run: git config --global core.autocrlf input
|
||||
- name: Checkout
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version: "${{ matrix.node-version }}"
|
||||
cache: "yarn"
|
||||
- name: Install dependencies
|
||||
run: yarn install --frozen-lockfile
|
||||
- name: Build
|
||||
run: yarn build
|
||||
- name: Test
|
||||
run: yarn lint && yarn test
|
||||
2
.vscode/settings.json
vendored
2
.vscode/settings.json
vendored
|
|
@ -5,6 +5,6 @@
|
|||
},
|
||||
"eslint.validate": ["typescript"],
|
||||
"[typescript]": {
|
||||
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||
"editor.defaultFormatter": "dbaeumer.vscode-eslint"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@
|
|||
"scripts": {
|
||||
"build": "yarn run build:code && yarn run build:schema",
|
||||
"build:code": "tsc",
|
||||
"build:schema": "node --experimental-strip-types ./scripts/build-dxt-schema.js",
|
||||
"build:schema": "node ./scripts/build-dxt-schema.js",
|
||||
"dev": "tsc --watch",
|
||||
"test": "jest",
|
||||
"test:watch": "jest --watch",
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { DxtManifestSchema, DxtSignatureInfoSchema } from "../src/schemas.ts";
|
||||
import { DxtManifestSchema, DxtSignatureInfoSchema } from "../dist/schemas.js";
|
||||
import * as z from "zod/v4";
|
||||
import fs from "node:fs/promises";
|
||||
import path from "node:path";
|
||||
|
|
|
|||
|
|
@ -73,15 +73,10 @@ temp/`;
|
|||
});
|
||||
|
||||
it("should return empty array if file cannot be read", () => {
|
||||
const content = "*.log";
|
||||
fs.writeFileSync(dxtIgnorePath, content);
|
||||
fs.chmodSync(dxtIgnorePath, 0); // Make file unreadable
|
||||
fs.mkdirSync(dxtIgnorePath); // Make a dir so readFile fails
|
||||
|
||||
const patterns = readDxtIgnorePatterns(tempDir);
|
||||
expect(patterns).toEqual([]);
|
||||
|
||||
// Restore permissions for cleanup
|
||||
fs.chmodSync(dxtIgnorePath, 0o644);
|
||||
});
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -2359,7 +2359,7 @@ ignore@^5.2.0:
|
|||
|
||||
ignore@^7.0.5:
|
||||
version "7.0.5"
|
||||
resolved "https://artifactory.infra.ant.dev:443/artifactory/api/npm/npm-all/ignore/-/ignore-7.0.5.tgz#4cb5f6cd7d4c7ab0365738c7aea888baa6d7efd9"
|
||||
resolved "https://registry.yarnpkg.com/ignore/-/ignore-7.0.5.tgz#4cb5f6cd7d4c7ab0365738c7aea888baa6d7efd9"
|
||||
integrity sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==
|
||||
|
||||
import-fresh@^3.2.1:
|
||||
|
|
|
|||
Loading…
Reference in a new issue