@tui-sandbox/library 12.3.1 → 12.4.0

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.
@@ -3,7 +3,7 @@
3
3
  <head>
4
4
  <meta charset="UTF-8" />
5
5
  <title>tui-sandbox integration tests</title>
6
- <script type="module" crossorigin src="/assets/index-DZMdP7t7.js"></script>
6
+ <script type="module" crossorigin src="/assets/index-CBAsIfwR.js"></script>
7
7
  <link rel="stylesheet" crossorigin href="/assets/index-DeHrVVje.css">
8
8
  </head>
9
9
  <body>
@@ -0,0 +1,2 @@
1
+ /** Draw a Unicode box around text content with a title in the top border. */
2
+ export declare const drawTextBox: (title: string, content: string, minWidth?: number) => string;
@@ -0,0 +1,17 @@
1
+ /** Draw a Unicode box around text content with a title in the top border. */
2
+ export const drawTextBox = (title, content, minWidth = 88) => {
3
+ const header = ` ${title} `;
4
+ const contentLines = content.split("\n");
5
+ // The box must be wide enough for the header and all content lines
6
+ const maxContentWidth = Math.max(...contentLines.map(line => line.length));
7
+ const width = Math.max(minWidth, maxContentWidth + 4, header.length + 2);
8
+ const innerWidth = width - 2;
9
+ const topBorder = `┌${header}${"─".repeat(innerWidth - header.length)}┐`;
10
+ const bottomBorder = `└${"─".repeat(innerWidth)}┘`;
11
+ const lines = contentLines.map(line => {
12
+ const padded = line.padEnd(innerWidth - 2);
13
+ return `│ ${padded} │`;
14
+ });
15
+ return `${topBorder}\n${lines.join("\n")}\n${bottomBorder}`;
16
+ };
17
+ //# sourceMappingURL=drawTextBox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drawTextBox.js","sourceRoot":"","sources":["../../../src/client/drawTextBox.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAa,EAAE,OAAe,EAAE,QAAQ,GAAG,EAAE,EAAU,EAAE;IACnF,MAAM,MAAM,GAAG,IAAI,KAAK,GAAG,CAAA;IAC3B,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAExC,mEAAmE;IACnE,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IAC1E,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,eAAe,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAExE,MAAM,UAAU,GAAG,KAAK,GAAG,CAAC,CAAA;IAC5B,MAAM,SAAS,GAAG,IAAI,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA;IACxE,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAA;IAClD,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QACpC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,CAAA;QAC1C,OAAO,KAAK,MAAM,IAAI,CAAA;IACxB,CAAC,CAAC,CAAA;IACF,OAAO,GAAG,SAAS,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,YAAY,EAAE,CAAA;AAC7D,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,32 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { drawTextBox } from "./drawTextBox.js";
3
+ describe("drawTextBox", () => {
4
+ it("draws a box around terminal content", () => {
5
+ const content = [
6
+ "",
7
+ "The default interactive shell is now zsh.",
8
+ "To update your account to use zsh, please run `chsh -s /bin/zsh`.",
9
+ "For more details, please visit https://support.apple.com/kb/HT208050.",
10
+ "myprompt ~ ➜",
11
+ ].join("\n");
12
+ expect(drawTextBox("Terminal content at failure", content)).toMatchInlineSnapshot(`
13
+ "┌ Terminal content at failure ─────────────────────────────────────────────────────────┐
14
+ │ │
15
+ │ The default interactive shell is now zsh. │
16
+ │ To update your account to use zsh, please run \`chsh -s /bin/zsh\`. │
17
+ │ For more details, please visit https://support.apple.com/kb/HT208050. │
18
+ │ myprompt ~ ➜ │
19
+ └──────────────────────────────────────────────────────────────────────────────────────┘"
20
+ `);
21
+ });
22
+ it("expands the box when content is wider than the default width", () => {
23
+ const longLine = "testdirs/dir-HME0bB/initial-file.txt 1,1 All";
24
+ const content = ["If you see this text, Neovim is ready!", "~", longLine].join("\n");
25
+ const result = drawTextBox("Terminal content at failure", content);
26
+ const lines = result.split("\n");
27
+ // All lines should be the same visual width
28
+ const lengths = lines.map(line => line.length);
29
+ expect(new Set(lengths).size).toBe(1);
30
+ });
31
+ }); // describe
32
+ //# sourceMappingURL=drawTextBox.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drawTextBox.test.js","sourceRoot":"","sources":["../../../src/client/drawTextBox.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,OAAO,GAAG;YACd,EAAE;YACF,2CAA2C;YAC3C,mEAAmE;YACnE,uEAAuE;YACvE,cAAc;SACf,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEZ,MAAM,CAAC,WAAW,CAAC,6BAA6B,EAAE,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC;;;;;;;;GAQnF,CAAC,CAAA;IACF,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;QACtE,MAAM,QAAQ,GACZ,gIAAgI,CAAA;QAClI,MAAM,OAAO,GAAG,CAAC,wCAAwC,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEpF,MAAM,MAAM,GAAG,WAAW,CAAC,6BAA6B,EAAE,OAAO,CAAC,CAAA;QAClE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAEhC,4CAA4C;QAC5C,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC9C,MAAM,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACvC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA,CAAC,WAAW"}
@@ -1,4 +1,5 @@
1
1
  export type { InMemoryClipboard } from "./clipboard.js";
2
2
  export { rgbify } from "./color-utilities.js";
3
3
  export { textIsVisibleWithBackgroundColor, textIsVisibleWithColor } from "./cypress-assertions.js";
4
+ export { drawTextBox } from "./drawTextBox.js";
4
5
  export type { MyNeovimConfigModification } from "./neovim/MyNeovimConfigModification.ts";
@@ -1,4 +1,5 @@
1
1
  // This is the public client api. Semantic versioning will be applied to this.
2
2
  export { rgbify } from "./color-utilities.js";
3
3
  export { textIsVisibleWithBackgroundColor, textIsVisibleWithColor } from "./cypress-assertions.js";
4
+ export { drawTextBox } from "./drawTextBox.js";
4
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAG9E,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAC7C,OAAO,EAAE,gCAAgC,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAG9E,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAC7C,OAAO,EAAE,gCAAgC,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAClG,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA"}
@@ -1,278 +1,12 @@
1
+ import { readFileSync } from "fs";
2
+ import { createRequire } from "module";
1
3
  import { format, resolveConfig } from "prettier";
2
4
  import { fileURLToPath } from "url";
3
5
  const __filename = fileURLToPath(import.meta.url);
6
+ const require = createRequire(import.meta.url);
4
7
  export async function createCypressSupportFileContents() {
5
- // this is the interface of tui-sandbox as far as cypress in the user's
6
- // application is concerned
7
- let text = `/// <reference types="cypress" />
8
- //
9
- // This file is autogenerated by tui-sandbox. Do not edit it directly.
10
- //
11
- import type {
12
- BrowserTerminalSettings,
13
- GenericNeovimBrowserApi,
14
- GenericTerminalBrowserApi,
15
- } from "@tui-sandbox/library/browser/neovim-client.js"
16
- import type { MyNeovimConfigModification } from "@tui-sandbox/library/client"
17
- import type {
18
- AllKeys,
19
- BlockingCommandClientInput,
20
- BlockingShellCommandOutput,
21
- ExCommandClientInput,
22
- LuaCodeClientInput,
23
- PollLuaCodeClientInput,
24
- RunExCommandOutput,
25
- RunLuaCodeOutput,
26
- RunLuaFileClientInput,
27
- StartNeovimGenericArguments,
28
- StartTerminalGenericArguments,
29
- TestDirectory,
30
- } from "@tui-sandbox/library/server"
31
- import type { OverrideProperties } from "type-fest"
32
- import type { MyNeovimAppName, MyTestDirectory, MyTestDirectoryFile } from "../../MyTestDirectory"
33
-
34
- export type TerminalTestApplicationContext = {
35
- /** Types text into the terminal, making the terminal application receive the
36
- * keystrokes as input. Requires the application to be running. */
37
- typeIntoTerminal(text: string, options?: Partial<Cypress.TypeOptions>): void
38
-
39
- /** Runs a shell command in a blocking manner, waiting for the command to
40
- * finish before returning. Requires the terminal to be running. */
41
- runBlockingShellCommand(input: MyBlockingCommandClientInput): Cypress.Chainable<BlockingShellCommandOutput>
42
-
43
- /** The test directory, providing type-safe access to its file and directory structure */
44
- dir: TestDirectory<MyTestDirectory>
45
-
46
- /** Access to the clipboard of the terminal */
47
- clipboard: {
48
- system(): Cypress.Chainable<string>
49
- primary(): Cypress.Chainable<string>
50
- }
51
-
52
- title: {
53
- current(): Cypress.Chainable<string>
54
- }
55
- }
56
-
57
- /** The api that can be used in tests after a Neovim instance has been started. */
58
- export type NeovimContext = {
59
- /** Types text into the terminal, making the terminal application receive
60
- * the keystrokes as input. Requires neovim to be running. */
61
- typeIntoTerminal(text: string, options?: Partial<Cypress.TypeOptions>): void
62
-
63
- /** Runs a shell command in a blocking manner, waiting for the command to
64
- * finish before returning. Requires neovim to be running. */
65
- runBlockingShellCommand(input: MyBlockingCommandClientInput): Cypress.Chainable<BlockingShellCommandOutput>
66
-
67
- /** Runs a shell command in a blocking manner, waiting for the command to
68
- * finish before returning. Requires neovim to be running. */
69
- runLuaCode(input: LuaCodeClientInput): Cypress.Chainable<RunLuaCodeOutput>
70
-
71
- /** Runs a Lua file in neovim after it has started. Can be used to keep
72
- * complex lua logic in a separate file, still being able to run it after
73
- * startup. This way additional tools like lua LSP servers, linters, etc. can
74
- * be used to ensure the code is correct.
75
- */
76
- doFile(input: MyRunLuaFileClientInput): Cypress.Chainable<RunExCommandOutput>
77
-
78
- /**
79
- * Like runLuaCode, but waits until the given code (maybe using lua's return
80
- * assert()) does not raise an error, and returns the first successful result.
81
- *
82
- * Useful for waiting until Neovim's internal state has changed in a way that
83
- * means the test can continue executing. This can avoid timing issues that are
84
- * otherwise hard to catch.
85
- */
86
- waitForLuaCode(input: PollLuaCodeClientInput): Cypress.Chainable<RunLuaCodeOutput>
87
-
88
- /** Run an ex command in neovim.
89
- * @example "echo expand('%:.')" current file, relative to the cwd
90
- */
91
- runExCommand(input: ExCommandClientInput): Cypress.Chainable<RunExCommandOutput>
92
-
93
- /** The test directory, providing type-safe access to its file and directory structure */
94
- dir: TestDirectory<MyTestDirectory>
95
-
96
- /** Access to the clipboard of the terminal */
97
- clipboard: {
98
- system(): Cypress.Chainable<string>
99
- primary(): Cypress.Chainable<string>
100
- }
101
-
102
- title: {
103
- current(): Cypress.Chainable<string>
104
- }
105
- }
106
-
107
- /** Arguments for starting the neovim server. They are built based on your test
108
- * environment in a type safe manner. */
109
- export type MyStartNeovimServerArguments = OverrideProperties<
110
- StartNeovimGenericArguments,
111
- {
112
- NVIM_APPNAME?: MyNeovimAppName
113
- filename?: MyTestDirectoryFile | { openInVerticalSplits: MyTestDirectoryFile[] }
114
- startupScriptModifications?: Array<MyNeovimConfigModification<MyTestDirectoryFile>>
115
- }
116
- >
117
-
118
- export type MyRunLuaFileClientInput = OverrideProperties<RunLuaFileClientInput, { luaFile: MyTestDirectoryFile }>
119
-
120
- Cypress.Commands.add("startNeovim", (startArguments?: MyStartNeovimServerArguments) => {
121
- cy.window().then(async win => {
122
- const underlyingNeovim: GenericNeovimBrowserApi = await win.startNeovim(
123
- startArguments as StartNeovimGenericArguments
124
- )
125
- testNeovim = underlyingNeovim
126
-
127
- // wrap everything so that Cypress can await all the commands
128
- Cypress.Commands.addAll({
129
- nvim_runBlockingShellCommand: underlyingNeovim.runBlockingShellCommand,
130
- nvim_runExCommand: underlyingNeovim.runExCommand,
131
- nvim_runLuaCode: underlyingNeovim.runLuaCode,
132
- nvim_waitForLuaCode: underlyingNeovim.waitForLuaCode,
133
- nvim_doFile: underlyingNeovim.doFile,
134
- })
135
-
136
- const api: NeovimContext = {
137
- runBlockingShellCommand(input) {
138
- return cy.nvim_runBlockingShellCommand(input)
139
- },
140
- runExCommand(input) {
141
- return cy.nvim_runExCommand(input)
142
- },
143
- runLuaCode(input) {
144
- return cy.nvim_runLuaCode(input)
145
- },
146
- doFile(input) {
147
- return cy.nvim_doFile(input)
148
- },
149
- waitForLuaCode(input) {
150
- return cy.nvim_waitForLuaCode(input)
151
- },
152
- typeIntoTerminal(text, options) {
153
- cy.typeIntoTerminal(text, options)
154
- },
155
- dir: underlyingNeovim.dir as TestDirectory<MyTestDirectory>,
156
-
157
- clipboard: {
158
- primary() {
159
- return cy.then(() => underlyingNeovim.clipboard.primary())
160
- },
161
- system() {
162
- return cy.then(() => underlyingNeovim.clipboard.system())
163
- },
164
- },
165
-
166
- title: {
167
- current: () => cy.then(() => underlyingNeovim.title.get()),
168
- },
169
- }
170
-
171
- return api
172
- })
173
- })
174
-
175
- Cypress.Commands.add("nvim_isRunning", () => {
176
- return cy.window().then(async _ => {
177
- return !!testNeovim
178
- })
179
- })
180
-
181
- Cypress.Commands.add("startTerminalApplication", (args: StartTerminalGenericArguments & BrowserTerminalSettings) => {
182
- cy.window().then(async win => {
183
- const terminal: GenericTerminalBrowserApi = await win.startTerminalApplication({
184
- serverSettings: {
185
- commandToRun: args.commandToRun,
186
- additionalEnvironmentVariables: args.additionalEnvironmentVariables,
187
- } satisfies AllKeys<StartTerminalGenericArguments>,
188
- browserSettings: {
189
- configureTerminal: args.configureTerminal,
190
- } satisfies AllKeys<BrowserTerminalSettings>,
191
- })
192
-
193
- Cypress.Commands.addAll({
194
- terminal_runBlockingShellCommand: terminal.runBlockingShellCommand,
195
- })
196
-
197
- const api: TerminalTestApplicationContext = {
198
- dir: terminal.dir as TestDirectory<MyTestDirectory>,
199
- runBlockingShellCommand(input) {
200
- return cy.terminal_runBlockingShellCommand(input)
201
- },
202
- typeIntoTerminal(text, options) {
203
- cy.typeIntoTerminal(text, options)
204
- },
205
- clipboard: {
206
- primary: () => cy.then(() => terminal.clipboard.primary()),
207
- system: () => cy.then(() => terminal.clipboard.system()),
208
- },
209
- title: {
210
- current: () => cy.then(() => terminal.title.get()),
211
- },
212
- }
213
-
214
- return api
215
- })
216
- })
217
-
218
- Cypress.Commands.add("typeIntoTerminal", (text: string, options?: Partial<Cypress.TypeOptions>) => {
219
- // the syntax for keys is described here:
220
- // https://docs.cypress.io/api/commands/type
221
- cy.get("textarea").focus().type(text, options)
222
- })
223
-
224
- let testNeovim: GenericNeovimBrowserApi | undefined
225
-
226
- before(function () {
227
- // disable Cypress's default behavior of logging all XMLHttpRequests and
228
- // fetches to the Command Log
229
- // https://gist.github.com/simenbrekken/3d2248f9e50c1143bf9dbe02e67f5399?permalink_comment_id=4615046#gistcomment-4615046
230
- cy.intercept({ resourceType: /xhr|fetch/ }, { log: false })
231
- })
232
-
233
- export type MyBlockingCommandClientInput = OverrideProperties<
234
- BlockingCommandClientInput,
235
- { cwdRelative?: MyTestDirectoryFile | undefined }
236
- >
237
-
238
- declare global {
239
- namespace Cypress {
240
- interface Chainable {
241
- startNeovim(args?: MyStartNeovimServerArguments): Chainable<NeovimContext>
242
- startTerminalApplication(
243
- args: StartTerminalGenericArguments & BrowserTerminalSettings
244
- ): Chainable<TerminalTestApplicationContext>
245
-
246
- /** Types text into the terminal, making the terminal application receive
247
- * the keystrokes as input. Requires neovim to be running. */
248
- typeIntoTerminal(text: string, options?: Partial<Cypress.TypeOptions>): Chainable<void>
249
-
250
- /** Runs a shell command in a blocking manner, waiting for the command to
251
- * finish before returning. Requires neovim to be running. */
252
- nvim_runBlockingShellCommand(input: MyBlockingCommandClientInput): Chainable<BlockingShellCommandOutput>
253
-
254
- nvim_runLuaCode(input: LuaCodeClientInput): Chainable<RunLuaCodeOutput>
255
- nvim_doFile(input: MyRunLuaFileClientInput): Chainable<RunExCommandOutput>
256
- nvim_waitForLuaCode(input: PollLuaCodeClientInput): Chainable<RunLuaCodeOutput>
257
-
258
- /** Run an ex command in neovim.
259
- * @example "echo expand('%:.')" current file, relative to the cwd
260
- */
261
- nvim_runExCommand(input: ExCommandClientInput): Chainable<RunExCommandOutput>
262
-
263
- /** Returns true if neovim is running. Useful to conditionally run
264
- * afterEach actions based on whether it's running. */
265
- nvim_isRunning(): Chainable<boolean>
266
-
267
- terminal_runBlockingShellCommand(input: MyBlockingCommandClientInput): Chainable<BlockingShellCommandOutput>
268
- }
269
- }
270
- }
271
-
272
- afterEach(async () => {
273
- testNeovim = undefined
274
- })
275
- `;
8
+ const templatePath = require.resolve("#tui-sandbox-template");
9
+ let text = readFileSync(templatePath, "utf-8");
276
10
  const options = await resolveConfig(__filename);
277
11
  text = await format(text, { ...options, parser: "typescript" });
278
12
  return text;
@@ -1 +1 @@
1
- {"version":3,"file":"contents.js","sourceRoot":"","sources":["../../../../src/server/cypress-support/contents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAA;AAEnC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAEjD,MAAM,CAAC,KAAK,UAAU,gCAAgC;IACpD,uEAAuE;IACvE,2BAA2B;IAC3B,IAAI,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4QZ,CAAA;IAEC,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,CAAA;IAC/C,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAA;IAE/D,OAAO,IAAI,CAAA;AACb,CAAC"}
1
+ {"version":3,"file":"contents.js","sourceRoot":"","sources":["../../../../src/server/cypress-support/contents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAA;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AACtC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAA;AAEnC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACjD,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAE9C,MAAM,CAAC,KAAK,UAAU,gCAAgC;IACpD,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAA;IAC7D,IAAI,IAAI,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;IAE9C,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,CAAA;IAC/C,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAA;IAE/D,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -15,9 +15,9 @@ export function getDirectoryTree(path) {
15
15
  hash: false,
16
16
  size: false,
17
17
  sizeInBytes: false,
18
- }, file => {
18
+ }, (file) => {
19
19
  allFiles.push(file);
20
- }, dir => {
20
+ }, (dir) => {
21
21
  allFiles.push(dir);
22
22
  }); // https://github.com/euberdeveloper/dree/pull/51
23
23
  return { dree: result ?? undefined, allFiles };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/server/dirtree/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/server/dirtree/index.ts"],"names":[],"mappings":"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"}
@@ -50,7 +50,7 @@ describe("DisposableSingleApplication", () => {
50
50
  const app = new TestDisposableSingleApplication();
51
51
  await app.startNextAndKillCurrent(async () => fakeApp);
52
52
  fakeApp.untilExit = Promise.reject(new Error("fake error"));
53
- await expect(app.untilExit()).rejects.toThrowError(new Error("fake error"));
53
+ await expect(app.untilExit()).rejects.toThrow(new Error("fake error"));
54
54
  });
55
55
  });
56
56
  describe("disposing", () => {
@@ -1 +1 @@
1
- {"version":3,"file":"DisposableSingleApplication.test.js","sourceRoot":"","sources":["../../../../src/server/utilities/DisposableSingleApplication.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAEjD,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAA;AAG9E,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,kBAAkB,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;AAEpD,MAAM,+BAAgC,SAAQ,2BAA2B;IAChE,cAAc;QACnB,OAAO,IAAI,CAAC,WAAW,CAAA;IACzB,CAAC;CACF;AAED,MAAM,OAAO,GAAG;IACd,SAAS,EAAE,GAAG;IACd,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE;IACd,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE;IACpB,SAAS,EAAE,OAAO,CAAC,OAAO,CAAW,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;CAC1C,CAAA;AAEhC,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;IAC3C,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,GAAG,GAAG,IAAI,+BAA+B,EAAE,CAAA;QACjD,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,aAAa,EAAE,CAAA;QACvC,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC,aAAa,EAAE,CAAA;IAC9C,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;QACxC,MAAM,GAAG,GAAG,IAAI,+BAA+B,EAAE,CAAA;QACjD,MAAM,GAAG,CAAC,uBAAuB,CAAC,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,CAAA;QACtD,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACjC,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC5C,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;QAC5C,MAAM,GAAG,GAAG,IAAI,+BAA+B,EAAE,CAAA;QACjD,MAAM,GAAG,CAAC,uBAAuB,CAAC,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,CAAA;QACtD,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACxB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAA;IACrD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;QAChE,oEAAoE;QACpE,qCAAqC;QACrC,MAAM,GAAG,GAAG,IAAI,+BAA+B,EAAE,CAAA;QACjD,MAAM,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,kCAAkC,CACzE,gHAAgH,CACjH,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,sDAAsD,EAAE,GAAG,EAAE;QACpE,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;YACrC,MAAM,GAAG,GAAG,IAAI,+BAA+B,EAAE,CAAA;YACjD,MAAM,GAAG,CAAC,uBAAuB,CAAC,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,CAAA;YACtD,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAA;YAC/D,MAAM,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;gBACnD,QAAQ,EAAE,CAAC;gBACX,MAAM,EAAE,CAAC;aACS,CAAC,CAAA;QACvB,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;YAC7E,MAAM,GAAG,GAAG,IAAI,+BAA+B,EAAE,CAAA;YACjD,MAAM,GAAG,CAAC,uBAAuB,CAAC,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,CAAA;YACtD,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAA;YAC3D,MAAM,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAA;QAC7E,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QACzB,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;YACtD,sEAAsE;YACtE,yEAAyE;YACzE,cAAc;YACd,MAAM,GAAG,GAAG,IAAI,+BAA+B,EAAE,CAAA;YAEjD,MAAM,GAAG,CAAC,uBAAuB,CAAC,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,CAAA;YACtD,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAE1C,MAAM,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAA;YAChC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,oBAAoB,EAAE,CAAA;QACpD,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;YAClE,MAAM,GAAG,GAAG,IAAI,+BAA+B,EAAE,CAAA;YACjD,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC,aAAa,EAAE,CAAA;YAC5C,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,aAAa,EAAE,CAAA;YAEvC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAA;QACxD,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"DisposableSingleApplication.test.js","sourceRoot":"","sources":["../../../../src/server/utilities/DisposableSingleApplication.test.ts"],"names":[],"mappings":"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"}