move to nodenext and simplify TS/ESM config

Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
This commit is contained in:
CrazyMax
2026-02-16 12:02:30 +01:00
parent fa21647770
commit 14b5eee617
47 changed files with 129 additions and 137 deletions

View File

@@ -16,10 +16,10 @@
import {describe, expect, it, vi, test} from 'vitest'; import {describe, expect, it, vi, test} from 'vitest';
import {BuildKit} from '../../src/buildkit/buildkit'; import {BuildKit} from '../../src/buildkit/buildkit.js';
import {Builder} from '../../src/buildx/builder'; import {Builder} from '../../src/buildx/builder.js';
import {BuilderInfo} from '../../src/types/buildx/builder'; import {BuilderInfo} from '../../src/types/buildx/builder.js';
vi.spyOn(Builder.prototype, 'inspect').mockImplementation(async (): Promise<BuilderInfo> => { vi.spyOn(Builder.prototype, 'inspect').mockImplementation(async (): Promise<BuilderInfo> => {
return { return {

View File

@@ -20,8 +20,8 @@ import os from 'os';
import path from 'path'; import path from 'path';
import * as rimraf from 'rimraf'; import * as rimraf from 'rimraf';
import {BuildKit} from '../../src/buildkit/buildkit'; import {BuildKit} from '../../src/buildkit/buildkit.js';
import {Context} from '../../src/context'; import {Context} from '../../src/context.js';
const fixturesDir = path.join(__dirname, '..', '.fixtures'); const fixturesDir = path.join(__dirname, '..', '.fixtures');
const tmpDir = fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'buildkit-config-')); const tmpDir = fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'buildkit-config-'));

View File

@@ -16,9 +16,9 @@
import {beforeEach, describe, expect, vi, test} from 'vitest'; import {beforeEach, describe, expect, vi, test} from 'vitest';
import {Git} from '../../src/buildkit/git'; import {Git} from '../../src/buildkit/git.js';
import {GitRef, GitURL} from '../../src/types/buildkit/git'; import {GitRef, GitURL} from '../../src/types/buildkit/git.js';
beforeEach(() => { beforeEach(() => {
vi.restoreAllMocks(); vi.restoreAllMocks();

View File

@@ -18,8 +18,8 @@ import {describe, expect, test} from 'vitest';
import * as fs from 'fs'; import * as fs from 'fs';
import * as path from 'path'; import * as path from 'path';
import {Bake} from '../../src/buildx/bake'; import {Bake} from '../../src/buildx/bake.js';
import {BakeDefinition} from '../../src/types/buildx/bake'; import {BakeDefinition} from '../../src/types/buildx/bake.js';
const fixturesDir = path.join(__dirname, '..', '.fixtures'); const fixturesDir = path.join(__dirname, '..', '.fixtures');

View File

@@ -20,12 +20,12 @@ import os from 'os';
import path from 'path'; import path from 'path';
import * as rimraf from 'rimraf'; import * as rimraf from 'rimraf';
import {Bake} from '../../src/buildx/bake'; import {Bake} from '../../src/buildx/bake.js';
import {Context} from '../../src/context'; import {Context} from '../../src/context.js';
import {ExecOptions} from '@actions/exec'; import {ExecOptions} from '@actions/exec';
import {BakeDefinition} from '../../src/types/buildx/bake'; import {BakeDefinition} from '../../src/types/buildx/bake.js';
import {BuildMetadata} from '../../src/types/buildx/build'; import {BuildMetadata} from '../../src/types/buildx/build.js';
const fixturesDir = path.join(__dirname, '..', '.fixtures'); const fixturesDir = path.join(__dirname, '..', '.fixtures');
const tmpDir = fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'buildx-bake-')); const tmpDir = fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'buildx-bake-'));

View File

@@ -20,8 +20,8 @@ import os from 'os';
import path from 'path'; import path from 'path';
import * as rimraf from 'rimraf'; import * as rimraf from 'rimraf';
import {Context} from '../../src/context'; import {Context} from '../../src/context.js';
import {Build} from '../../src/buildx/build'; import {Build} from '../../src/buildx/build.js';
const fixturesDir = path.join(__dirname, '..', '.fixtures'); const fixturesDir = path.join(__dirname, '..', '.fixtures');
const tmpDir = fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'buildx-build-')); const tmpDir = fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'buildx-build-'));

View File

@@ -18,10 +18,10 @@ import {describe, expect, it, vi, test} from 'vitest';
import * as fs from 'fs'; import * as fs from 'fs';
import * as path from 'path'; import * as path from 'path';
import {Builder} from '../../src/buildx/builder'; import {Builder} from '../../src/buildx/builder.js';
import {Exec} from '../../src/exec'; import {Exec} from '../../src/exec.js';
import {BuilderInfo} from '../../src/types/buildx/builder'; import {BuilderInfo} from '../../src/types/buildx/builder.js';
const fixturesDir = path.join(__dirname, '..', '.fixtures'); const fixturesDir = path.join(__dirname, '..', '.fixtures');

View File

@@ -20,10 +20,10 @@ import os from 'os';
import path from 'path'; import path from 'path';
import * as core from '@actions/core'; import * as core from '@actions/core';
import {Buildx} from '../../src/buildx/buildx'; import {Buildx} from '../../src/buildx/buildx.js';
import {Build} from '../../src/buildx/build'; import {Build} from '../../src/buildx/build.js';
import {Bake} from '../../src/buildx/bake'; import {Bake} from '../../src/buildx/bake.js';
import {Exec} from '../../src/exec'; import {Exec} from '../../src/exec.js';
const fixturesDir = path.join(__dirname, '..', '.fixtures'); const fixturesDir = path.join(__dirname, '..', '.fixtures');
const tmpDir = fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'buildx-buildx-itg-')); const tmpDir = fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'buildx-buildx-itg-'));

View File

@@ -21,11 +21,11 @@ import path from 'path';
import * as rimraf from 'rimraf'; import * as rimraf from 'rimraf';
import * as semver from 'semver'; import * as semver from 'semver';
import {Buildx} from '../../src/buildx/buildx'; import {Buildx} from '../../src/buildx/buildx.js';
import {Context} from '../../src/context'; import {Context} from '../../src/context.js';
import {Exec} from '../../src/exec'; import {Exec} from '../../src/exec.js';
import {Cert, LocalState} from '../../src/types/buildx/buildx'; import {Cert, LocalState} from '../../src/types/buildx/buildx.js';
const fixturesDir = path.join(__dirname, '..', '.fixtures'); const fixturesDir = path.join(__dirname, '..', '.fixtures');
const tmpDir = fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'buildx-buildx-')); const tmpDir = fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'buildx-buildx-'));

View File

@@ -19,11 +19,11 @@ import fs from 'fs';
import os from 'os'; import os from 'os';
import path from 'path'; import path from 'path';
import {Buildx} from '../../src/buildx/buildx'; import {Buildx} from '../../src/buildx/buildx.js';
import {Bake} from '../../src/buildx/bake'; import {Bake} from '../../src/buildx/bake.js';
import {Build} from '../../src/buildx/build'; import {Build} from '../../src/buildx/build.js';
import {History} from '../../src/buildx/history'; import {History} from '../../src/buildx/history.js';
import {Exec} from '../../src/exec'; import {Exec} from '../../src/exec.js';
const fixturesDir = path.join(__dirname, '..', '.fixtures'); const fixturesDir = path.join(__dirname, '..', '.fixtures');
const tmpDir = fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'buildx-history-itg-')); const tmpDir = fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'buildx-history-itg-'));

View File

@@ -18,11 +18,11 @@ import {describe, expect, it} from 'vitest';
import * as fs from 'fs'; import * as fs from 'fs';
import * as path from 'path'; import * as path from 'path';
import {ImageTools} from '../../src/buildx/imagetools'; import {ImageTools} from '../../src/buildx/imagetools.js';
import {Manifest as ImageToolsManifest} from '../../src/types/buildx/imagetools'; import {Manifest as ImageToolsManifest} from '../../src/types/buildx/imagetools.js';
import {Image} from '../../src/types/oci/config'; import {Image} from '../../src/types/oci/config.js';
import {Descriptor} from '../../src/types/oci/descriptor'; import {Descriptor} from '../../src/types/oci/descriptor.js';
const fixturesDir = path.join(__dirname, '..', '.fixtures'); const fixturesDir = path.join(__dirname, '..', '.fixtures');

View File

@@ -17,7 +17,7 @@
import {describe, expect, test} from 'vitest'; import {describe, expect, test} from 'vitest';
import * as fs from 'fs'; import * as fs from 'fs';
import {Install} from '../../src/buildx/install'; import {Install} from '../../src/buildx/install.js';
const maybe = !process.env.GITHUB_ACTIONS || (process.env.GITHUB_ACTIONS === 'true' && process.env.ImageOS && process.env.ImageOS.startsWith('ubuntu')) ? describe : describe.skip; const maybe = !process.env.GITHUB_ACTIONS || (process.env.GITHUB_ACTIONS === 'true' && process.env.ImageOS && process.env.ImageOS.startsWith('ubuntu')) ? describe : describe.skip;

View File

@@ -20,9 +20,9 @@ import os from 'os';
import path from 'path'; import path from 'path';
import * as rimraf from 'rimraf'; import * as rimraf from 'rimraf';
import {mockArch, mockPlatform} from '../.helpers/os'; import {mockArch, mockPlatform} from '../.helpers/os.js';
import {Install} from '../../src/buildx/install'; import {Install} from '../../src/buildx/install.js';
const tmpDir = fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'buildx-install-')); const tmpDir = fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'buildx-install-'));

View File

@@ -19,8 +19,8 @@ import fs from 'fs';
import os from 'os'; import os from 'os';
import path from 'path'; import path from 'path';
import {Cache} from '../src/cache'; import {Cache} from '../src/cache.js';
import {Util} from '../src/util'; import {Util} from '../src/util.js';
const fixturesDir = path.join(__dirname, '.fixtures'); const fixturesDir = path.join(__dirname, '.fixtures');
const tmpDir = fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'cache-itg-')); const tmpDir = fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'cache-itg-'));

View File

@@ -21,10 +21,10 @@ import path from 'path';
import * as rimraf from 'rimraf'; import * as rimraf from 'rimraf';
import * as semver from 'semver'; import * as semver from 'semver';
import {Context} from '../../src/context'; import {Context} from '../../src/context.js';
import {Exec} from '../../src/exec'; import {Exec} from '../../src/exec.js';
import {Compose} from '../../src/compose/compose'; import {Compose} from '../../src/compose/compose.js';
const tmpDir = fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'compose-compose-')); const tmpDir = fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'compose-compose-'));
const tmpName = path.join(tmpDir, '.tmpname-vi'); const tmpName = path.join(tmpDir, '.tmpname-vi');

View File

@@ -17,7 +17,7 @@
import {describe, expect, test} from 'vitest'; import {describe, expect, test} from 'vitest';
import * as fs from 'fs'; import * as fs from 'fs';
import {Install} from '../../src/compose/install'; import {Install} from '../../src/compose/install.js';
const maybe = !process.env.GITHUB_ACTIONS || (process.env.GITHUB_ACTIONS === 'true' && process.env.ImageOS && process.env.ImageOS.startsWith('ubuntu')) ? describe : describe.skip; const maybe = !process.env.GITHUB_ACTIONS || (process.env.GITHUB_ACTIONS === 'true' && process.env.ImageOS && process.env.ImageOS.startsWith('ubuntu')) ? describe : describe.skip;

View File

@@ -20,9 +20,9 @@ import os from 'os';
import path from 'path'; import path from 'path';
import * as rimraf from 'rimraf'; import * as rimraf from 'rimraf';
import {mockArch, mockPlatform} from '../.helpers/os'; import {mockArch, mockPlatform} from '../.helpers/os.js';
import {Install} from '../../src/compose/install'; import {Install} from '../../src/compose/install.js';
const tmpDir = fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'compose-install-')); const tmpDir = fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'compose-install-'));

View File

@@ -20,7 +20,7 @@ import os from 'os';
import path from 'path'; import path from 'path';
import * as rimraf from 'rimraf'; import * as rimraf from 'rimraf';
import {Context} from '../src/context'; import {Context} from '../src/context.js';
const tmpDir = fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'context-')); const tmpDir = fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'context-'));
const tmpName = path.join(tmpDir, '.tmpname-vi'); const tmpName = path.join(tmpDir, '.tmpname-vi');

View File

@@ -19,8 +19,8 @@ import fs from 'fs';
import path from 'path'; import path from 'path';
import * as semver from 'semver'; import * as semver from 'semver';
import {Exec} from '../../src/exec'; import {Exec} from '../../src/exec.js';
import {Cosign} from '../../src/cosign/cosign'; import {Cosign} from '../../src/cosign/cosign.js';
const fixturesDir = path.join(__dirname, '..', '.fixtures'); const fixturesDir = path.join(__dirname, '..', '.fixtures');

View File

@@ -17,7 +17,7 @@
import {describe, expect, it, test} from 'vitest'; import {describe, expect, it, test} from 'vitest';
import * as fs from 'fs'; import * as fs from 'fs';
import {Install} from '../../src/cosign/install'; import {Install} from '../../src/cosign/install.js';
const maybe = !process.env.GITHUB_ACTIONS || (process.env.GITHUB_ACTIONS === 'true' && process.env.ImageOS && process.env.ImageOS.startsWith('ubuntu')) ? describe : describe.skip; const maybe = !process.env.GITHUB_ACTIONS || (process.env.GITHUB_ACTIONS === 'true' && process.env.ImageOS && process.env.ImageOS.startsWith('ubuntu')) ? describe : describe.skip;

View File

@@ -20,9 +20,9 @@ import os from 'os';
import path from 'path'; import path from 'path';
import * as rimraf from 'rimraf'; import * as rimraf from 'rimraf';
import {mockArch, mockPlatform} from '../.helpers/os'; import {mockArch, mockPlatform} from '../.helpers/os.js';
import {Install} from '../../src/cosign/install'; import {Install} from '../../src/cosign/install.js';
const tmpDir = fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'cosign-install-')); const tmpDir = fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'cosign-install-'));

View File

@@ -16,7 +16,7 @@
import {describe, expect, it, test} from 'vitest'; import {describe, expect, it, test} from 'vitest';
import {Docker} from '../../src/docker/docker'; import {Docker} from '../../src/docker/docker.js';
const maybe = !process.env.GITHUB_ACTIONS || (process.env.GITHUB_ACTIONS === 'true' && process.env.ImageOS && process.env.ImageOS.startsWith('ubuntu')) ? describe : describe.skip; const maybe = !process.env.GITHUB_ACTIONS || (process.env.GITHUB_ACTIONS === 'true' && process.env.ImageOS && process.env.ImageOS.startsWith('ubuntu')) ? describe : describe.skip;

View File

@@ -21,11 +21,11 @@ import path from 'path';
import * as io from '@actions/io'; import * as io from '@actions/io';
import * as rimraf from 'rimraf'; import * as rimraf from 'rimraf';
import {mockHomedir} from '../.helpers/os'; import {mockHomedir} from '../.helpers/os.js';
import {Docker} from '../../src/docker/docker'; import {Docker} from '../../src/docker/docker.js';
import {ConfigFile} from '../../src/types/docker/docker'; import {ConfigFile} from '../../src/types/docker/docker.js';
const fixturesDir = path.join(__dirname, '..', '.fixtures'); const fixturesDir = path.join(__dirname, '..', '.fixtures');
const tmpDir = fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'docker-docker-')); const tmpDir = fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'docker-docker-'));

View File

@@ -19,11 +19,11 @@ import fs from 'fs';
import os from 'os'; import os from 'os';
import path from 'path'; import path from 'path';
import {Install, InstallSource, InstallSourceArchive, InstallSourceImage} from '../../src/docker/install'; import {Install, InstallSource, InstallSourceArchive, InstallSourceImage} from '../../src/docker/install.js';
import {Docker} from '../../src/docker/docker'; import {Docker} from '../../src/docker/docker.js';
import {Install as RegclientInstall} from '../../src/regclient/install'; import {Install as RegclientInstall} from '../../src/regclient/install.js';
import {Install as UndockInstall} from '../../src/undock/install'; import {Install as UndockInstall} from '../../src/undock/install.js';
import {Exec} from '../../src/exec'; import {Exec} from '../../src/exec.js';
const tmpDir = () => fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'docker-install-itg-')); const tmpDir = () => fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'docker-install-itg-'));

View File

@@ -20,9 +20,9 @@ import os from 'os';
import path from 'path'; import path from 'path';
import * as rimraf from 'rimraf'; import * as rimraf from 'rimraf';
import {mockArch, mockPlatform} from '../.helpers/os'; import {mockArch, mockPlatform} from '../.helpers/os.js';
import {Install, InstallSourceArchive, InstallSourceImage} from '../../src/docker/install'; import {Install, InstallSourceArchive, InstallSourceImage} from '../../src/docker/install.js';
const tmpDir = fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'docker-install-')); const tmpDir = fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'docker-install-'));

View File

@@ -18,12 +18,12 @@ import {describe, expect, vi, it} from 'vitest';
import * as fs from 'fs'; import * as fs from 'fs';
import * as path from 'path'; import * as path from 'path';
import {DockerHub} from '../src/dockerhub'; import {DockerHub} from '../src/dockerhub.js';
import {RepositoryResponse, RepositoryTagsResponse} from '../src/types/dockerhub'; import {RepositoryResponse, RepositoryTagsResponse} from '../src/types/dockerhub.js';
import repoInfoFixture from './.fixtures/dockerhub-repoinfo.json'; import repoInfoFixture from './.fixtures/dockerhub-repoinfo.json' with {type: 'json'};
import repoTagsFixture from './.fixtures/dockerhub-repotags.json'; import repoTagsFixture from './.fixtures/dockerhub-repotags.json' with {type: 'json'};
import repoAllTagsFixture from './.fixtures/dockerhub-repoalltags.json'; import repoAllTagsFixture from './.fixtures/dockerhub-repoalltags.json' with {type: 'json'};
describe('getRepository', () => { describe('getRepository', () => {
it('returns repo info', async () => { it('returns repo info', async () => {

View File

@@ -16,7 +16,7 @@
import {describe, expect, it, vi} from 'vitest'; import {describe, expect, it, vi} from 'vitest';
import {Exec} from '../src/exec'; import {Exec} from '../src/exec.js';
describe('exec', () => { describe('exec', () => {
it('returns docker version', async () => { it('returns docker version', async () => {

View File

@@ -16,8 +16,8 @@
import {beforeEach, describe, expect, it, vi} from 'vitest'; import {beforeEach, describe, expect, it, vi} from 'vitest';
import {Git as GitMocked} from '../src/git'; import {Git as GitMocked} from '../src/git.js';
import {Exec} from '../src/exec'; import {Exec} from '../src/exec.js';
import {ExecOutput} from '@actions/exec'; import {ExecOutput} from '@actions/exec';
beforeEach(() => { beforeEach(() => {
@@ -74,7 +74,7 @@ describe('remoteSha', () => {
it('returns sha using github api', async () => { it('returns sha using github api', async () => {
vi.resetModules(); vi.resetModules();
vi.unmock('@actions/github'); vi.unmock('@actions/github');
const {Git} = await import('../src/git'); const {Git} = await import('../src/git.js');
expect(await Git.remoteSha('https://github.com/docker/buildx.git', 'refs/pull/648/head', process.env.GITHUB_TOKEN)).toEqual('f11797113e5a9b86bd976329c5dbb8a8bfdfadfa'); expect(await Git.remoteSha('https://github.com/docker/buildx.git', 'refs/pull/648/head', process.env.GITHUB_TOKEN)).toEqual('f11797113e5a9b86bd976329c5dbb8a8bfdfadfa');
}); });
}); });

View File

@@ -19,8 +19,8 @@ import fs from 'fs';
import os from 'os'; import os from 'os';
import path from 'path'; import path from 'path';
import {GitHubArtifact} from '../../src/github/artifact'; import {GitHubArtifact} from '../../src/github/artifact.js';
import {Util} from '../../src/util'; import {Util} from '../../src/util.js';
const fixturesDir = path.join(__dirname, '..', '.fixtures'); const fixturesDir = path.join(__dirname, '..', '.fixtures');
const tmpDir = fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'github-itg-')); const tmpDir = fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'github-itg-'));

View File

@@ -19,10 +19,10 @@ import * as fs from 'fs';
import * as path from 'path'; import * as path from 'path';
import * as core from '@actions/core'; import * as core from '@actions/core';
import {GitHub} from '../../src/github/github'; import {GitHub} from '../../src/github/github.js';
import {GitHubRepo} from '../../src/types/github/github'; import {GitHubRepo} from '../../src/types/github/github.js';
import repoFixture from '../.fixtures/github-repo.json'; import repoFixture from '../.fixtures/github-repo.json' with {type: 'json'};
const fixturesDir = path.join(__dirname, '..', '.fixtures'); const fixturesDir = path.join(__dirname, '..', '.fixtures');
@@ -51,7 +51,7 @@ describe('repoData (api)', () => {
try { try {
vi.resetModules(); vi.resetModules();
vi.unmock('@actions/github'); vi.unmock('@actions/github');
const {GitHub} = await import('../../src/github/github'); const {GitHub} = await import('../../src/github/github.js');
const github = new GitHub({token: process.env.GITHUB_TOKEN}); const github = new GitHub({token: process.env.GITHUB_TOKEN});
const repo = await github.repoData(); const repo = await github.repoData();
const fullName = repo.full_name ?? `${repo.owner?.login}/${repo.name}`; const fullName = repo.full_name ?? `${repo.owner?.login}/${repo.name}`;

View File

@@ -19,13 +19,13 @@ import fs from 'fs';
import os from 'os'; import os from 'os';
import path from 'path'; import path from 'path';
import {Buildx} from '../../src/buildx/buildx'; import {Buildx} from '../../src/buildx/buildx.js';
import {Bake} from '../../src/buildx/bake'; import {Bake} from '../../src/buildx/bake.js';
import {Build} from '../../src/buildx/build'; import {Build} from '../../src/buildx/build.js';
import {Exec} from '../../src/exec'; import {Exec} from '../../src/exec.js';
import {GitHubArtifact} from '../../src/github/artifact'; import {GitHubArtifact} from '../../src/github/artifact.js';
import {GitHubSummary} from '../../src/github/summary'; import {GitHubSummary} from '../../src/github/summary.js';
import {History} from '../../src/buildx/history'; import {History} from '../../src/buildx/history.js';
const fixturesDir = path.join(__dirname, '..', '.fixtures'); const fixturesDir = path.join(__dirname, '..', '.fixtures');
const tmpDir = fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'github-itg-')); const tmpDir = fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'github-itg-'));

View File

@@ -20,11 +20,11 @@ import os from 'os';
import path from 'path'; import path from 'path';
import * as rimraf from 'rimraf'; import * as rimraf from 'rimraf';
import {mockArch, mockPlatform} from '../.helpers/os'; import {mockArch, mockPlatform} from '../.helpers/os.js';
import {OCI} from '../../src/oci/oci'; import {OCI} from '../../src/oci/oci.js';
import {Platform} from '../../src/types/oci/descriptor'; import {Platform} from '../../src/types/oci/descriptor.js';
const fixturesDir = path.join(__dirname, '..', '.fixtures'); const fixturesDir = path.join(__dirname, '..', '.fixtures');
const tmpDir = fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'oci-oci-')); const tmpDir = fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'oci-oci-'));

View File

@@ -17,7 +17,7 @@
import {describe, expect, test} from 'vitest'; import {describe, expect, test} from 'vitest';
import * as fs from 'fs'; import * as fs from 'fs';
import {Install} from '../../src/regclient/install'; import {Install} from '../../src/regclient/install.js';
describe('download', () => { describe('download', () => {
// prettier-ignore // prettier-ignore

View File

@@ -20,9 +20,9 @@ import os from 'os';
import path from 'path'; import path from 'path';
import * as rimraf from 'rimraf'; import * as rimraf from 'rimraf';
import {mockArch, mockPlatform} from '../.helpers/os'; import {mockArch, mockPlatform} from '../.helpers/os.js';
import {Install} from '../../src/regclient/install'; import {Install} from '../../src/regclient/install.js';
const tmpDir = fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'regclient-install-')); const tmpDir = fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'regclient-install-'));

View File

@@ -17,10 +17,10 @@
import {describe, expect, it, vi, test} from 'vitest'; import {describe, expect, it, vi, test} from 'vitest';
import * as semver from 'semver'; import * as semver from 'semver';
import {Exec} from '../../src/exec'; import {Exec} from '../../src/exec.js';
import {Regctl} from '../../src/regclient/regctl'; import {Regctl} from '../../src/regclient/regctl.js';
import {Image} from '../../src/types/oci/config'; import {Image} from '../../src/types/oci/config.js';
describe('manifestGet', () => { describe('manifestGet', () => {
// prettier-ignore // prettier-ignore

View File

@@ -17,12 +17,12 @@
import {beforeAll, describe, expect, vi, it} from 'vitest'; import {beforeAll, describe, expect, vi, it} from 'vitest';
import * as path from 'path'; import * as path from 'path';
import {Buildx} from '../../src/buildx/buildx'; import {Buildx} from '../../src/buildx/buildx.js';
import {Build} from '../../src/buildx/build'; import {Build} from '../../src/buildx/build.js';
import {Install as CosignInstall} from '../../src/cosign/install'; import {Install as CosignInstall} from '../../src/cosign/install.js';
import {Docker} from '../../src/docker/docker'; import {Docker} from '../../src/docker/docker.js';
import {Exec} from '../../src/exec'; import {Exec} from '../../src/exec.js';
import {Sigstore} from '../../src/sigstore/sigstore'; import {Sigstore} from '../../src/sigstore/sigstore.js';
const fixturesDir = path.join(__dirname, '..', '.fixtures'); const fixturesDir = path.join(__dirname, '..', '.fixtures');

View File

@@ -18,13 +18,13 @@ import {beforeAll, describe, expect, vi, it, test} from 'vitest';
import fs from 'fs'; import fs from 'fs';
import * as path from 'path'; import * as path from 'path';
import {Buildx} from '../../src/buildx/buildx'; import {Buildx} from '../../src/buildx/buildx.js';
import {Build} from '../../src/buildx/build'; import {Build} from '../../src/buildx/build.js';
import {Install as CosignInstall} from '../../src/cosign/install'; import {Install as CosignInstall} from '../../src/cosign/install.js';
import {Docker} from '../../src/docker/docker'; import {Docker} from '../../src/docker/docker.js';
import {Exec} from '../../src/exec'; import {Exec} from '../../src/exec.js';
import {OCI} from '../../src/oci/oci'; import {OCI} from '../../src/oci/oci.js';
import {Sigstore} from '../../src/sigstore/sigstore'; import {Sigstore} from '../../src/sigstore/sigstore.js';
const fixturesDir = path.join(__dirname, '..', '.fixtures'); const fixturesDir = path.join(__dirname, '..', '.fixtures');

View File

@@ -17,7 +17,7 @@
import {describe, expect, test} from 'vitest'; import {describe, expect, test} from 'vitest';
import * as fs from 'fs'; import * as fs from 'fs';
import {Install} from '../../src/undock/install'; import {Install} from '../../src/undock/install.js';
describe('download', () => { describe('download', () => {
// prettier-ignore // prettier-ignore

View File

@@ -20,9 +20,9 @@ import os from 'os';
import path from 'path'; import path from 'path';
import * as rimraf from 'rimraf'; import * as rimraf from 'rimraf';
import {mockArch, mockPlatform} from '../.helpers/os'; import {mockArch, mockPlatform} from '../.helpers/os.js';
import {Install} from '../../src/undock/install'; import {Install} from '../../src/undock/install.js';
const tmpDir = fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'undock-install-')); const tmpDir = fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'undock-install-'));

View File

@@ -18,8 +18,8 @@ import {describe, expect, it} from 'vitest';
import fs from 'fs'; import fs from 'fs';
import os from 'os'; import os from 'os';
import {Undock} from '../../src/undock/undock'; import {Undock} from '../../src/undock/undock.js';
import {Install as UndockInstall} from '../../src/undock/install'; import {Install as UndockInstall} from '../../src/undock/install.js';
describe('run', () => { describe('run', () => {
it('extracts moby/moby-bin:26.1.5', async () => { it('extracts moby/moby-bin:26.1.5', async () => {

View File

@@ -20,8 +20,8 @@ import path from 'path';
import {describe, expect, it, vi, test} from 'vitest'; import {describe, expect, it, vi, test} from 'vitest';
import * as semver from 'semver'; import * as semver from 'semver';
import {Exec} from '../../src/exec'; import {Exec} from '../../src/exec.js';
import {Undock} from '../../src/undock/undock'; import {Undock} from '../../src/undock/undock.js';
const tmpDir = fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'undock-undock-')); const tmpDir = fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'undock-undock-'));

View File

@@ -18,7 +18,7 @@ import {describe, expect, it, test} from 'vitest';
import * as fs from 'fs'; import * as fs from 'fs';
import * as path from 'path'; import * as path from 'path';
import {Util} from '../src/util'; import {Util} from '../src/util.js';
describe('getInputList', () => { describe('getInputList', () => {
it('single line correctly', async () => { it('single line correctly', async () => {

View File

@@ -35,16 +35,7 @@ module.exports = defineConfig([
globalIgnores(['.yarn/**/*', 'lib/**/*', 'coverage/**/*', 'node_modules/**/*']), globalIgnores(['.yarn/**/*', 'lib/**/*', 'coverage/**/*', 'node_modules/**/*']),
{ {
extends: fixupConfigRules( extends: fixupConfigRules(
compat.extends( compat.extends('eslint:recommended', 'plugin:@typescript-eslint/eslint-recommended', 'plugin:@typescript-eslint/recommended', 'plugin:import/errors', 'plugin:import/typescript', 'plugin:import/warnings', 'plugin:prettier/recommended')
'eslint:recommended',
'plugin:@typescript-eslint/eslint-recommended',
'plugin:@typescript-eslint/recommended',
'plugin:import/errors',
'plugin:import/typescript',
'plugin:import/warnings',
'plugin:vitest/recommended',
'plugin:prettier/recommended'
)
), ),
plugins: { plugins: {
@@ -72,9 +63,10 @@ module.exports = defineConfig([
'import/no-unresolved': [ 'import/no-unresolved': [
'error', 'error',
{ {
ignore: ['\\.js$', 'csv-parse/sync', '@octokit/openapi-types', '@octokit/core', '@octokit/plugin-rest-endpoint-methods'] ignore: ['\\.js$', 'csv-parse/sync', '@octokit/openapi-types', '@octokit/core', '@octokit/plugin-rest-endpoint-methods', 'vitest/config']
} }
], ],
'vitest/no-conditional-expect': 'error',
'vitest/no-disabled-tests': 0 'vitest/no-disabled-tests': 0
} }
} }

View File

@@ -20,7 +20,7 @@ import {DefaultArtifactClient, InvalidResponseError} from '@actions/artifact';
import * as core from '@actions/core'; import * as core from '@actions/core';
import {UploadOpts, UploadResponse} from '../types/github/artifact.js'; import {UploadOpts, UploadResponse} from '../types/github/artifact.js';
import {GitHub} from './github'; import {GitHub} from './github.js';
export class GitHubArtifact { export class GitHubArtifact {
public static async upload(opts: UploadOpts): Promise<UploadResponse> { public static async upload(opts: UploadOpts): Promise<UploadResponse> {

View File

@@ -19,7 +19,7 @@ import {dump as yamldump} from 'js-yaml';
import os from 'os'; import os from 'os';
import * as core from '@actions/core'; import * as core from '@actions/core';
import {GitHub} from './github'; import {GitHub} from './github.js';
import {Util} from '../util.js'; import {Util} from '../util.js';
import {BuildSummaryOpts, SummaryTableCell} from '../types/github/summary.js'; import {BuildSummaryOpts, SummaryTableCell} from '../types/github/summary.js';

View File

@@ -16,9 +16,9 @@
import * as core from '@actions/core'; import * as core from '@actions/core';
import {UploadResponse} from './artifact'; import {UploadResponse} from './artifact.js';
import {BakeDefinition} from '../buildx/bake'; import {BakeDefinition} from '../buildx/bake.js';
import {ExportResponse} from '../buildx/history'; import {ExportResponse} from '../buildx/history.js';
export type SummaryTableRow = Parameters<typeof core.summary.addTable>[0][number]; export type SummaryTableRow = Parameters<typeof core.summary.addTable>[0][number];
export type SummaryTableCell = Exclude<SummaryTableRow[number], string>; export type SummaryTableCell = Exclude<SummaryTableRow[number], string>;

View File

@@ -1,7 +1,7 @@
{ {
"compilerOptions": { "compilerOptions": {
"module": "es2020", "module": "nodenext",
"moduleResolution": "bundler", "moduleResolution": "nodenext",
"esModuleInterop": true, "esModuleInterop": true,
"isolatedModules": true, "isolatedModules": true,
"strict": true, "strict": true,
@@ -12,13 +12,13 @@
"rootDir": "./src", "rootDir": "./src",
"forceConsistentCasingInFileNames": true, "forceConsistentCasingInFileNames": true,
"noImplicitAny": false, "noImplicitAny": false,
"resolveJsonModule": true,
"useUnknownInCatchVariables": false, "useUnknownInCatchVariables": false,
"skipLibCheck": true, "skipLibCheck": true
}, },
"include": [
"src/**/*.ts"
],
"exclude": [ "exclude": [
"./__mocks__/**/*",
"./__tests__/**/*",
"./lib/**/*", "./lib/**/*",
"node_modules" "node_modules"
] ]