@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 +2 -0
- package/dist/api.d.ts.map +1 -1
- package/dist/listProjects.d.ts.map +1 -1
- package/dist/listProjects.js +2 -1
- package/dist/listProjects.test.js +4 -1
- package/dist/loadProject.d.ts.map +1 -1
- package/dist/loadProject.js +2 -0
- package/dist/loadProject.test.js +3 -1
- package/dist/migrations/maybeCreateFirstProjectId.d.ts.map +1 -1
- package/dist/migrations/maybeCreateFirstProjectId.js +5 -1
- package/package.json +12 -7
- package/src/api.ts +2 -0
- package/src/createMessageLintReportsQuery.ts +1 -1
- package/src/listProjects.test.ts +4 -1
- package/src/listProjects.ts +3 -1
- package/src/loadProject.test.ts +3 -1
- package/src/loadProject.ts +2 -0
- package/src/migrations/maybeCreateFirstProjectId.ts +5 -1
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":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,KAAK,KAAK,YAAY,MAAM,aAAa,CAAA;AAChD,OAAO,KAAK,KAAK,qBAAqB,MAAM,6BAA6B,CAAA;AACzE,OAAO,KAAK,EACX,gBAAgB,EAChB,eAAe,EACf,OAAO,EACP,MAAM,EACN,eAAe,EACf,iBAAiB,EACjB,MAAM,0BAA0B,CAAA;AACjC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AAE3E,MAAM,MAAM,eAAe,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;IAChB,WAAW,EAAE,MAAM,CAAC,aAAa,CAAC,CAAA;IAClC,WAAW,EAAE,MAAM,CAAC,aAAa,CAAC,CAAA;IAClC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;
|
|
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;
|
|
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"}
|
package/dist/listProjects.js
CHANGED
|
@@ -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
|
|
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({
|
|
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,
|
|
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"}
|
package/dist/loadProject.js
CHANGED
|
@@ -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 ---------------------------------------------------------------
|
package/dist/loadProject.test.js
CHANGED
|
@@ -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,
|
|
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
|
|
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.
|
|
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/
|
|
35
|
-
"@inlang/
|
|
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.
|
|
40
|
-
"@lix-js/fs": "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[]>()
|
package/src/listProjects.test.ts
CHANGED
|
@@ -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({
|
|
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")
|
package/src/listProjects.ts
CHANGED
|
@@ -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
|
|
25
|
+
if (ignores.includes(file)) {
|
|
24
26
|
continue
|
|
25
27
|
}
|
|
26
28
|
|
package/src/loadProject.test.ts
CHANGED
|
@@ -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
|
|
package/src/loadProject.ts
CHANGED
|
@@ -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
|
|
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
|
}
|