@inlang/sdk 0.6.0 → 0.7.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.
- package/dist/createMessageLintReportsQuery.d.ts.map +1 -1
- package/dist/createMessageLintReportsQuery.js +0 -1
- package/dist/createMessagesQuery.js +1 -1
- package/dist/loadProject.d.ts.map +1 -1
- package/dist/loadProject.js +0 -1
- package/dist/resolve-modules/plugins/errors.d.ts +1 -1
- package/dist/resolve-modules/plugins/errors.d.ts.map +1 -1
- package/dist/resolve-modules/plugins/errors.js +1 -1
- package/dist/resolve-modules/plugins/resolvePlugins.d.ts.map +1 -1
- package/dist/resolve-modules/plugins/resolvePlugins.js +1 -11
- package/dist/resolve-modules/plugins/resolvePlugins.test.js +0 -28
- package/dist/resolve-modules/plugins/types.d.ts +0 -4
- package/dist/resolve-modules/plugins/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/createMessageLintReportsQuery.ts +0 -1
- package/src/createMessagesQuery.ts +1 -1
- package/src/loadProject.ts +0 -2
- package/src/resolve-modules/plugins/errors.ts +2 -2
- package/src/resolve-modules/plugins/resolvePlugins.test.ts +0 -31
- package/src/resolve-modules/plugins/resolvePlugins.ts +1 -12
- package/src/resolve-modules/plugins/types.ts +0 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createMessageLintReportsQuery.d.ts","sourceRoot":"","sources":["../src/createMessageLintReportsQuery.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,wBAAwB,EAA8B,MAAM,UAAU,CAAA;AACnG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,KAAK,EAAqB,OAAO,EAAE,MAAM,0BAA0B,CAAA;AAI1E;;GAEG;AACH,wBAAgB,6BAA6B,CAC5C,QAAQ,EAAE,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,SAAS,EAC1C,QAAQ,EAAE,MAAM,eAAe,EAC/B,yBAAyB,EAAE,MAAM,KAAK,CAAC,wBAAwB,CAAC,EAChE,eAAe,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,GAAG,SAAS,GAC3E,aAAa,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,
|
|
1
|
+
{"version":3,"file":"createMessageLintReportsQuery.d.ts","sourceRoot":"","sources":["../src/createMessageLintReportsQuery.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,wBAAwB,EAA8B,MAAM,UAAU,CAAA;AACnG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,KAAK,EAAqB,OAAO,EAAE,MAAM,0BAA0B,CAAA;AAI1E;;GAEG;AACH,wBAAgB,6BAA6B,CAC5C,QAAQ,EAAE,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,SAAS,EAC1C,QAAQ,EAAE,MAAM,eAAe,EAC/B,yBAAyB,EAAE,MAAM,KAAK,CAAC,wBAAwB,CAAC,EAChE,eAAe,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,GAAG,SAAS,GAC3E,aAAa,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,CAqD9C"}
|
|
@@ -13,7 +13,6 @@ export function createMessageLintReportsQuery(messages, settings, installedMessa
|
|
|
13
13
|
const _messages = messages();
|
|
14
14
|
const _settings = settings();
|
|
15
15
|
if (_messages && _settings && modules) {
|
|
16
|
-
// console.log("new calculation")
|
|
17
16
|
// index.clear()
|
|
18
17
|
for (const message of _messages) {
|
|
19
18
|
// TODO: only lint changed messages and update arrays selectively
|
|
@@ -9,7 +9,7 @@ export function createMessagesQuery(messages) {
|
|
|
9
9
|
const index = new ReactiveMap();
|
|
10
10
|
createEffect(() => {
|
|
11
11
|
index.clear();
|
|
12
|
-
for (const message of messages()) {
|
|
12
|
+
for (const message of structuredClone(messages())) {
|
|
13
13
|
index.set(message.id, message);
|
|
14
14
|
}
|
|
15
15
|
});
|
|
@@ -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;AAahF,OAAO,EAA4B,KAAK,uBAAuB,EAAE,MAAM,0BAA0B,CAAA;AAMjG;;;;;;GAMG;AACH,eAAO,MAAM,WAAW;sBACL,MAAM;eACb,uBAAuB;;qBAElB,MAAM,SAAS,OAAO,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI;MAC5D,QAAQ,aAAa,
|
|
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;AAahF,OAAO,EAA4B,KAAK,uBAAuB,EAAE,MAAM,0BAA0B,CAAA;AAMjG;;;;;;GAMG;AACH,eAAO,MAAM,WAAW;sBACL,MAAM;eACb,uBAAuB;;qBAElB,MAAM,SAAS,OAAO,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI;MAC5D,QAAQ,aAAa,CAiLxB,CAAA;AAsGD,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAQtE"}
|
package/dist/loadProject.js
CHANGED
|
@@ -56,7 +56,6 @@ export const loadProject = async (args) => {
|
|
|
56
56
|
resolveModules({ settings: _settings, nodeishFs: args.nodeishFs, _import: args._import })
|
|
57
57
|
.then((resolvedModules) => {
|
|
58
58
|
setResolvedModules(resolvedModules);
|
|
59
|
-
// TODO: handle `detectedLanguageTags`
|
|
60
59
|
})
|
|
61
60
|
.catch((err) => markInitAsFailed(err));
|
|
62
61
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/resolve-modules/plugins/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAE5C,KAAK,kBAAkB,GAAG;IACzB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/resolve-modules/plugins/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAE5C,KAAK,kBAAkB,GAAG;IACzB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAAA;CAChC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;AAElB,cAAM,WAAY,SAAQ,KAAK;IAC9B,SAAgB,MAAM,EAAE,MAAM,CAAA;gBAElB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB;CAKxD;AAED,qBAAa,uBAAwB,SAAQ,WAAW;gBAC3C,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB;CAIxD;AAED,qBAAa,gCAAiC,SAAQ,WAAW;gBACpD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB;CAIxD;AAED,qBAAa,2BAA4B,SAAQ,WAAW;gBAC/C,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB;CAIxD;AAED,qBAAa,6CAA8C,SAAQ,WAAW;gBACjE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB;CAIxD;AAED,qBAAa,6CAA8C,SAAQ,WAAW;gBACjE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB;CAIxD;AAED,qBAAa,mCAAoC,SAAQ,WAAW;gBACvD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB;CAIxD;AAED,qBAAa,0CAA2C,SAAQ,WAAW;gBAC9D,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB;CAKxD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolvePlugins.d.ts","sourceRoot":"","sources":["../../../src/resolve-modules/plugins/resolvePlugins.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AAuBxD,eAAO,MAAM,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"resolvePlugins.d.ts","sourceRoot":"","sources":["../../../src/resolve-modules/plugins/resolvePlugins.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AAuBxD,eAAO,MAAM,cAAc,EAAE,sBAoJ5B,CAAA"}
|
|
@@ -15,7 +15,6 @@ export const resolvePlugins = async (args) => {
|
|
|
15
15
|
data: {
|
|
16
16
|
loadMessages: undefined,
|
|
17
17
|
saveMessages: undefined,
|
|
18
|
-
detectedLanguageTags: [],
|
|
19
18
|
customApi: {},
|
|
20
19
|
},
|
|
21
20
|
errors: [],
|
|
@@ -86,15 +85,6 @@ export const resolvePlugins = async (args) => {
|
|
|
86
85
|
nodeishFs: args.nodeishFs,
|
|
87
86
|
});
|
|
88
87
|
}
|
|
89
|
-
if (typeof plugin.detectedLanguageTags === "function") {
|
|
90
|
-
const detectedLangugeTags = await plugin.detectedLanguageTags({
|
|
91
|
-
settings: args.settings?.[plugin.id] ?? {},
|
|
92
|
-
nodeishFs: args.nodeishFs,
|
|
93
|
-
});
|
|
94
|
-
result.data.detectedLanguageTags = [
|
|
95
|
-
...new Set([...result.data.detectedLanguageTags, ...detectedLangugeTags]),
|
|
96
|
-
];
|
|
97
|
-
}
|
|
98
88
|
if (typeof plugin.addCustomApi === "function") {
|
|
99
89
|
const { data: customApi } = tryCatch(() => plugin.addCustomApi({
|
|
100
90
|
settings: args.settings?.[plugin.id] ?? {},
|
|
@@ -107,7 +97,7 @@ export const resolvePlugins = async (args) => {
|
|
|
107
97
|
// --- LOADMESSAGE / SAVEMESSAGE NOT DEFINED ---
|
|
108
98
|
if (typeof result.data.loadMessages !== "function" ||
|
|
109
99
|
typeof result.data.saveMessages !== "function") {
|
|
110
|
-
result.errors.push(new PluginsDoNotProvideLoadOrSaveMessagesError("It seems you did not install any plugin that handles messages. Please add one to make inlang work. See https://inlang.com/documentation/plugins/registry.", { plugin:
|
|
100
|
+
result.errors.push(new PluginsDoNotProvideLoadOrSaveMessagesError("It seems you did not install any plugin that handles messages. Please add one to make inlang work. See https://inlang.com/documentation/plugins/registry.", { plugin: undefined }));
|
|
111
101
|
}
|
|
112
102
|
return result;
|
|
113
103
|
};
|
|
@@ -159,34 +159,6 @@ describe("saveMessages", () => {
|
|
|
159
159
|
expect(resolved.errors[0]).toBeInstanceOf(PluginsDoNotProvideLoadOrSaveMessagesError);
|
|
160
160
|
});
|
|
161
161
|
});
|
|
162
|
-
describe("detectedLanguageTags", () => {
|
|
163
|
-
it("should merge language tags from plugins", async () => {
|
|
164
|
-
const mockPlugin = {
|
|
165
|
-
id: "plugin.namepsace.detectedLanguageTags",
|
|
166
|
-
description: { en: "My plugin description" },
|
|
167
|
-
displayName: { en: "My plugin" },
|
|
168
|
-
detectedLanguageTags: async () => ["de", "en"],
|
|
169
|
-
addCustomApi: () => {
|
|
170
|
-
return {};
|
|
171
|
-
},
|
|
172
|
-
};
|
|
173
|
-
const mockPlugin2 = {
|
|
174
|
-
id: "plugin.namepsace.detectedLanguageTags2",
|
|
175
|
-
description: { en: "My plugin description" },
|
|
176
|
-
displayName: { en: "My plugin" },
|
|
177
|
-
addCustomApi: () => {
|
|
178
|
-
return {};
|
|
179
|
-
},
|
|
180
|
-
detectedLanguageTags: async () => ["de", "fr"],
|
|
181
|
-
};
|
|
182
|
-
const resolved = await resolvePlugins({
|
|
183
|
-
plugins: [mockPlugin, mockPlugin2],
|
|
184
|
-
settings: {},
|
|
185
|
-
nodeishFs: {},
|
|
186
|
-
});
|
|
187
|
-
expect(resolved.data.detectedLanguageTags).toEqual(["de", "en", "fr"]);
|
|
188
|
-
});
|
|
189
|
-
});
|
|
190
162
|
describe("addCustomApi", () => {
|
|
191
163
|
it("it should resolve app specific api", async () => {
|
|
192
164
|
const mockPlugin = {
|
|
@@ -32,10 +32,6 @@ export type ResolvedPluginApi = {
|
|
|
32
32
|
saveMessages: (args: {
|
|
33
33
|
messages: Message[];
|
|
34
34
|
}) => Promise<void> | void;
|
|
35
|
-
/**
|
|
36
|
-
* Detect language tags in the project provided plugins.
|
|
37
|
-
*/
|
|
38
|
-
detectedLanguageTags: LanguageTag[];
|
|
39
35
|
/**
|
|
40
36
|
* App specific APIs.
|
|
41
37
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/resolve-modules/plugins/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,KAAK,EAAE,iBAAiB,IAAI,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAC5E,OAAO,KAAK,EACX,mCAAmC,EACnC,6CAA6C,EAC7C,6CAA6C,EAC7C,uBAAuB,EACvB,2BAA2B,EAC3B,gCAAgC,EAChC,0CAA0C,EAC1C,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAEzE;;;;GAIG;AACH,MAAM,MAAM,uBAAuB,GAAG,IAAI,CACzC,qBAAqB,EACrB,UAAU,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,CAC9C,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,IAAI,EAAE;IAC3C,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAA;IAC1C,SAAS,EAAE,uBAAuB,CAAA;CAClC,KAAK,OAAO,CAAC;IACb,IAAI,EAAE,iBAAiB,CAAA;IACvB,MAAM,EAAE,KAAK,CACV,mCAAmC,GACnC,6CAA6C,GAC7C,6CAA6C,GAC7C,uBAAuB,GACvB,2BAA2B,GAC3B,gCAAgC,GAChC,0CAA0C,CAC5C,CAAA;CACD,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC/B,YAAY,EAAE,CAAC,IAAI,EAAE;QACpB,YAAY,EAAE,WAAW,EAAE,CAAA;QAC3B,iBAAiB,EAAE,WAAW,CAAA;KAC9B,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE,CAAA;IACpC,YAAY,EAAE,CAAC,IAAI,EAAE;QAAE,QAAQ,EAAE,OAAO,EAAE,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACrE
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/resolve-modules/plugins/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,KAAK,EAAE,iBAAiB,IAAI,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAC5E,OAAO,KAAK,EACX,mCAAmC,EACnC,6CAA6C,EAC7C,6CAA6C,EAC7C,uBAAuB,EACvB,2BAA2B,EAC3B,gCAAgC,EAChC,0CAA0C,EAC1C,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAEzE;;;;GAIG;AACH,MAAM,MAAM,uBAAuB,GAAG,IAAI,CACzC,qBAAqB,EACrB,UAAU,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,CAC9C,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,IAAI,EAAE;IAC3C,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAA;IAC1C,SAAS,EAAE,uBAAuB,CAAA;CAClC,KAAK,OAAO,CAAC;IACb,IAAI,EAAE,iBAAiB,CAAA;IACvB,MAAM,EAAE,KAAK,CACV,mCAAmC,GACnC,6CAA6C,GAC7C,6CAA6C,GAC7C,uBAAuB,GACvB,2BAA2B,GAC3B,gCAAgC,GAChC,0CAA0C,CAC5C,CAAA;CACD,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC/B,YAAY,EAAE,CAAC,IAAI,EAAE;QACpB,YAAY,EAAE,WAAW,EAAE,CAAA;QAC3B,iBAAiB,EAAE,WAAW,CAAA;KAC9B,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE,CAAA;IACpC,YAAY,EAAE,CAAC,IAAI,EAAE;QAAE,QAAQ,EAAE,OAAO,EAAE,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACrE;;;;;;;;;;;;;;;;OAgBG;IACH,SAAS,EAAE,MAAM,CAAC,OAAO,MAAM,IAAI,MAAM,EAAE,GAAG,WAAW,MAAM,IAAI,MAAM,EAAE,EAAE,OAAO,CAAC,GAAG;QACvF,yBAAyB,CAAC,EAAE,2BAA2B,CAAA;KACvD,CAAA;CACD,CAAA"}
|
package/package.json
CHANGED
|
@@ -25,7 +25,6 @@ export function createMessageLintReportsQuery(
|
|
|
25
25
|
const _settings = settings()
|
|
26
26
|
|
|
27
27
|
if (_messages && _settings && modules) {
|
|
28
|
-
// console.log("new calculation")
|
|
29
28
|
// index.clear()
|
|
30
29
|
for (const message of _messages) {
|
|
31
30
|
// TODO: only lint changed messages and update arrays selectively
|
package/src/loadProject.ts
CHANGED
|
@@ -87,8 +87,6 @@ export const loadProject = async (args: {
|
|
|
87
87
|
resolveModules({ settings: _settings, nodeishFs: args.nodeishFs, _import: args._import })
|
|
88
88
|
.then((resolvedModules) => {
|
|
89
89
|
setResolvedModules(resolvedModules)
|
|
90
|
-
|
|
91
|
-
// TODO: handle `detectedLanguageTags`
|
|
92
90
|
})
|
|
93
91
|
.catch((err) => markInitAsFailed(err))
|
|
94
92
|
})
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Plugin } from "@inlang/plugin"
|
|
2
2
|
|
|
3
3
|
type PluginErrorOptions = {
|
|
4
|
-
plugin: Plugin["id"]
|
|
4
|
+
plugin: Plugin["id"] | undefined
|
|
5
5
|
} & Partial<Error>
|
|
6
6
|
|
|
7
7
|
class PluginError extends Error {
|
|
@@ -10,7 +10,7 @@ class PluginError extends Error {
|
|
|
10
10
|
constructor(message: string, options: PluginErrorOptions) {
|
|
11
11
|
super(message)
|
|
12
12
|
this.name = "PluginError"
|
|
13
|
-
this.plugin = options.plugin
|
|
13
|
+
this.plugin = options.plugin ?? "unknown"
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
|
|
@@ -198,37 +198,6 @@ describe("saveMessages", () => {
|
|
|
198
198
|
})
|
|
199
199
|
})
|
|
200
200
|
|
|
201
|
-
describe("detectedLanguageTags", () => {
|
|
202
|
-
it("should merge language tags from plugins", async () => {
|
|
203
|
-
const mockPlugin: Plugin = {
|
|
204
|
-
id: "plugin.namepsace.detectedLanguageTags",
|
|
205
|
-
description: { en: "My plugin description" },
|
|
206
|
-
displayName: { en: "My plugin" },
|
|
207
|
-
detectedLanguageTags: async () => ["de", "en"],
|
|
208
|
-
addCustomApi: () => {
|
|
209
|
-
return {}
|
|
210
|
-
},
|
|
211
|
-
}
|
|
212
|
-
const mockPlugin2: Plugin = {
|
|
213
|
-
id: "plugin.namepsace.detectedLanguageTags2",
|
|
214
|
-
description: { en: "My plugin description" },
|
|
215
|
-
displayName: { en: "My plugin" },
|
|
216
|
-
addCustomApi: () => {
|
|
217
|
-
return {}
|
|
218
|
-
},
|
|
219
|
-
detectedLanguageTags: async () => ["de", "fr"],
|
|
220
|
-
}
|
|
221
|
-
|
|
222
|
-
const resolved = await resolvePlugins({
|
|
223
|
-
plugins: [mockPlugin, mockPlugin2],
|
|
224
|
-
settings: {},
|
|
225
|
-
nodeishFs: {} as any,
|
|
226
|
-
})
|
|
227
|
-
|
|
228
|
-
expect(resolved.data.detectedLanguageTags).toEqual(["de", "en", "fr"])
|
|
229
|
-
})
|
|
230
|
-
})
|
|
231
|
-
|
|
232
201
|
describe("addCustomApi", () => {
|
|
233
202
|
it("it should resolve app specific api", async () => {
|
|
234
203
|
const mockPlugin: Plugin = {
|
|
@@ -27,7 +27,6 @@ export const resolvePlugins: ResolvePluginsFunction = async (args) => {
|
|
|
27
27
|
data: {
|
|
28
28
|
loadMessages: undefined as any,
|
|
29
29
|
saveMessages: undefined as any,
|
|
30
|
-
detectedLanguageTags: [],
|
|
31
30
|
customApi: {},
|
|
32
31
|
},
|
|
33
32
|
errors: [],
|
|
@@ -145,16 +144,6 @@ export const resolvePlugins: ResolvePluginsFunction = async (args) => {
|
|
|
145
144
|
})
|
|
146
145
|
}
|
|
147
146
|
|
|
148
|
-
if (typeof plugin.detectedLanguageTags === "function") {
|
|
149
|
-
const detectedLangugeTags = await plugin.detectedLanguageTags!({
|
|
150
|
-
settings: args.settings?.[plugin.id] ?? {},
|
|
151
|
-
nodeishFs: args.nodeishFs,
|
|
152
|
-
})
|
|
153
|
-
result.data.detectedLanguageTags = [
|
|
154
|
-
...new Set([...result.data.detectedLanguageTags, ...detectedLangugeTags]),
|
|
155
|
-
]
|
|
156
|
-
}
|
|
157
|
-
|
|
158
147
|
if (typeof plugin.addCustomApi === "function") {
|
|
159
148
|
const { data: customApi } = tryCatch(() =>
|
|
160
149
|
plugin.addCustomApi!({
|
|
@@ -175,7 +164,7 @@ export const resolvePlugins: ResolvePluginsFunction = async (args) => {
|
|
|
175
164
|
result.errors.push(
|
|
176
165
|
new PluginsDoNotProvideLoadOrSaveMessagesError(
|
|
177
166
|
"It seems you did not install any plugin that handles messages. Please add one to make inlang work. See https://inlang.com/documentation/plugins/registry.",
|
|
178
|
-
{ plugin:
|
|
167
|
+
{ plugin: undefined },
|
|
179
168
|
),
|
|
180
169
|
)
|
|
181
170
|
}
|
|
@@ -52,10 +52,6 @@ export type ResolvedPluginApi = {
|
|
|
52
52
|
sourceLanguageTag: LanguageTag
|
|
53
53
|
}) => Promise<Message[]> | Message[]
|
|
54
54
|
saveMessages: (args: { messages: Message[] }) => Promise<void> | void
|
|
55
|
-
/**
|
|
56
|
-
* Detect language tags in the project provided plugins.
|
|
57
|
-
*/
|
|
58
|
-
detectedLanguageTags: LanguageTag[]
|
|
59
55
|
/**
|
|
60
56
|
* App specific APIs.
|
|
61
57
|
*
|