@theia/plugin-ext 1.25.0-next.20 → 1.25.0-next.21

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.
@@ -144,10 +144,10 @@ function buildTranslationKey(pluginId, scope, key) {
144
144
  async function loadPackageTranslations(pluginPath, locale) {
145
145
  const localizedPluginPath = path.join(pluginPath, `package.nls.${locale}.json`);
146
146
  try {
147
- const defaultValue = await fs.readJson(path.join(pluginPath, 'package.nls.json'));
147
+ const defaultValue = coerceLocalizations(await fs.readJson(path.join(pluginPath, 'package.nls.json')));
148
148
  if (await fs.pathExists(localizedPluginPath)) {
149
149
  return {
150
- translation: await fs.readJson(localizedPluginPath),
150
+ translation: coerceLocalizations(await fs.readJson(localizedPluginPath)),
151
151
  default: defaultValue
152
152
  };
153
153
  }
@@ -162,6 +162,21 @@ async function loadPackageTranslations(pluginPath, locale) {
162
162
  return {};
163
163
  }
164
164
  }
165
+ function isLocalizeInfo(obj) {
166
+ return typeof obj === 'object' && obj && 'message' in obj || false;
167
+ }
168
+ function coerceLocalizations(translations) {
169
+ for (const [key, value] of Object.entries(translations)) {
170
+ if (isLocalizeInfo(value)) {
171
+ translations[key] = value.message;
172
+ }
173
+ else if (typeof value !== 'string') {
174
+ // Only strings or LocalizeInfo values are valid
175
+ translations[key] = 'INVALID TRANSLATION VALUE';
176
+ }
177
+ }
178
+ return translations;
179
+ }
165
180
  const NLS_REGEX = /^%([\w\d.-]+)%$/i;
166
181
  function localizePackage(value, translations, callback) {
167
182
  if (typeof value === 'string') {
@@ -1 +1 @@
1
- {"version":3,"file":"hosted-plugin-localization-service.js","sourceRoot":"","sources":["../../../src/hosted/node/hosted-plugin-localization-service.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,2EAA2E;AAC3E,gFAAgF;;;;;;;;;;;;AAEhF,6BAA6B;AAC7B,kDAAkD;AAClD,2FAAuF;AACvF,2EAAwE;AACxE,4DAAkE;AAElE,8DAAoD;AACpD,wEAA0E;AAa1E,IAAa,+BAA+B,GAA5C,MAAa,+BAA+B;IAA5C;QAQc,2BAAsB,GAAwB,IAAI,GAAG,EAAE,CAAC;IAsEtE,CAAC;IApEG,mBAAmB,CAAC,MAAsB;;QACtC,IAAI,MAAA,MAAM,CAAC,WAAW,0CAAE,aAAa,EAAE;YACnC,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,GAAG,kBAAkB,CAAC,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC;SACvG;IACL,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,MAAsB;QACvC,MAAM,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,EAAE,CAAC;QACvE,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;QACjF,MAAM,UAAU,GAAG,gBAAG,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;QACtE,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1C,oFAAoF;QACpF,MAAM,WAAW,qBAAQ,MAAM,CAAE,CAAC;QAClC,IAAI;YACA,MAAM,YAAY,GAAG,MAAM,uBAAuB,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;YAChF,WAAW,CAAC,WAAW,GAAG,eAAe,CAAC,WAAW,CAAC,WAAW,EAAE,YAAY,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;gBAC/F,MAAM,OAAO,GAAG,GAAG,QAAQ,YAAY,GAAG,EAAE,CAAC;gBAC7C,OAAO,2BAAY,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;YAClE,CAAC,CAAuB,CAAC;SAC5B;QAAC,OAAO,GAAG,EAAE;YACV,OAAO,CAAC,KAAK,CAAC,8BAA8B,QAAQ,IAAI,EAAE,GAAG,CAAC,CAAC;SAClE;QACD,OAAO,WAAW,CAAC;IACvB,CAAC;IAED,YAAY;QACR,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,EAAE,CAAC;QAC9D,MAAM,UAAU,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC3D,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,UAAU,EAAE;YAChC,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,EAAE,EAAE,CAAC;SAC7C;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACvC,OAAO;YACH,MAAM;YACN,kBAAkB,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE;YACnC,oBAAoB,EAAE,IAAI;YAC1B,UAAU,EAAE,KAAK;YACjB,eAAe,EAAE,MAAM;YACvB,uBAAuB,EAAE,UAAU;SACtC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,OAAyB;;QAClD,MAAM,SAAS,GAAG,gBAAG,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC,CAAC,MAAM,CAAC;QAC9E,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkC,CAAC;QAC1D,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC1B,IAAI,MAAA,MAAM,CAAC,WAAW,0CAAE,aAAa,EAAE;gBACnC,MAAM,UAAU,GAAG,gBAAG,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;gBACtE,KAAK,MAAM,YAAY,IAAI,MAAM,CAAC,WAAW,CAAC,aAAa,EAAE;oBACzD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;oBAC1D,KAAK,MAAM,WAAW,IAAI,YAAY,CAAC,YAAY,EAAE;wBACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;wBACzD,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC;qBACrC;oBACD,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;iBAChD;aACJ;SACJ;QAED,KAAK,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE;YAChD,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACxD,MAAM,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;YACnC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,cAAc,QAAQ,OAAO,CAAC,CAAC;YAC/E,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YACtD,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;SAC1C;IACL,CAAC;CACJ,CAAA;AA3EG;IADC,IAAA,kBAAM,EAAC,4CAAoB,CAAC;8BACY,4CAAoB;6EAAC;AAG9D;IADC,IAAA,kBAAM,EAAC,kCAAkB,CAAC;;qEACyB;AAN3C,+BAA+B;IAD3C,IAAA,sBAAU,GAAE;GACA,+BAA+B,CA8E3C;AA9EY,0EAA+B;AAgF5C,SAAS,kBAAkB,CAAC,aAAmC;IAC3D,MAAM,kBAAkB,GAAmB,EAAE,CAAC;IAC9C,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE;QACtC,MAAM,iBAAiB,GAAiB;YACpC,UAAU,EAAE,YAAY,CAAC,UAAU;YACnC,YAAY,EAAE,YAAY,CAAC,YAAY;YACvC,qBAAqB,EAAE,YAAY,CAAC,qBAAqB;YACzD,YAAY,EAAE,IAAI;YAClB,YAAY,EAAE,EAAE;SACnB,CAAC;QACF,KAAK,MAAM,WAAW,IAAI,YAAY,CAAC,YAAY,EAAE;YACjD,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE;gBAC/D,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;oBAC7C,MAAM,cAAc,GAAG,mBAAmB,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;oBACvE,iBAAiB,CAAC,YAAY,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;iBACzD;aACJ;SACJ;QACD,kBAAkB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;KAC9C;IACD,OAAO,kBAAkB,CAAC;AAC9B,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAgB,EAAE,KAAa,EAAE,GAAW;IACrE,OAAO,GAAG,QAAQ,IAAI,2BAAY,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC;AACpE,CAAC;AAOD,KAAK,UAAU,uBAAuB,CAAC,UAAkB,EAAE,MAAc;IACrE,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,MAAM,OAAO,CAAC,CAAC;IAChF,IAAI;QACA,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC,CAAC;QAClF,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE;YAC1C,OAAO;gBACH,WAAW,EAAE,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;gBACnD,OAAO,EAAE,YAAY;aACxB,CAAC;SACL;QACD,OAAO;YACH,OAAO,EAAE,YAAY;SACxB,CAAC;KACL;IAAC,OAAO,CAAC,EAAE;QACR,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE;YACrB,MAAM,CAAC,CAAC;SACX;QACD,OAAO,EAAE,CAAC;KACb;AACL,CAAC;AAED,MAAM,SAAS,GAAG,kBAAkB,CAAC;AAErC,SAAS,eAAe,CAAC,KAAc,EAAE,YAAgC,EAAE,QAAuD;IAC9H,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC3B,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,KAAK,EAAE;YACP,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACrB,IAAI,YAAY,CAAC,WAAW,EAAE;gBAC1B,MAAM,GAAG,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;aAC1C;iBAAM,IAAI,YAAY,CAAC,OAAO,EAAE;gBAC7B,MAAM,GAAG,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;aACrD;SACJ;QACD,OAAO,MAAM,CAAC;KACjB;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACtB,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACtB,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;SAC9D;QACD,OAAO,MAAM,CAAC;KACjB;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,EAAE;QACpC,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAC9C,MAAM,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;SAChE;QACD,OAAO,MAAM,CAAC;KACjB;IACD,OAAO,KAAK,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"hosted-plugin-localization-service.js","sourceRoot":"","sources":["../../../src/hosted/node/hosted-plugin-localization-service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,32 +1,32 @@
1
1
  {
2
2
  "name": "@theia/plugin-ext",
3
- "version": "1.25.0-next.20+c78d302e4cd",
3
+ "version": "1.25.0-next.21+b5a3cd4c797",
4
4
  "description": "Theia - Plugin Extension",
5
5
  "main": "lib/common/index.js",
6
6
  "typings": "lib/common/index.d.ts",
7
7
  "dependencies": {
8
- "@theia/bulk-edit": "1.25.0-next.20+c78d302e4cd",
9
- "@theia/callhierarchy": "1.25.0-next.20+c78d302e4cd",
10
- "@theia/console": "1.25.0-next.20+c78d302e4cd",
11
- "@theia/core": "1.25.0-next.20+c78d302e4cd",
12
- "@theia/debug": "1.25.0-next.20+c78d302e4cd",
13
- "@theia/editor": "1.25.0-next.20+c78d302e4cd",
14
- "@theia/file-search": "1.25.0-next.20+c78d302e4cd",
15
- "@theia/filesystem": "1.25.0-next.20+c78d302e4cd",
16
- "@theia/markers": "1.25.0-next.20+c78d302e4cd",
17
- "@theia/messages": "1.25.0-next.20+c78d302e4cd",
18
- "@theia/monaco": "1.25.0-next.20+c78d302e4cd",
8
+ "@theia/bulk-edit": "1.25.0-next.21+b5a3cd4c797",
9
+ "@theia/callhierarchy": "1.25.0-next.21+b5a3cd4c797",
10
+ "@theia/console": "1.25.0-next.21+b5a3cd4c797",
11
+ "@theia/core": "1.25.0-next.21+b5a3cd4c797",
12
+ "@theia/debug": "1.25.0-next.21+b5a3cd4c797",
13
+ "@theia/editor": "1.25.0-next.21+b5a3cd4c797",
14
+ "@theia/file-search": "1.25.0-next.21+b5a3cd4c797",
15
+ "@theia/filesystem": "1.25.0-next.21+b5a3cd4c797",
16
+ "@theia/markers": "1.25.0-next.21+b5a3cd4c797",
17
+ "@theia/messages": "1.25.0-next.21+b5a3cd4c797",
18
+ "@theia/monaco": "1.25.0-next.21+b5a3cd4c797",
19
19
  "@theia/monaco-editor-core": "1.65.2",
20
- "@theia/navigator": "1.25.0-next.20+c78d302e4cd",
21
- "@theia/output": "1.25.0-next.20+c78d302e4cd",
22
- "@theia/plugin": "1.25.0-next.20+c78d302e4cd",
23
- "@theia/preferences": "1.25.0-next.20+c78d302e4cd",
24
- "@theia/scm": "1.25.0-next.20+c78d302e4cd",
25
- "@theia/search-in-workspace": "1.25.0-next.20+c78d302e4cd",
26
- "@theia/task": "1.25.0-next.20+c78d302e4cd",
27
- "@theia/terminal": "1.25.0-next.20+c78d302e4cd",
28
- "@theia/timeline": "1.25.0-next.20+c78d302e4cd",
29
- "@theia/workspace": "1.25.0-next.20+c78d302e4cd",
20
+ "@theia/navigator": "1.25.0-next.21+b5a3cd4c797",
21
+ "@theia/output": "1.25.0-next.21+b5a3cd4c797",
22
+ "@theia/plugin": "1.25.0-next.21+b5a3cd4c797",
23
+ "@theia/preferences": "1.25.0-next.21+b5a3cd4c797",
24
+ "@theia/scm": "1.25.0-next.21+b5a3cd4c797",
25
+ "@theia/search-in-workspace": "1.25.0-next.21+b5a3cd4c797",
26
+ "@theia/task": "1.25.0-next.21+b5a3cd4c797",
27
+ "@theia/terminal": "1.25.0-next.21+b5a3cd4c797",
28
+ "@theia/timeline": "1.25.0-next.21+b5a3cd4c797",
29
+ "@theia/workspace": "1.25.0-next.21+b5a3cd4c797",
30
30
  "@types/mime": "^2.0.1",
31
31
  "decompress": "^4.2.1",
32
32
  "escape-html": "^1.0.3",
@@ -91,5 +91,5 @@
91
91
  "nyc": {
92
92
  "extends": "../../configs/nyc.json"
93
93
  },
94
- "gitHead": "c78d302e4cddfec1acbe60933fc3ac3ec6f0932d"
94
+ "gitHead": "b5a3cd4c797c2d3f10ea8d1c8514af893686bc3d"
95
95
  }
@@ -149,10 +149,10 @@ interface PackageTranslation {
149
149
  async function loadPackageTranslations(pluginPath: string, locale: string): Promise<PackageTranslation> {
150
150
  const localizedPluginPath = path.join(pluginPath, `package.nls.${locale}.json`);
151
151
  try {
152
- const defaultValue = await fs.readJson(path.join(pluginPath, 'package.nls.json'));
152
+ const defaultValue = coerceLocalizations(await fs.readJson(path.join(pluginPath, 'package.nls.json')));
153
153
  if (await fs.pathExists(localizedPluginPath)) {
154
154
  return {
155
- translation: await fs.readJson(localizedPluginPath),
155
+ translation: coerceLocalizations(await fs.readJson(localizedPluginPath)),
156
156
  default: defaultValue
157
157
  };
158
158
  }
@@ -167,6 +167,27 @@ async function loadPackageTranslations(pluginPath: string, locale: string): Prom
167
167
  }
168
168
  }
169
169
 
170
+ interface LocalizeInfo {
171
+ message: string
172
+ comment?: string
173
+ }
174
+
175
+ function isLocalizeInfo(obj: unknown): obj is LocalizeInfo {
176
+ return typeof obj === 'object' && obj && 'message' in obj || false;
177
+ }
178
+
179
+ function coerceLocalizations(translations: Record<string, string | LocalizeInfo>): Record<string, string> {
180
+ for (const [key, value] of Object.entries(translations)) {
181
+ if (isLocalizeInfo(value)) {
182
+ translations[key] = value.message;
183
+ } else if (typeof value !== 'string') {
184
+ // Only strings or LocalizeInfo values are valid
185
+ translations[key] = 'INVALID TRANSLATION VALUE';
186
+ }
187
+ }
188
+ return translations as Record<string, string>;
189
+ }
190
+
170
191
  const NLS_REGEX = /^%([\w\d.-]+)%$/i;
171
192
 
172
193
  function localizePackage(value: unknown, translations: PackageTranslation, callback: (key: string, defaultValue: string) => string): unknown {