Skip to content

Commit

Permalink
☕ Support JSR
Browse files Browse the repository at this point in the history
  • Loading branch information
lambdalisue committed Apr 14, 2024
1 parent ddc4c5c commit def7121
Show file tree
Hide file tree
Showing 16 changed files with 84 additions and 69 deletions.
27 changes: 27 additions & 0 deletions .github/workflows/jsr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: jsr

env:
DENO_VERSION: 1.x

on:
push:
tags:
- "v*"

permissions:
contents: read
id-token: write

jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: denoland/setup-deno@v1
with:
deno-version: ${{ env.DENO_VERSION }}
- name: Publish
run: |
deno run -A jsr:@david/[email protected]
11 changes: 11 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -100,3 +100,14 @@ jobs:
os: ${{ runner.os }}
files: ./coverage.lcov
token: ${{ secrets.CODECOV_TOKEN }}

jsr-publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: denoland/setup-deno@v1
with:
deno-version: ${{ env.DENO_VERSION }}
- name: Publish (dry-run)
run: |
deno publish --dry-run
17 changes: 7 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
# 📝 denops_test

[![Test](https://github.com/vim-denops/deno-denops-test/actions/workflows/test.yml/badge.svg)](https://github.com/vim-denops/deno-denops-test/actions/workflows/test.yml)
[![jsr](https://jsr.io/badges/@denops/test)](https://jsr.io/@denops/test)
[![denoland](https://img.shields.io/github/v/release/vim-denops/deno-denops-test?logo=deno&label=denoland)](https://deno.land/x/denops_test)
[![deno doc](https://doc.deno.land/badge.svg)](https://doc.deno.land/https/deno.land/x/denops_test/mod.ts)
[![deno land](http://img.shields.io/badge/available%20on-deno.land/x/denops__test-lightgrey.svg?logo=deno)](https://deno.land/x/denops_test)
[![test](https://github.com/vim-denops/deno-denops-test/actions/workflows/test.yml/badge.svg)](https://github.com/vim-denops/deno-denops-test/actions/workflows/test.yml)
[![codecov](https://codecov.io/github/vim-denops/deno-denops-test/branch/main/graph/badge.svg?token=X9O5XB4O1S)](https://codecov.io/github/vim-denops/deno-denops-test)

A [Deno] module designed for testing [denops.vim]. This module is intended to be
Expand All @@ -29,12 +30,8 @@ If you want to test denops plugins with a real Vim and/or Neovim process, use
the `test` function to define a test case, as shown below:

```typescript
import {
assert,
assertEquals,
assertFalse,
} from "https://deno.land/[email protected]/assert/mod.ts";
import { test } from "https://deno.land/x/denops_test@$MODULE_VERSION/mod.ts";
import { assert, assertEquals, assertFalse } from "jsr:@std/assert";
import { test } from "jsr:@denops/test";

test(
"vim",
Expand Down Expand Up @@ -74,8 +71,8 @@ the `DenopsStub` class to create a stub instance of the `Denops` interface, as
shown below:

```typescript
import { assertEquals } from "https://deno.land/[email protected]/assert/mod.ts";
import { DenopsStub } from "https://deno.land/x/denops_test@$MODULE_VERSION/mod.ts";
import { assertEquals } from "jsr:@std/assert";
import { DenopsStub } from "jsr:@denops/test";

Deno.test("denops.call", async () => {
const denops = new DenopsStub({
Expand Down
2 changes: 1 addition & 1 deletion conf.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { resolve } from "https://deno.land/std@0.210.0/path/mod.ts";
import { resolve } from "jsr:@std/path@^0.210.0";

let conf: Config | undefined;

Expand Down
5 changes: 4 additions & 1 deletion deno.jsonc
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
{
"name": "@denops/test",
"version": "0.0.0",
"exports": "./mod.ts",
"imports": {
"https://deno.land/x/denops_test@$MODULE_VERSION/": "./"
"jsr:@denops/test": "./mod.ts"
},
"tasks": {
"check": "deno check **/*.ts",
Expand Down
4 changes: 2 additions & 2 deletions denops.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ import type {
Denops,
Dispatcher,
Meta,
} from "https://deno.land/x/denops_core@v6.0.2/mod.ts";
import { Client } from "https://deno.land/x/[email protected]/mod.ts";
} from "jsr:@denops/core@^6.0.6";
import type { Client } from "jsr:@lambdalisue/messagepack-rpc@^2.1.1";

export class DenopsImpl implements Denops {
readonly name: string;
Expand Down
4 changes: 2 additions & 2 deletions error.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import { is } from "https://deno.land/x/unknownutil@v3.11.0/mod.ts";
import { is } from "jsr:@core/unknownutil@^3.17.3";
import {
fromErrorObject,
isErrorObject,
toErrorObject,
tryOr,
} from "https://deno.land/x/errorutil@v0.1.1/mod.ts";
} from "jsr:@lambdalisue/errorutil@^1.0.0";

export function errorSerializer(err: unknown): unknown {
if (err instanceof Error) {
Expand Down
8 changes: 4 additions & 4 deletions mod.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@
* assert,
* assertEquals,
* assertFalse,
* } from "https://deno.land/[email protected]/assert/mod.ts";
* import { test } from "https://deno.land/x/denops_test@$MODULE_VERSION/mod.ts";
* } from "jsr:@std/assert";
* import { test } from "jsr:@denops/test";
*
* test(
* "vim",
Expand Down Expand Up @@ -68,8 +68,8 @@
* shown below:
*
* ```typescript
* import { assertEquals } from "https://deno.land/[email protected]/assert/mod.ts";
* import { DenopsStub } from "https://deno.land/x/denops_test@$MODULE_VERSION/mod.ts";
* import { assertEquals } from "jsr:@std/assert";
* import { DenopsStub } from "jsr:@denops/test";
*
* Deno.test("denops.call", async () => {
* const denops = new DenopsStub({
Expand Down
13 changes: 3 additions & 10 deletions plugin.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,6 @@
import type { Denops } from "https://deno.land/x/[email protected]/mod.ts";
import {
assert,
ensure,
is,
} from "https://deno.land/x/[email protected]/mod.ts";
import {
Client,
Session,
} from "https://deno.land/x/[email protected]/mod.ts";
import type { Denops } from "jsr:@denops/core@^6.0.6";
import { assert, ensure, is } from "jsr:@core/[email protected]";
import { Client, Session } from "jsr:@lambdalisue/messagepack-rpc@^2.1.1";
import { errorDeserializer, errorSerializer } from "./error.ts";

export async function main(denops: Denops): Promise<void> {
Expand Down
6 changes: 3 additions & 3 deletions runner.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { is } from "https://deno.land/x/unknownutil@v3.11.0/mod.ts";
import { unreachable } from "https://deno.land/x/errorutil@v0.1.1/mod.ts";
import { Config, getConfig } from "./conf.ts";
import { is } from "jsr:@core/unknownutil@^3.17.3";
import { unreachable } from "jsr:@lambdalisue/errorutil@^1.0.0";
import { type Config, getConfig } from "./conf.ts";

/**
* Represents the mode in which the runner operates.
Expand Down
4 changes: 2 additions & 2 deletions stub.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import {
import type {
Context,
Denops,
Dispatcher,
Meta,
} from "https://deno.land/x/denops_core@v6.0.2/mod.ts";
} from "jsr:@denops/core@^6.0.6";

/**
* Represents a stubber object for `Denops`.
Expand Down
9 changes: 3 additions & 6 deletions stub_test.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
import {
assertSpyCall,
spy,
} from "https://deno.land/[email protected]/testing/mock.ts";
import { assertEquals } from "https://deno.land/[email protected]/assert/mod.ts";
import { Denops } from "https://deno.land/x/[email protected]/mod.ts";
import { assertSpyCall, spy } from "jsr:@std/testing@^0.222.1/mock";
import { assertEquals } from "jsr:@std/assert@^0.222.1";
import type { Denops } from "jsr:@denops/core@^6.0.6";
import { DenopsStub } from "./stub.ts";

Deno.test("`DenopsStub`", async (t) => {
Expand Down
12 changes: 6 additions & 6 deletions tester.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { sample } from "https://deno.land/std@0.210.0/collections/sample.ts";
import type { Denops } from "https://deno.land/x/denops_core@v6.0.2/mod.ts";
import { sample } from "jsr:@std/collections@^0.222.1";
import type { Denops } from "jsr:@denops/core@^6.0.6";
import type { RunMode } from "./runner.ts";
import { withDenops } from "./with.ts";

Expand Down Expand Up @@ -45,8 +45,8 @@ export interface TestDefinition extends Omit<Deno.TestDefinition, "fn"> {
* tests by passing a `denops` instance to the registered test function.
*
* ```ts
* import { assert, assertFalse } from "https://deno.land/[email protected]/assert/mod.ts";
* import { test } from "https://deno.land/x/denops_test@$MODULE_VERSION/mod.ts";
* import { assert, assertFalse } from "jsr:@std/assert";
* import { test } from "jsr:@denops/test";
*
* test("vim", "Test with Vim", async (denops) => {
* assertFalse(await denops.call("has", "nvim"));
Expand Down Expand Up @@ -74,8 +74,8 @@ export function test(
* tests by passing a `denops` instance to the registered test function.
*
* ```ts
* import { assert, assertFalse } from "https://deno.land/[email protected]/assert/mod.ts";
* import { test } from "https://deno.land/x/denops_test@$MODULE_VERSION/mod.ts";
* import { assert, assertFalse } from "jsr:@std/assert";
* import { test } from "jsr:@denops/test";
*
* test({
* mode: "nvim",
Expand Down
6 changes: 1 addition & 5 deletions tester_test.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
import {
assert,
assertEquals,
assertFalse,
} from "https://deno.land/[email protected]/assert/mod.ts";
import { assert, assertEquals, assertFalse } from "jsr:@std/assert@^0.222.1";
import { test } from "./tester.ts";

test({
Expand Down
20 changes: 7 additions & 13 deletions with.ts
Original file line number Diff line number Diff line change
@@ -1,15 +1,9 @@
import { deadline } from "https://deno.land/[email protected]/async/mod.ts";
import { assert, is } from "https://deno.land/x/[email protected]/mod.ts";
import {
Client,
Session,
} from "https://deno.land/x/[email protected]/mod.ts";
import type {
Denops,
Meta,
} from "https://deno.land/x/[email protected]/mod.ts";
import { deadline } from "jsr:@std/async@^0.222.1";
import { assert, is } from "jsr:@core/unknownutil@^3.17.3";
import { Client, Session } from "jsr:@lambdalisue/messagepack-rpc@^2.1.1";
import type { Denops, Meta } from "jsr:@denops/core@^6.0.6";
import { getConfig } from "./conf.ts";
import { run, RunMode } from "./runner.ts";
import { run, type RunMode } from "./runner.ts";
import { DenopsImpl } from "./denops.ts";
import { errorDeserializer, errorSerializer } from "./error.ts";

Expand Down Expand Up @@ -44,8 +38,8 @@ export interface WithDenopsOptions {
* internally spawns a Vim/Neovim sub-process, which performs the tests.
*
* ```ts
* import { assert, assertFalse } from "https://deno.land/[email protected]/assert/mod.ts";
* import { withDenops } from "https://deno.land/x/denops_test@$MODULE_VERSION/mod.ts";
* import { assert, assertFalse } from "jsr:@std/assert";
* import { withDenops } from "jsr:@denops/test";
*
* Deno.test("Test Denops (Vim)", async () => {
* await withDenops("vim", async (denops) => {
Expand Down
5 changes: 1 addition & 4 deletions with_test.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
import {
assert,
assertFalse,
} from "https://deno.land/[email protected]/assert/mod.ts";
import { assert, assertFalse } from "jsr:@std/assert@^0.222.1";
import { withDenops } from "./with.ts";

Deno.test(
Expand Down

0 comments on commit def7121

Please sign in to comment.