From 39e5b8bbb95228d0b8a3cef9854ff3097177fa83 Mon Sep 17 00:00:00 2001 From: David Sherret Date: Sun, 30 Jun 2024 17:42:45 -0400 Subject: [PATCH] Add tests and fix issues. --- common.ts | 13 ++++- deno.json | 5 +- deno.lock | 5 ++ mod.ts | 1 + mod_test.ts | 105 +++++++++++++++++++++++++++++++++++++-- test/test_plugin_v4.wasm | Bin 0 -> 302047 bytes v3.ts | 15 +++++- v4.ts | 56 ++++++++++++++++----- 8 files changed, 180 insertions(+), 20 deletions(-) create mode 100644 test/test_plugin_v4.wasm diff --git a/common.ts b/common.ts index 4bc3980..e4bfa03 100644 --- a/common.ts +++ b/common.ts @@ -39,6 +39,10 @@ export interface Formatter { * Gets the plugin info. */ getPluginInfo(): PluginInfo; + /** + * Gets what files the plugin matches based on the current configuration. + */ + getFileMatchingInfo(): FileMatchingInfo; /** * Gets the license text of the plugin. */ @@ -72,8 +76,13 @@ export interface PluginInfo { name: string; version: string; configKey: string; - fileExtensions: string[]; - fileNames: string[]; helpUrl: string; configSchemaUrl: string; + updateUrl?: string; +} + +/** Information about how the current config matches files. */ +export interface FileMatchingInfo { + fileExtensions: string[] | undefined; + fileNames: string[]; } diff --git a/deno.json b/deno.json index 3b2e95f..ac99dbd 100644 --- a/deno.json +++ b/deno.json @@ -1,4 +1,6 @@ { + "name": "@dprint/formatter", + "version": "0.0.0", "tasks": { "build:npm": "deno run -A ./scripts/build_npm.ts" }, @@ -8,5 +10,6 @@ "imports": { "@deno/dnt": "jsr:@deno/dnt@^0.41.2", "@std/assert": "jsr:@std/assert@^0.226.0" - } + }, + "exports": "./mod.ts" } diff --git a/deno.lock b/deno.lock index 451b69c..11ef59e 100644 --- a/deno.lock +++ b/deno.lock @@ -4,6 +4,7 @@ "specifiers": { "jsr:@deno/cache-dir@^0.8.0": "jsr:@deno/cache-dir@0.8.0", "jsr:@deno/dnt@^0.41.2": "jsr:@deno/dnt@0.41.2", + "jsr:@deno/graph@^0.69.7": "jsr:@deno/graph@0.69.10", "jsr:@std/assert@^0.218.2": "jsr:@std/assert@0.218.2", "jsr:@std/assert@^0.226.0": "jsr:@std/assert@0.226.0", "jsr:@std/bytes@^0.218.2": "jsr:@std/bytes@0.218.2", @@ -19,6 +20,7 @@ "@deno/cache-dir@0.8.0": { "integrity": "e87e80a404958f6350d903e6238b72afb92468378b0b32111f7a1e4916ac7fe7", "dependencies": [ + "jsr:@deno/graph@^0.69.7", "jsr:@std/fs@^0.218.2", "jsr:@std/io@^0.218.2" ] @@ -34,6 +36,9 @@ "npm:code-block-writer@^13.0.1" ] }, + "@deno/graph@0.69.10": { + "integrity": "38fe22ac5686f6ece5daeec5a4df65c6314d7d32adcc33f77917a13cfaffa26f" + }, "@std/assert@0.218.2": { "integrity": "7f0a5a1a8cf86607cd6c2c030584096e1ffad27fc9271429a8cb48cfbdee5eaf" }, diff --git a/mod.ts b/mod.ts index 555c14f..de29504 100644 --- a/mod.ts +++ b/mod.ts @@ -4,6 +4,7 @@ import * as v4 from "./v4.ts"; export type { ConfigurationDiagnostic, + FileMatchingInfo, FormatRequest, Formatter, GlobalConfiguration, diff --git a/mod_test.ts b/mod_test.ts index fb59942..5377daa 100644 --- a/mod_test.ts +++ b/mod_test.ts @@ -1,5 +1,5 @@ -import { assertEquals } from "@std/assert"; -import { createFromBuffer, createStreaming, Formatter, GlobalConfiguration } from "./mod.ts"; +import { assert, assertEquals } from "@std/assert"; +import { createFromBuffer, createStreaming, type Formatter, type GlobalConfiguration } from "./mod.ts"; Deno.test("it should create streaming", async () => { const formatter = await createStreaming( @@ -68,11 +68,13 @@ function runGeneralJsonFormatterTests(formatter: Formatter) { name: "dprint-plugin-json", version: "0.13.0", configKey: "json", - fileExtensions: ["json", "jsonc"], - fileNames: [], helpUrl: "https://dprint.dev/plugins/json", configSchemaUrl: "https://plugins.dprint.dev/schemas/json-0.13.0.json", }); + assertEquals(formatter.getFileMatchingInfo(), { + fileExtensions: ["json", "jsonc"], + fileNames: [], + }); assertEquals(formatter.getResolvedConfig(), { "array.preferSingleLine": true, "commentLine.forceSpaceAfterSlashes": true, @@ -101,3 +103,98 @@ function runGeneralJsonFormatterTests(formatter: Formatter) { `{\n "test": [1, 2]\n}\n`, ); } + +Deno.test("should support v4", () => { + // this plugin file's code is here: https://github.com/dprint/dprint/blob/main/crates/test-plugin/src/lib.rs + const formatter = createFromBuffer( + Deno.readFileSync(new URL("./test/test_plugin_v4.wasm", import.meta.url)), + ); + + formatter.setConfig({}, { "ending": "formatted_wasm" }); + { + const result = formatter.formatText({ + filePath: "test.txt", + fileText: `test`, + }); + assertEquals(result, `test_formatted_wasm`); + } + formatter.setConfig({}, { "ending": "other" }); + { + const result = formatter.formatText({ + filePath: "test.txt", + fileText: `test`, + }); + assertEquals(result, `test_other`); + } + // these will trigger fd_write + { + const result = formatter.formatText({ + filePath: "test.txt", + fileText: `stderr: hi on stderr`, + }); + assertEquals(result, `stderr: hi on stderr_other`); + } + { + const result = formatter.formatText({ + filePath: "test.txt", + fileText: `stdout: hi on stdout`, + }); + assertEquals(result, `stdout: hi on stdout_other`); + } + + assertEquals(formatter.getPluginInfo(), { + name: "test-plugin", + version: "0.2.0", + configKey: "test-plugin", + helpUrl: "https://dprint.dev/plugins/test", + configSchemaUrl: "https://plugins.dprint.dev/test/schema.json", + updateUrl: "https://plugins.dprint.dev/dprint/test-plugin/latest.json", + }); + assertEquals(formatter.getFileMatchingInfo(), { + fileExtensions: ["txt"], + fileNames: [], + }); + + // some special config in this plugin + formatter.setConfig({}, { "file_extensions": ["asdf"], "file_names": ["some_name"] }); + assertEquals(formatter.getFileMatchingInfo(), { + fileExtensions: ["asdf"], + fileNames: ["some_name"], + }); + + assertEquals(formatter.getLicenseText().substring(0, 15), "The MIT License"); + + // test out host formatting + { + const result = formatter.formatText({ + filePath: "file.txt", + fileText: "plugin: text", + }, (request) => { + return request.fileText + "_host"; + }); + assertEquals(result, "plugin: text_host_formatted"); + } + // test host formatting with plugin config + { + const result = formatter.formatText({ + filePath: "file.txt", + fileText: "plugin-config: text", + }, (request) => { + assertEquals(request.overrideConfig, { "ending": "custom_config" }); + return request.fileText + "_host"; + }); + assertEquals(result, "plugin-config: text_host_formatted"); + } + // now try range formatting with host formatting + { + const result = formatter.formatText({ + filePath: "file.txt", + fileText: "plugin-range: text", + bytesRange: [0, 5], + }, (request) => { + assertEquals(request.bytesRange, [0, 5]); + return request.fileText + "_host"; + }); + assertEquals(result, "plugin-range: text_host_formatted"); + } +}); diff --git a/test/test_plugin_v4.wasm b/test/test_plugin_v4.wasm new file mode 100644 index 0000000000000000000000000000000000000000..4b04d24332c628d4f43cbdc645f38bcc39401ffa GIT binary patch literal 302047 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 literal 0 HcmV?d00001 diff --git a/v3.ts b/v3.ts index 5e91ac0..6e959d6 100644 --- a/v3.ts +++ b/v3.ts @@ -134,12 +134,25 @@ export function createFromInstance( const length = get_resolved_config(); return JSON.parse(receiveString(wasmInstance, length)); }, + getFileMatchingInfo() { + const length = get_plugin_info(); + const pluginInfo = JSON.parse(receiveString(wasmInstance, length)) as PluginInfo; + return { + // deno-lint-ignore no-explicit-any + fileExtensions: (pluginInfo as any).fileExtensions ?? [], + // deno-lint-ignore no-explicit-any + fileNames: (pluginInfo as any).fileNames ?? [], + }; + }, getPluginInfo() { const length = get_plugin_info(); const pluginInfo = JSON.parse( receiveString(wasmInstance, length), ) as PluginInfo; - pluginInfo.fileNames = pluginInfo.fileNames ?? []; + // deno-lint-ignore no-explicit-any + delete (pluginInfo as any).fileNames; + // deno-lint-ignore no-explicit-any + delete (pluginInfo as any).fileExtensions; return pluginInfo; }, getLicenseText() { diff --git a/v4.ts b/v4.ts index 74d30ab..31e10d7 100644 --- a/v4.ts +++ b/v4.ts @@ -1,4 +1,5 @@ import type { FormatRequest, Formatter, GlobalConfiguration, Host, PluginInfo } from "./common.ts"; +import { FileMatchingInfo } from "./mod.ts"; const decoder = new TextDecoder(); const encoder = new TextEncoder(); @@ -22,16 +23,44 @@ export function createHost(): Host { createImportObject(): WebAssembly.Imports { let sharedBuffer = new Uint8Array(0); - const resetSharedBuffer = (length: number) => { - sharedBuffer = new Uint8Array(length); - }; - return { + env: { + "fd_write": ( + fd: number, + iovsPtr: number, + iovsLen: number, + nwrittenPtr: number, + ) => { + let totalWritten = 0; + // deno-lint-ignore no-explicit-any + const wasmMemoryBuffer = (instance.exports.memory as any).buffer; + const dataView = new DataView(wasmMemoryBuffer); + + for (let i = 0; i < iovsLen; i++) { + const iovsOffset = iovsPtr + i * 8; + const iovecBufPtr = dataView.getUint32(iovsOffset, true); + const iovecBufLen = dataView.getUint32(iovsOffset + 4, true); + + const buf = new Uint8Array(wasmMemoryBuffer, iovecBufPtr, iovecBufLen); + + if (fd === 1) { + Deno.stdout.writeSync(buf); + } else if (fd === 2) { + Deno.stderr.writeSync(buf); + } else { + return 1; // not supported fd + } + + totalWritten += iovecBufLen; + } + + dataView.setUint32(nwrittenPtr, totalWritten, true); + + return 0; // success + }, + }, dprint: { "host_has_cancelled": () => 0, - "host_clear_bytes": (length: number) => { - resetSharedBuffer(length); - }, "host_write_buffer": (pointer: number) => { getWasmBufferAtPointer(instance, pointer, sharedBuffer.length).set(sharedBuffer); }, @@ -104,6 +133,7 @@ export function createFromInstance( format_range, get_error_text, get_plugin_info, + get_config_file_matching, get_resolved_config, get_config_diagnostics, get_license_text, @@ -127,11 +157,13 @@ export function createFromInstance( const length = get_resolved_config(configId); return JSON.parse(receiveString(length)); }, + getFileMatchingInfo() { + const length = get_config_file_matching(configId); + return JSON.parse(receiveString(length)) as FileMatchingInfo; + }, getPluginInfo() { const length = get_plugin_info(); - const pluginInfo = JSON.parse(receiveString(length)) as PluginInfo; - pluginInfo.fileNames = pluginInfo.fileNames ?? []; - return pluginInfo; + return JSON.parse(receiveString(length)) as PluginInfo; }, getLicenseText() { const length = get_license_text(); @@ -155,8 +187,8 @@ export function createFromInstance( sendString(request.fileText); const responseCode = request.bytesRange != null - ? format_range(request.bytesRange[0], request.bytesRange[1]) - : format(); + ? format_range(configId, request.bytesRange[0], request.bytesRange[1]) + : format(configId); switch (responseCode) { case 0: // no change return request.fileText;