@tui-sandbox/library 11.7.1 → 11.8.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.
Files changed (78) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/browser/assets/{index-CQ6TDc4S.js → index-CSykLFiU.js} +1 -1
  3. package/dist/browser/index.html +1 -1
  4. package/dist/src/scripts/commands/commandTuiNeovimExec.js +1 -1
  5. package/dist/src/scripts/commands/commandTuiNeovimExec.js.map +1 -1
  6. package/dist/src/scripts/commands/commandTuiNeovimPrepare.js +1 -1
  7. package/dist/src/scripts/commands/commandTuiNeovimPrepare.js.map +1 -1
  8. package/dist/src/scripts/commands/commandTuiStart.js +1 -1
  9. package/dist/src/scripts/commands/commandTuiStart.js.map +1 -1
  10. package/dist/src/scripts/resolveConfig.test.js +1 -0
  11. package/dist/src/scripts/resolveConfig.test.js.map +1 -1
  12. package/dist/src/server/applications/neovim/api.d.ts +3 -3
  13. package/dist/src/server/applications/neovim/api.js +2 -2
  14. package/dist/src/server/applications/neovim/api.js.map +1 -1
  15. package/dist/src/server/applications/neovim/environment/createTempDir.d.ts +2 -2
  16. package/dist/src/server/applications/neovim/environment/createTempDir.js +6 -6
  17. package/dist/src/server/applications/neovim/environment/createTempDir.js.map +1 -1
  18. package/dist/src/server/applications/neovim/environment/createTempDir.test.js +6 -2
  19. package/dist/src/server/applications/neovim/environment/createTempDir.test.js.map +1 -1
  20. package/dist/src/server/applications/neovim/neovimRouter.d.ts +2 -2
  21. package/dist/src/server/applications/neovim/neovimRouter.js +7 -4
  22. package/dist/src/server/applications/neovim/neovimRouter.js.map +1 -1
  23. package/dist/src/server/applications/neovim/prepareNewTestDirectory.d.ts +2 -2
  24. package/dist/src/server/applications/neovim/prepareNewTestDirectory.js +4 -4
  25. package/dist/src/server/applications/neovim/prepareNewTestDirectory.js.map +1 -1
  26. package/dist/src/server/applications/neovim/prepareNewTestDirectory.test.js +6 -2
  27. package/dist/src/server/applications/neovim/prepareNewTestDirectory.test.js.map +1 -1
  28. package/dist/src/server/applications/terminal/api.d.ts +2 -2
  29. package/dist/src/server/applications/terminal/api.js.map +1 -1
  30. package/dist/src/server/applications/terminal/terminalRouter.d.ts +2 -2
  31. package/dist/src/server/applications/terminal/terminalRouter.js +1 -1
  32. package/dist/src/server/applications/terminal/terminalRouter.js.map +1 -1
  33. package/dist/src/server/config.js +14 -7
  34. package/dist/src/server/config.js.map +1 -1
  35. package/dist/src/server/config.test.d.ts +1 -0
  36. package/dist/src/server/config.test.js +7 -0
  37. package/dist/src/server/config.test.js.map +1 -0
  38. package/dist/src/server/cypress-support/contents.js +2 -1
  39. package/dist/src/server/cypress-support/contents.js.map +1 -1
  40. package/dist/src/server/dirtree/index.d.ts +3 -2
  41. package/dist/src/server/dirtree/index.js +11 -5
  42. package/dist/src/server/dirtree/index.js.map +1 -1
  43. package/dist/src/server/dirtree/index.test.js +110 -4
  44. package/dist/src/server/dirtree/index.test.js.map +1 -1
  45. package/dist/src/server/server.d.ts +2 -2
  46. package/dist/src/server/server.js +1 -1
  47. package/dist/src/server/server.js.map +1 -1
  48. package/dist/src/server/updateTestdirectorySchemaFile.d.ts +15 -1
  49. package/dist/src/server/updateTestdirectorySchemaFile.js +13 -4
  50. package/dist/src/server/updateTestdirectorySchemaFile.js.map +1 -1
  51. package/dist/src/server/updateTestdirectorySchemaFile.test.js +8 -4
  52. package/dist/src/server/updateTestdirectorySchemaFile.test.js.map +1 -1
  53. package/dist/src/server/utilities/Lazy.d.ts +1 -0
  54. package/dist/src/server/utilities/Lazy.js +3 -0
  55. package/dist/src/server/utilities/Lazy.js.map +1 -1
  56. package/dist/tsconfig.tsbuildinfo +1 -1
  57. package/package.json +4 -4
  58. package/src/scripts/commands/commandTuiNeovimExec.ts +1 -1
  59. package/src/scripts/commands/commandTuiNeovimPrepare.ts +1 -5
  60. package/src/scripts/commands/commandTuiStart.ts +1 -1
  61. package/src/scripts/resolveConfig.test.ts +1 -0
  62. package/src/server/applications/neovim/api.ts +4 -8
  63. package/src/server/applications/neovim/environment/createTempDir.test.ts +9 -3
  64. package/src/server/applications/neovim/environment/createTempDir.ts +8 -8
  65. package/src/server/applications/neovim/neovimRouter.ts +9 -6
  66. package/src/server/applications/neovim/prepareNewTestDirectory.test.ts +9 -3
  67. package/src/server/applications/neovim/prepareNewTestDirectory.ts +6 -6
  68. package/src/server/applications/terminal/api.ts +2 -2
  69. package/src/server/applications/terminal/terminalRouter.ts +3 -3
  70. package/src/server/config.test.ts +7 -0
  71. package/src/server/config.ts +9 -3
  72. package/src/server/cypress-support/contents.ts +2 -1
  73. package/src/server/dirtree/index.test.ts +116 -4
  74. package/src/server/dirtree/index.ts +19 -5
  75. package/src/server/server.ts +3 -4
  76. package/src/server/updateTestdirectorySchemaFile.test.ts +12 -7
  77. package/src/server/updateTestdirectorySchemaFile.ts +29 -7
  78. package/src/server/utilities/Lazy.ts +4 -0
@@ -8,25 +8,47 @@ const log = debuglog(`tui-sandbox.${updateTestdirectorySchemaFile.name}`)
8
8
  export type DirectoriesConfig = TestServerConfig["directories"]
9
9
 
10
10
  export type TestServerConfig = z.output<typeof testServerConfigSchema>
11
+
12
+ export type Dictionary = Record<string, string>
13
+
14
+ export type CustomizeEnv = (env: Dictionary) => Promise<Dictionary>
15
+
16
+ export type CustomizeMiseEnvironmentVariables = (
17
+ env: Dictionary,
18
+ defaultImplementation: CustomizeEnv
19
+ ) => Promise<Record<string, string>>
20
+
21
+ export type NeovimIntegrationDefaultAppName = "nvim"
22
+ const neovimIntegration = z.strictObject({
23
+ NVIM_APPNAMEs: z
24
+ .array(z.string())
25
+ .min(1)
26
+ .default(["nvim" satisfies NeovimIntegrationDefaultAppName]),
27
+ })
28
+
29
+ export type NeovimIntegrationConfig = z.output<typeof neovimIntegration>
30
+
11
31
  export const testServerConfigSchema = z.strictObject({
12
32
  directories: z.object({
13
33
  testEnvironmentPath: z.string(),
14
34
  outputFilePath: z.string(),
15
35
  }),
16
36
  port: z.number().int().min(1).max(65535),
37
+ integrations: z.strictObject({
38
+ neovim: neovimIntegration,
39
+ }),
17
40
  })
18
41
 
19
42
  export type UpdateTestdirectorySchemaFileResult = "updated" | "did-nothing"
20
43
 
21
- export async function updateTestdirectorySchemaFile({
22
- testEnvironmentPath,
23
- outputFilePath,
24
- }: DirectoriesConfig): Promise<UpdateTestdirectorySchemaFileResult> {
25
- const newSchema: string = await buildTestDirectorySchema(testEnvironmentPath)
44
+ export async function updateTestdirectorySchemaFile(
45
+ config: TestServerConfig
46
+ ): Promise<UpdateTestdirectorySchemaFileResult> {
47
+ const newSchema: string = await buildTestDirectorySchema(config)
26
48
  let oldSchema = ""
27
49
 
28
50
  try {
29
- oldSchema = readFileSync(outputFilePath, "utf-8")
51
+ oldSchema = readFileSync(config.directories.outputFilePath, "utf-8")
30
52
  } catch (error) {
31
53
  log("No existing schema file found, creating a new one")
32
54
  }
@@ -35,7 +57,7 @@ export async function updateTestdirectorySchemaFile({
35
57
  // it's important to not write the file if the schema hasn't changed
36
58
  // because file watchers will trigger on file changes and we don't want to
37
59
  // trigger a build if the schema hasn't changed
38
- writeFileSync(outputFilePath, newSchema)
60
+ writeFileSync(config.directories.outputFilePath, newSchema)
39
61
  return "updated"
40
62
  } else {
41
63
  return "did-nothing"
@@ -9,4 +9,8 @@ export class Lazy<T> {
9
9
  }
10
10
  return this.value
11
11
  }
12
+
13
+ set(value: T): void {
14
+ this.value = value
15
+ }
12
16
  }