@inlang/sdk 0.5.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.
@@ -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,CAsD9C"}
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,CAmLxB,CAAA;AAsGD,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;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"}
@@ -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,6 +1,6 @@
1
1
  import type { Plugin } from "@inlang/plugin";
2
2
  type PluginErrorOptions = {
3
- plugin: Plugin["id"];
3
+ plugin: Plugin["id"] | undefined;
4
4
  } & Partial<Error>;
5
5
  declare class PluginError extends Error {
6
6
  readonly plugin: string;
@@ -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;CACpB,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
+ {"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"}
@@ -3,7 +3,7 @@ class PluginError extends Error {
3
3
  constructor(message, options) {
4
4
  super(message);
5
5
  this.name = "PluginError";
6
- this.plugin = options.plugin;
6
+ this.plugin = options.plugin ?? "unknown";
7
7
  }
8
8
  }
9
9
  export class PluginHasInvalidIdError extends PluginError {
@@ -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,sBA+J5B,CAAA"}
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: "plugin.inlang.missing" }));
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;;OAEG;IACH,oBAAoB,EAAE,WAAW,EAAE,CAAA;IACnC;;;;;;;;;;;;;;;;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"}
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
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@inlang/sdk",
3
3
  "type": "module",
4
- "version": "0.5.0",
4
+ "version": "0.7.0",
5
5
  "license": "Apache-2.0",
6
6
  "publishConfig": {
7
7
  "access": "public"
@@ -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
@@ -15,7 +15,7 @@ export function createMessagesQuery(
15
15
 
16
16
  createEffect(() => {
17
17
  index.clear()
18
- for (const message of messages()) {
18
+ for (const message of structuredClone(messages())) {
19
19
  index.set(message.id, message)
20
20
  }
21
21
  })
@@ -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: "plugin.inlang.missing" },
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
  *