@aklinker1/check 1.4.5 → 2.0.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -4
- package/dist/index.mjs +11 -10
- package/dist/tools/eslint.d.ts +1 -1
- package/dist/tools/eslint.mjs +7 -8
- package/dist/tools/eslint.test.mjs +2 -2
- package/dist/tools/oxlint.d.ts +1 -1
- package/dist/tools/oxlint.mjs +7 -8
- package/dist/tools/oxlint.test.mjs +2 -2
- package/dist/tools/prettier.d.ts +1 -1
- package/dist/tools/prettier.mjs +7 -8
- package/dist/tools/prettier.test.mjs +5 -5
- package/dist/tools/publint.d.ts +1 -1
- package/dist/tools/publint.mjs +7 -10
- package/dist/tools/publint.test.mjs +2 -2
- package/dist/tools/typescript.d.ts +1 -1
- package/dist/tools/typescript.mjs +13 -12
- package/dist/tools/typescript.test.mjs +3 -3
- package/dist/types.d.ts +3 -4
- package/dist/utils.d.ts +0 -1
- package/dist/utils.mjs +0 -11
- package/package.json +11 -10
package/README.md
CHANGED
|
@@ -23,9 +23,6 @@ This project is built using [`bun`](https://bun.sh). Demo project uses PNPM.
|
|
|
23
23
|
```sh
|
|
24
24
|
# Setup
|
|
25
25
|
bun i
|
|
26
|
-
pushd demo
|
|
27
|
-
pnpm i
|
|
28
|
-
popd
|
|
29
26
|
|
|
30
27
|
# Build NPM package
|
|
31
28
|
bun run build
|
|
@@ -33,7 +30,6 @@ bun run build
|
|
|
33
30
|
# Run checks
|
|
34
31
|
bun check --help
|
|
35
32
|
bun check
|
|
36
|
-
bun check demo
|
|
37
33
|
```
|
|
38
34
|
|
|
39
35
|
### Adding Tools
|
package/dist/index.mjs
CHANGED
|
@@ -11,22 +11,23 @@ import {
|
|
|
11
11
|
yellow
|
|
12
12
|
} from "./utils.mjs";
|
|
13
13
|
import { createTaskList } from "./tasklist/index.mjs";
|
|
14
|
-
import { relative, resolve, sep } from "node:path";
|
|
14
|
+
import { relative, resolve, sep, join } from "node:path";
|
|
15
15
|
import { isCI } from "ci-info";
|
|
16
|
+
import { readFile } from "node:fs/promises";
|
|
16
17
|
export async function check(options = {}) {
|
|
17
|
-
const {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
binDir = "node_modules/.bin"
|
|
22
|
-
} = options;
|
|
18
|
+
const { debug, fix = !isCI, root = process.cwd() } = options;
|
|
19
|
+
const packageJson = JSON.parse(
|
|
20
|
+
await readFile(join(root, "package.json"), "utf8")
|
|
21
|
+
);
|
|
23
22
|
if (debug) {
|
|
24
23
|
process.env.DEBUG = "true";
|
|
25
24
|
}
|
|
26
25
|
console.log();
|
|
27
26
|
debugLog("Options:" + JSON.stringify(options));
|
|
28
|
-
debugLog(
|
|
29
|
-
|
|
27
|
+
debugLog(
|
|
28
|
+
"Resolved options:" + JSON.stringify({ debug, fix, root, packageJson })
|
|
29
|
+
);
|
|
30
|
+
const tools = await findInstalledTools({ root, packageJson });
|
|
30
31
|
if (tools.length === 0) {
|
|
31
32
|
if (isDebug()) {
|
|
32
33
|
console.log("No tools detected!");
|
|
@@ -103,7 +104,7 @@ export async function check(options = {}) {
|
|
|
103
104
|
async function findInstalledTools(opts) {
|
|
104
105
|
const status = await p(ALL_TOOLS).map(async (def) => {
|
|
105
106
|
const tool = await def(opts);
|
|
106
|
-
const isInstalled =
|
|
107
|
+
const isInstalled = !!opts.packageJson.devDependencies?.[tool.packageName];
|
|
107
108
|
return { tool, isInstalled };
|
|
108
109
|
}).promise;
|
|
109
110
|
if (isDebug()) {
|
package/dist/tools/eslint.d.ts
CHANGED
package/dist/tools/eslint.mjs
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const bin = resolve(root, binDir, "eslint");
|
|
1
|
+
import { execAndParse } from "../utils.mjs";
|
|
2
|
+
export const eslint = ({ root }) => {
|
|
3
|
+
const bin = "eslint";
|
|
5
4
|
const checkArgs = [
|
|
6
5
|
".",
|
|
7
6
|
"--ext",
|
|
@@ -14,12 +13,12 @@ export const eslint = ({ binDir, root }) => {
|
|
|
14
13
|
const fixArgs = [...checkArgs, "--fix"];
|
|
15
14
|
return {
|
|
16
15
|
name: "ESLint",
|
|
17
|
-
|
|
18
|
-
check: () => execAndParse(bin, checkArgs, root,
|
|
19
|
-
fix: () => execAndParse(bin, fixArgs, root,
|
|
16
|
+
packageName: "eslint",
|
|
17
|
+
check: () => execAndParse(bin, checkArgs, root, parseOutput),
|
|
18
|
+
fix: () => execAndParse(bin, fixArgs, root, parseOutput)
|
|
20
19
|
};
|
|
21
20
|
};
|
|
22
|
-
export const
|
|
21
|
+
export const parseOutput = ({ stdout, stderr }) => {
|
|
23
22
|
return `${stdout}
|
|
24
23
|
${stderr}`.split(/\r?\n/).reduce((acc, line) => {
|
|
25
24
|
const groups = /^(?<file>.*?): line (?<line>[0-9]+), col (?<column>[0-9]+), (?<kind>\S+) - (?<message>.*?) \((?<rule>\S*?)\)$/.exec(
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { describe, it, expect } from "bun:test";
|
|
2
|
-
import {
|
|
2
|
+
import { parseOutput } from "./eslint.mjs";
|
|
3
3
|
describe("ESLint", () => {
|
|
4
4
|
it("should properly parse output", async () => {
|
|
5
5
|
const stdout = `/path/to/check/demo/test.ts: line 1, col 7, Warning - 'test' is assigned a value but never used. (@typescript-eslint/no-unused-vars)
|
|
@@ -9,7 +9,7 @@ describe("ESLint", () => {
|
|
|
9
9
|
`;
|
|
10
10
|
const stderr = "";
|
|
11
11
|
const code = 1;
|
|
12
|
-
expect(
|
|
12
|
+
expect(parseOutput({ code, stdout, stderr })).toEqual([
|
|
13
13
|
{
|
|
14
14
|
file: "/path/to/check/demo/test.ts",
|
|
15
15
|
message: "'test' is assigned a value but never used.",
|
package/dist/tools/oxlint.d.ts
CHANGED
package/dist/tools/oxlint.mjs
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { execAndParse
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const bin = resolve(root, binDir, "oxlint");
|
|
1
|
+
import { execAndParse } from "../utils.mjs";
|
|
2
|
+
export const oxlint = ({ root }) => {
|
|
3
|
+
const bin = "oxlint";
|
|
5
4
|
const checkArgs = [
|
|
6
5
|
"--format=unix",
|
|
7
6
|
"--deny-warnings",
|
|
@@ -14,12 +13,12 @@ export const oxlint = ({ binDir, root }) => {
|
|
|
14
13
|
const fixArgs = [...checkArgs, "--fix"];
|
|
15
14
|
return {
|
|
16
15
|
name: "Oxlint",
|
|
17
|
-
|
|
18
|
-
check: () => execAndParse(bin, checkArgs, root,
|
|
19
|
-
fix: () => execAndParse(bin, fixArgs, root,
|
|
16
|
+
packageName: "oxlint",
|
|
17
|
+
check: () => execAndParse(bin, checkArgs, root, parseOutput),
|
|
18
|
+
fix: () => execAndParse(bin, fixArgs, root, parseOutput)
|
|
20
19
|
};
|
|
21
20
|
};
|
|
22
|
-
export const
|
|
21
|
+
export const parseOutput = ({ stdout }) => {
|
|
23
22
|
if (stdout.trim()) {
|
|
24
23
|
return stdout.split(/\r?\n/).reduce((acc, line) => {
|
|
25
24
|
const groups = /^(?<file>.+?):(?<line>[0-9]+):(?<column>[0-9]+):\s?(?<message>.*?)\s?\[(?<kind>Warning|Error)\/?(?<rule>.*?)\]\s?$/.exec(
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { describe, it, expect } from "bun:test";
|
|
2
|
-
import {
|
|
2
|
+
import { parseOutput } from "./oxlint.mjs";
|
|
3
3
|
describe("Oxlint", () => {
|
|
4
4
|
it("should properly parse output", async () => {
|
|
5
5
|
const stdout = `
|
|
@@ -12,7 +12,7 @@ test.ts:8:7: Missing initializer in const declaration [Error]
|
|
|
12
12
|
`;
|
|
13
13
|
const stderr = "";
|
|
14
14
|
const code = 1;
|
|
15
|
-
expect(
|
|
15
|
+
expect(parseOutput({ code, stdout, stderr })).toEqual([
|
|
16
16
|
{
|
|
17
17
|
file: "test.ts",
|
|
18
18
|
message: "Variable 'test' is declared but never used.",
|
package/dist/tools/prettier.d.ts
CHANGED
package/dist/tools/prettier.mjs
CHANGED
|
@@ -1,17 +1,16 @@
|
|
|
1
|
-
import { execAndParse
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const bin = resolve(root, binDir, "prettier");
|
|
1
|
+
import { execAndParse } from "../utils.mjs";
|
|
2
|
+
export const prettier = ({ root }) => {
|
|
3
|
+
const bin = "prettier";
|
|
5
4
|
const checkArgs = [".", "--list-different"];
|
|
6
5
|
const fixArgs = [".", "-w"];
|
|
7
6
|
return {
|
|
8
7
|
name: "Prettier",
|
|
9
|
-
|
|
10
|
-
check: () => execAndParse(bin, checkArgs, root,
|
|
11
|
-
fix: () => execAndParse(bin, fixArgs, root,
|
|
8
|
+
packageName: "prettier",
|
|
9
|
+
check: () => execAndParse(bin, checkArgs, root, parseOutput),
|
|
10
|
+
fix: () => execAndParse(bin, fixArgs, root, parseOutput)
|
|
12
11
|
};
|
|
13
12
|
};
|
|
14
|
-
export const
|
|
13
|
+
export const parseOutput = ({ stdout, stderr }) => {
|
|
15
14
|
if (stderr.trim()) {
|
|
16
15
|
return stderr.split(/\r?\n/).reduce((acc, line) => {
|
|
17
16
|
const groups = /^\[(?<kind>.+?)\]\s?(?<file>.+?):\s?(?<message>.*?)\s?\((?<line>[0-9]+):(?<column>[0-9]+)\)$/.exec(
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { describe, it, expect } from "bun:test";
|
|
2
|
-
import {
|
|
2
|
+
import { parseOutput } from "./prettier.mjs";
|
|
3
3
|
describe("Prettier", () => {
|
|
4
4
|
it("should properly parse output", async () => {
|
|
5
5
|
const stdout = `target/.rustc_info.json
|
|
@@ -7,7 +7,7 @@ describe("Prettier", () => {
|
|
|
7
7
|
`;
|
|
8
8
|
const stderr = "";
|
|
9
9
|
const code = 1;
|
|
10
|
-
expect(
|
|
10
|
+
expect(parseOutput({ code, stdout, stderr })).toEqual([
|
|
11
11
|
{
|
|
12
12
|
file: "target/.rustc_info.json",
|
|
13
13
|
message: "Not formatted.",
|
|
@@ -24,7 +24,7 @@ describe("Prettier", () => {
|
|
|
24
24
|
const stdout = "";
|
|
25
25
|
const stderr = "";
|
|
26
26
|
const code = 1;
|
|
27
|
-
expect(
|
|
27
|
+
expect(parseOutput({ code, stdout, stderr })).toEqual([]);
|
|
28
28
|
});
|
|
29
29
|
it("should return an error when a syntax error is reported", async () => {
|
|
30
30
|
const stderr = `[error] src/components/CommitDiff.ts: SyntaxError: Declaration or statement expected. (15:1)
|
|
@@ -45,7 +45,7 @@ describe("Prettier", () => {
|
|
|
45
45
|
.github/workflows/validate.yml 4ms
|
|
46
46
|
.prettierrc.yml 0ms`;
|
|
47
47
|
const code = 1;
|
|
48
|
-
expect(
|
|
48
|
+
expect(parseOutput({ code, stdout, stderr })).toEqual([
|
|
49
49
|
{
|
|
50
50
|
file: "src/components/CommitDiff.ts",
|
|
51
51
|
message: "SyntaxError: Declaration or statement expected.",
|
|
@@ -73,6 +73,6 @@ describe("Prettier", () => {
|
|
|
73
73
|
.github/workflows/validate.yml 4ms
|
|
74
74
|
.prettierrc.yml 0ms`;
|
|
75
75
|
const code = 0;
|
|
76
|
-
expect(
|
|
76
|
+
expect(parseOutput({ code, stdout, stderr })).toEqual([]);
|
|
77
77
|
});
|
|
78
78
|
});
|
package/dist/tools/publint.d.ts
CHANGED
package/dist/tools/publint.mjs
CHANGED
|
@@ -1,17 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
const bin = "publint";
|
|
4
|
-
const args = [];
|
|
5
|
-
export const publint = ({ binDir, root }) => {
|
|
6
|
-
const bin2 = resolve(root, binDir, "publint");
|
|
7
|
-
const args2 = [];
|
|
1
|
+
import { execAndParse } from "../utils.mjs";
|
|
2
|
+
export const publint = ({ root }) => {
|
|
3
|
+
const bin = "publint";
|
|
4
|
+
const args = [];
|
|
8
5
|
return {
|
|
9
6
|
name: "Publint",
|
|
10
|
-
|
|
11
|
-
check: () => execAndParse(
|
|
7
|
+
packageName: "publint",
|
|
8
|
+
check: () => execAndParse(bin, args, root, parseOutput)
|
|
12
9
|
};
|
|
13
10
|
};
|
|
14
|
-
export const
|
|
11
|
+
export const parseOutput = ({ stdout }) => {
|
|
15
12
|
let kind = "warning";
|
|
16
13
|
return stdout.split(/\r?\n/).reduce((acc, line) => {
|
|
17
14
|
if (line.includes("Errors:")) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { describe, it, expect } from "bun:test";
|
|
2
|
-
import {
|
|
2
|
+
import { parseOutput } from "./publint.mjs";
|
|
3
3
|
describe("Publint", () => {
|
|
4
4
|
it("should properly parse output", async () => {
|
|
5
5
|
const stdout = `@aklinker1/check lint results:
|
|
@@ -12,7 +12,7 @@ Errors:
|
|
|
12
12
|
`;
|
|
13
13
|
const stderr = "";
|
|
14
14
|
const code = 1;
|
|
15
|
-
expect(
|
|
15
|
+
expect(parseOutput({ code, stdout, stderr })).toEqual([
|
|
16
16
|
{
|
|
17
17
|
file: "package.json",
|
|
18
18
|
message: "Consider being better lolz.",
|
|
@@ -1,30 +1,31 @@
|
|
|
1
|
-
import { debug, execAndParse
|
|
2
|
-
import { resolve } from "node:path";
|
|
1
|
+
import { debug, execAndParse } from "../utils.mjs";
|
|
3
2
|
export const typescript = async ({
|
|
4
3
|
root,
|
|
5
|
-
|
|
4
|
+
packageJson
|
|
6
5
|
}) => {
|
|
7
6
|
const tsc = {
|
|
8
|
-
|
|
7
|
+
name: "TypeScript",
|
|
8
|
+
bin: "tsc",
|
|
9
|
+
packageName: "typescript",
|
|
9
10
|
args: ["--noEmit", "--pretty", "false"]
|
|
10
11
|
};
|
|
11
12
|
const vueTsc = {
|
|
12
|
-
|
|
13
|
+
name: "TypeScript (Vue)",
|
|
14
|
+
bin: "vue-tsc",
|
|
15
|
+
packageName: "vue-tsc",
|
|
13
16
|
args: ["--noEmit", "--pretty", "false"]
|
|
14
17
|
};
|
|
15
|
-
const isVueTsc =
|
|
18
|
+
const isVueTsc = packageJson.devDependencies?.["vue-tsc"] !== void 0;
|
|
16
19
|
debug("TypeScript: Is vue-tsc installed? " + isVueTsc);
|
|
17
20
|
const cmd = isVueTsc ? vueTsc : tsc;
|
|
18
|
-
const name = isVueTsc ? "TypeScript (Vue)" : "Typescript";
|
|
19
21
|
return {
|
|
20
|
-
name,
|
|
21
|
-
|
|
22
|
-
isInstalled: () => isBinInstalled(tsc.bin),
|
|
22
|
+
name: cmd.name,
|
|
23
|
+
packageName: cmd.packageName,
|
|
23
24
|
// Execute the other TSC binary if necessary
|
|
24
|
-
check: async () => execAndParse(cmd.bin, cmd.args, root,
|
|
25
|
+
check: async () => execAndParse(cmd.bin, cmd.args, root, parseOutput)
|
|
25
26
|
};
|
|
26
27
|
};
|
|
27
|
-
export const
|
|
28
|
+
export const parseOutput = ({ stdout }) => {
|
|
28
29
|
return stdout.split(/\r?\n/).reduce((acc, line) => {
|
|
29
30
|
const groups = /^(?<file>\S+?)\((?<line>[0-9]+),(?<column>[0-9]+)\): \w+? (?<rule>TS[0-9]+): (?<message>.*)$/.exec(
|
|
30
31
|
line
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { describe, it, expect } from "bun:test";
|
|
2
|
-
import {
|
|
2
|
+
import { parseOutput } from "./typescript.mjs";
|
|
3
3
|
describe("TypeScript", () => {
|
|
4
4
|
it("should properly parse output", async () => {
|
|
5
5
|
const stdout = `test.ts(1,19): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.
|
|
@@ -7,7 +7,7 @@ test.ts(5,24): error TS7006: Parameter 'a' implicitly has an 'any' type.
|
|
|
7
7
|
`;
|
|
8
8
|
const stderr = "";
|
|
9
9
|
const code = 1;
|
|
10
|
-
expect(
|
|
10
|
+
expect(parseOutput({ code, stdout, stderr })).toEqual([
|
|
11
11
|
{
|
|
12
12
|
file: "test.ts",
|
|
13
13
|
message: "A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.",
|
|
@@ -35,7 +35,7 @@ test.ts(5,24): error TS7006: Parameter 'a' implicitly has an 'any' type.
|
|
|
35
35
|
Property 'value' is missing in type '{ vale: string; }' but required in type 'Omit<{ readonly value: string; "onUpdate:value"?: ((newValue: string) => any) | undefined; } & VNodeProps & AllowedComponentProps & ComponentCustomProps & Readonly<...> & { ...; }, never>'.`;
|
|
36
36
|
const stderr = "";
|
|
37
37
|
const code = 1;
|
|
38
|
-
expect(
|
|
38
|
+
expect(parseOutput({ code, stdout, stderr })).toEqual([
|
|
39
39
|
{
|
|
40
40
|
file: "src/components/CustomListsPref.vue",
|
|
41
41
|
message: `Argument of type '{ vale: string; }' is not assignable to parameter of type 'Partial<{}> & Omit<{ readonly value: string; "onUpdate:value"?: ((newValue: string) => any) | undefined; } & VNodeProps & AllowedComponentProps & ComponentCustomProps & Readonly<...> & { ...; }, never> & Record<...>'.`,
|
package/dist/types.d.ts
CHANGED
|
@@ -13,11 +13,10 @@ export interface CheckOptions {
|
|
|
13
13
|
* Set to true to enable debug logs.
|
|
14
14
|
*/
|
|
15
15
|
debug?: boolean;
|
|
16
|
-
binDir?: string;
|
|
17
16
|
}
|
|
18
17
|
export type ToolDefinition = (opts: {
|
|
19
18
|
root: string;
|
|
20
|
-
|
|
19
|
+
packageJson: any;
|
|
21
20
|
}) => Promise<Tool> | Tool;
|
|
22
21
|
export interface Tool {
|
|
23
22
|
/**
|
|
@@ -25,9 +24,9 @@ export interface Tool {
|
|
|
25
24
|
*/
|
|
26
25
|
name: string;
|
|
27
26
|
/**
|
|
28
|
-
*
|
|
27
|
+
* The name of the package in your `package.json`. If present, this tool will be ran.
|
|
29
28
|
*/
|
|
30
|
-
|
|
29
|
+
packageName: string;
|
|
31
30
|
/**
|
|
32
31
|
* Run the tool, only checking for problems.
|
|
33
32
|
*/
|
package/dist/utils.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type { OutputParser, Problem } from "./types";
|
|
2
|
-
export declare function isBinInstalled(bin: string): Promise<boolean>;
|
|
3
2
|
export declare function execAndParse(bin: string, args: string[], cwd: string, parser: OutputParser): Promise<Problem[]>;
|
|
4
3
|
export declare function isDebug(): boolean;
|
|
5
4
|
export declare const bold: (str: string) => string;
|
package/dist/utils.mjs
CHANGED
|
@@ -1,15 +1,4 @@
|
|
|
1
1
|
import { spawn } from "node:child_process";
|
|
2
|
-
import { stat } from "fs/promises";
|
|
3
|
-
export async function isBinInstalled(bin) {
|
|
4
|
-
try {
|
|
5
|
-
if (isDebug())
|
|
6
|
-
debug(`Checking if binary exists: ${bin}`);
|
|
7
|
-
await stat(bin);
|
|
8
|
-
return true;
|
|
9
|
-
} catch (err) {
|
|
10
|
-
return false;
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
2
|
function exec(cmd, args, opts) {
|
|
14
3
|
return new Promise((resolve, reject) => {
|
|
15
4
|
const child = spawn(cmd, args, { ...opts, shell: true });
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aklinker1/check",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0-alpha.2",
|
|
4
|
+
"packageManager": "bun@1.2.11",
|
|
4
5
|
"repository": {
|
|
5
6
|
"type": "git",
|
|
6
7
|
"url": "https://github.com/aklinker1/check"
|
|
@@ -29,11 +30,18 @@
|
|
|
29
30
|
"module": "./dist/index.mjs",
|
|
30
31
|
"types": "./dist/index.d.ts",
|
|
31
32
|
"files": [
|
|
33
|
+
"bin",
|
|
32
34
|
"dist"
|
|
33
35
|
],
|
|
34
36
|
"bin": {
|
|
35
37
|
"check": "bin/check.mjs"
|
|
36
38
|
},
|
|
39
|
+
"scripts": {
|
|
40
|
+
"build": "bunx --bun unbuild",
|
|
41
|
+
"check": "bun src/cli.ts",
|
|
42
|
+
"prepack": "bun run build",
|
|
43
|
+
"prepublish": "bun run build"
|
|
44
|
+
},
|
|
37
45
|
"dependencies": {
|
|
38
46
|
"@antfu/utils": "^0.7.7",
|
|
39
47
|
"citty": "^0.1.6",
|
|
@@ -42,11 +50,9 @@
|
|
|
42
50
|
"devDependencies": {
|
|
43
51
|
"@types/bun": "latest",
|
|
44
52
|
"publint": "^0.2.7",
|
|
53
|
+
"typescript": "^5.0.0",
|
|
45
54
|
"unbuild": "latest"
|
|
46
55
|
},
|
|
47
|
-
"peerDependencies": {
|
|
48
|
-
"typescript": "^5.0.0"
|
|
49
|
-
},
|
|
50
56
|
"unbuild": {
|
|
51
57
|
"entries": [
|
|
52
58
|
{
|
|
@@ -61,10 +67,5 @@
|
|
|
61
67
|
"excludeAuthors": [
|
|
62
68
|
"aaronklinker1@gmail.com"
|
|
63
69
|
]
|
|
64
|
-
},
|
|
65
|
-
"scripts": {
|
|
66
|
-
"build": "bunx --bun unbuild",
|
|
67
|
-
"check": "bun src/cli.ts",
|
|
68
|
-
"prepublish": "bun run build"
|
|
69
70
|
}
|
|
70
|
-
}
|
|
71
|
+
}
|