@inlang/sdk 0.27.0 → 0.28.1

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.
package/dist/api.d.ts CHANGED
@@ -11,6 +11,7 @@ export type InstalledPlugin = {
11
11
  * The module which the plugin is installed from.
12
12
  */
13
13
  module: string;
14
+ settingsSchema: Plugin["settingsSchema"];
14
15
  };
15
16
  export type InstalledMessageLintRule = {
16
17
  id: MessageLintRule["id"];
@@ -21,6 +22,7 @@ export type InstalledMessageLintRule = {
21
22
  */
22
23
  module: string;
23
24
  level: MessageLintLevel;
25
+ settingsSchema: MessageLintRule["settingsSchema"];
24
26
  };
25
27
  export type InlangProject = {
26
28
  /**
package/dist/api.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"listProjects.d.ts","sourceRoot":"","sources":["../src/listProjects.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEnD,eAAO,MAAM,YAAY,cACb,iBAAiB,QACtB,MAAM,KACV,QAAQ,MAAM;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,CAwCxC,CAAA"}
1
+ {"version":3,"file":"listProjects.d.ts","sourceRoot":"","sources":["../src/listProjects.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAInD,eAAO,MAAM,YAAY,cACb,iBAAiB,QACtB,MAAM,KACV,QAAQ,MAAM;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,CAwCxC,CAAA"}
@@ -1,3 +1,4 @@
1
+ const ignores = ["node_modules", ".git"];
1
2
  export const listProjects = async (nodeishFs, from) => {
2
3
  // !TODO: Remove this limit once we introduce caching
3
4
  const recursionLimit = 5;
@@ -12,7 +13,7 @@ export const listProjects = async (nodeishFs, from) => {
12
13
  try {
13
14
  const stats = await nodeishFs.stat(filePath);
14
15
  if (stats.isDirectory()) {
15
- if (file === "node_modules") {
16
+ if (ignores.includes(file)) {
16
17
  continue;
17
18
  }
18
19
  if (file.endsWith(".inlang")) {
@@ -48,7 +48,10 @@ describe("listProjects", () => {
48
48
  });
49
49
  it("should not crash on broken symlinks as cal.com has", async () => {
50
50
  const ciTestRepo = JSON.parse(readFileSync("./mocks/ci-test-repo-no-shallow.json", { encoding: "utf-8" }));
51
- const repo = await mockRepo({ fromSnapshot: ciTestRepo });
51
+ const repo = await mockRepo({
52
+ fromSnapshot: ciTestRepo,
53
+ repoOptions: { experimentalFeatures: { lixCommit: true, lazyClone: false } },
54
+ });
52
55
  repo.checkout({ branch: "test-symlink" });
53
56
  const link = await repo.nodeishFs.readlink("test-symlink-not-existing-target");
54
57
  expect(link).toBe("/test-symlink-not-existing-target//.././no-exist");
@@ -1 +1 @@
1
- {"version":3,"file":"loadProject.d.ts","sourceRoot":"","sources":["../src/loadProject.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,aAAa,EAGb,YAAY,EACZ,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,KAAK,cAAc,EAAkB,MAAM,4BAA4B,CAAA;AAyBhF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAgChD;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE;IACvC,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,UAAU,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,cAAc,CAAA;CACxB,GAAG,OAAO,CAAC,aAAa,CAAC,CAqYzB;AAsHD,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAQtE"}
1
+ {"version":3,"file":"loadProject.d.ts","sourceRoot":"","sources":["../src/loadProject.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,aAAa,EAGb,YAAY,EACZ,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,KAAK,cAAc,EAAkB,MAAM,4BAA4B,CAAA;AAyBhF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAgChD;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE;IACvC,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,UAAU,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,cAAc,CAAA;CACxB,GAAG,OAAO,CAAC,aAAa,CAAC,CAuYzB;AAsHD,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAQtE"}
@@ -170,6 +170,7 @@ export async function loadProject(args) {
170
170
  "Unknown module. You stumbled on a bug in inlang's source code. Please open an issue.",
171
171
  // default to warning, see https://github.com/opral/monorepo/issues/1254
172
172
  level: settingsValue["messageLintRuleLevels"]?.[rule.id] ?? "warning",
173
+ settingsSchema: rule.settingsSchema,
173
174
  }));
174
175
  };
175
176
  const installedPlugins = () => {
@@ -181,6 +182,7 @@ export async function loadProject(args) {
181
182
  description: plugin.description,
182
183
  module: resolvedModules()?.meta.find((m) => m.id.includes(plugin.id))?.module ??
183
184
  "Unknown module. You stumbled on a bug in inlang's source code. Please open an issue.",
185
+ settingsSchema: plugin.settingsSchema,
184
186
  }));
185
187
  };
186
188
  // -- app ---------------------------------------------------------------
@@ -202,7 +202,7 @@ describe("initialization", () => {
202
202
  });
203
203
  it("should reuse projectId on existing projectid", async () => {
204
204
  const repo = await mockRepo({ fromSnapshot: ciTestRepoSnapshot });
205
- repo.nodeishFs.writeFile("/project.inlang/project_id", "testId");
205
+ await repo.nodeishFs.writeFile("/project.inlang/project_id", "testId");
206
206
  const result = await tryCatch(() => loadProject({
207
207
  projectPath: "/project.inlang",
208
208
  repo,
@@ -447,6 +447,7 @@ describe("functionality", () => {
447
447
  description: mockPlugin.description,
448
448
  displayName: mockPlugin.displayName,
449
449
  module: settings.modules[0],
450
+ settingsSchema: mockPlugin.settingsSchema,
450
451
  });
451
452
  expect(project.installed.messageLintRules()[0]).toEqual({
452
453
  id: mockMessageLintRule.id,
@@ -454,6 +455,7 @@ describe("functionality", () => {
454
455
  displayName: mockMessageLintRule.displayName,
455
456
  module: settings.modules[1],
456
457
  level: "warning",
458
+ settingsSchema: mockMessageLintRule.settingsSchema,
457
459
  });
458
460
  });
459
461
  it("should apply 'warning' as default lint level to lint rules that have no lint level defined in the settings", async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"maybeCreateFirstProjectId.d.ts","sourceRoot":"","sources":["../../src/migrations/maybeCreateFirstProjectId.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAGhD;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAAC,IAAI,EAAE;IACrD,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,UAAU,CAAA;CACjB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBhB;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,UAAU,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,+BAUvF"}
1
+ {"version":3,"file":"maybeCreateFirstProjectId.d.ts","sourceRoot":"","sources":["../../src/migrations/maybeCreateFirstProjectId.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAGhD;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAAC,IAAI,EAAE;IACrD,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,UAAU,CAAA;CACjB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBhB;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,UAAU,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,+BAUvF"}
@@ -20,7 +20,11 @@ export async function maybeCreateFirstProjectId(args) {
20
20
  if (error.code === "ENOENT" && args.repo) {
21
21
  const projectId = await generateProjectId({ repo: args.repo, projectPath: args.projectPath });
22
22
  if (projectId) {
23
- await args.repo.nodeishFs.writeFile(args.projectPath + "/project_id", projectId);
23
+ await args.repo.nodeishFs
24
+ .writeFile(args.projectPath + "/project_id", projectId)
25
+ .catch((error) => {
26
+ console.error("Failed to write project_id", error);
27
+ });
24
28
  }
25
29
  }
26
30
  }
package/package.json CHANGED
@@ -1,11 +1,16 @@
1
1
  {
2
2
  "name": "@inlang/sdk",
3
3
  "type": "module",
4
- "version": "0.27.0",
4
+ "version": "0.28.1",
5
5
  "license": "Apache-2.0",
6
6
  "publishConfig": {
7
7
  "access": "public"
8
8
  },
9
+ "homepage": "https://inlang.com/documentation/sdk",
10
+ "repository": {
11
+ "type": "git",
12
+ "url": "https://github.com/opral/inlang-message-sdk"
13
+ },
9
14
  "exports": {
10
15
  ".": "./dist/index.js",
11
16
  "./test-utilities": "./dist/test-utilities/index.js",
@@ -28,16 +33,16 @@
28
33
  "solid-js": "1.6.12",
29
34
  "throttle-debounce": "^5.0.0",
30
35
  "@inlang/json-types": "1.1.0",
31
- "@inlang/message": "2.1.0",
32
- "@inlang/message-lint-rule": "1.4.5",
33
36
  "@inlang/language-tag": "1.5.1",
34
- "@inlang/module": "1.2.8",
35
- "@inlang/plugin": "2.4.8",
37
+ "@inlang/message-lint-rule": "1.4.5",
38
+ "@inlang/message": "2.1.0",
39
+ "@inlang/module": "1.2.9",
40
+ "@inlang/plugin": "2.4.9",
36
41
  "@inlang/project-settings": "2.4.0",
37
42
  "@inlang/result": "1.1.0",
38
43
  "@inlang/translatable": "1.3.1",
39
- "@lix-js/client": "0.9.0",
40
- "@lix-js/fs": "0.6.0"
44
+ "@lix-js/client": "1.0.0",
45
+ "@lix-js/fs": "1.0.0"
41
46
  },
42
47
  "devDependencies": {
43
48
  "@types/debug": "^4.1.12",
package/src/api.ts CHANGED
@@ -19,6 +19,7 @@ export type InstalledPlugin = {
19
19
  * The module which the plugin is installed from.
20
20
  */
21
21
  module: string
22
+ settingsSchema: Plugin["settingsSchema"]
22
23
  // disabled: boolean
23
24
  }
24
25
 
@@ -31,6 +32,7 @@ export type InstalledMessageLintRule = {
31
32
  */
32
33
  module: string
33
34
  level: MessageLintLevel
35
+ settingsSchema: MessageLintRule["settingsSchema"]
34
36
  }
35
37
 
36
38
  export type InlangProject = {
@@ -19,7 +19,7 @@ export function createMessageLintReportsQuery(
19
19
  messagesQuery: MessageQueryApi,
20
20
  settings: () => ProjectSettings,
21
21
  installedMessageLintRules: () => Array<InstalledMessageLintRule>,
22
- resolvedModules: () => Awaited<ReturnType<typeof resolveModules>> | undefined,
22
+ resolvedModules: () => Awaited<ReturnType<typeof resolveModules>> | undefined
23
23
  ): InlangProject["query"]["messageLintReports"] {
24
24
  // @ts-expect-error
25
25
  const index = new ReactiveMap<MessageLintReport["messageId"], MessageLintReport[]>()
@@ -62,7 +62,10 @@ describe("listProjects", () => {
62
62
  const ciTestRepo: Snapshot = JSON.parse(
63
63
  readFileSync("./mocks/ci-test-repo-no-shallow.json", { encoding: "utf-8" })
64
64
  )
65
- const repo = await mockRepo({ fromSnapshot: ciTestRepo })
65
+ const repo = await mockRepo({
66
+ fromSnapshot: ciTestRepo,
67
+ repoOptions: { experimentalFeatures: { lixCommit: true, lazyClone: false } },
68
+ })
66
69
  repo.checkout({ branch: "test-symlink" })
67
70
 
68
71
  const link = await repo.nodeishFs.readlink("test-symlink-not-existing-target")
@@ -1,5 +1,7 @@
1
1
  import type { NodeishFilesystem } from "@lix-js/fs"
2
2
 
3
+ const ignores = ["node_modules", ".git"]
4
+
3
5
  export const listProjects = async (
4
6
  nodeishFs: NodeishFilesystem,
5
7
  from: string
@@ -20,7 +22,7 @@ export const listProjects = async (
20
22
  try {
21
23
  const stats = await nodeishFs.stat(filePath)
22
24
  if (stats.isDirectory()) {
23
- if (file === "node_modules") {
25
+ if (ignores.includes(file)) {
24
26
  continue
25
27
  }
26
28
 
@@ -253,7 +253,7 @@ describe("initialization", () => {
253
253
  it("should reuse projectId on existing projectid", async () => {
254
254
  const repo = await mockRepo({ fromSnapshot: ciTestRepoSnapshot })
255
255
 
256
- repo.nodeishFs.writeFile("/project.inlang/project_id", "testId")
256
+ await repo.nodeishFs.writeFile("/project.inlang/project_id", "testId")
257
257
 
258
258
  const result = await tryCatch(() =>
259
259
  loadProject({
@@ -552,6 +552,7 @@ describe("functionality", () => {
552
552
  description: mockPlugin.description,
553
553
  displayName: mockPlugin.displayName,
554
554
  module: settings.modules[0],
555
+ settingsSchema: mockPlugin.settingsSchema,
555
556
  })
556
557
 
557
558
  expect(project.installed.messageLintRules()[0]).toEqual({
@@ -560,6 +561,7 @@ describe("functionality", () => {
560
561
  displayName: mockMessageLintRule.displayName,
561
562
  module: settings.modules[1],
562
563
  level: "warning",
564
+ settingsSchema: mockMessageLintRule.settingsSchema,
563
565
  })
564
566
  })
565
567
 
@@ -281,6 +281,7 @@ export async function loadProject(args: {
281
281
  "Unknown module. You stumbled on a bug in inlang's source code. Please open an issue.",
282
282
  // default to warning, see https://github.com/opral/monorepo/issues/1254
283
283
  level: settingsValue["messageLintRuleLevels"]?.[rule.id] ?? "warning",
284
+ settingsSchema: rule.settingsSchema,
284
285
  } satisfies InstalledMessageLintRule)
285
286
  ) satisfies Array<InstalledMessageLintRule>
286
287
  }
@@ -294,6 +295,7 @@ export async function loadProject(args: {
294
295
  module:
295
296
  resolvedModules()?.meta.find((m) => m.id.includes(plugin.id))?.module ??
296
297
  "Unknown module. You stumbled on a bug in inlang's source code. Please open an issue.",
298
+ settingsSchema: plugin.settingsSchema,
297
299
  })) satisfies Array<InstalledPlugin>
298
300
  }
299
301
 
@@ -24,7 +24,11 @@ export async function maybeCreateFirstProjectId(args: {
24
24
  if (error.code === "ENOENT" && args.repo) {
25
25
  const projectId = await generateProjectId({ repo: args.repo, projectPath: args.projectPath })
26
26
  if (projectId) {
27
- await args.repo.nodeishFs.writeFile(args.projectPath + "/project_id", projectId)
27
+ await args.repo.nodeishFs
28
+ .writeFile(args.projectPath + "/project_id", projectId)
29
+ .catch((error) => {
30
+ console.error("Failed to write project_id", error)
31
+ })
28
32
  }
29
33
  }
30
34
  }