@theia/plugin-utils 1.76.0-next.6 → 1.76.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,4 +1,9 @@
1
1
  export declare const PLUGINS_BASE_PATH = "hostedPlugin";
2
+ /**
3
+ * URI scheme for plugin assets read through the `FileService`. Browser-only serves them over HTTP
4
+ * from `PLUGINS_BASE_PATH` instead.
5
+ */
6
+ export declare const PLUGINS_SCHEME = "theia-plugin";
2
7
  export declare const UNPUBLISHED = "<unpublished>";
3
8
  export declare const DEFAULT_PLUGINS_DIR = "plugins";
4
9
  export declare const LIST_JSON = "list.json";
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/common/constants.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,iBAAiB,iBAAiB,CAAC;AAEhD,eAAO,MAAM,WAAW,kBAAkB,CAAC;AAE3C,eAAO,MAAM,mBAAmB,YAAY,CAAC;AAE7C,eAAO,MAAM,SAAS,cAAc,CAAC;AAErC,eAAO,MAAM,0BAA0B,2BAA2B,CAAC;AAEnE,eAAO,MAAM,oBAAoB,6BAA6B,CAAC;AAE/D,eAAO,MAAM,yBAAyB,UAAU,CAAC;AACjD,eAAO,MAAM,wBAAwB,SAAS,CAAC;AAE/C,eAAO,MAAM,yBAAyB,aAAa,CAAC;AACpD,eAAO,MAAM,2BAA2B,eAAe,CAAC;AAExD,eAAO,MAAM,kBAAkB,QAAuC,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/common/constants.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,iBAAiB,iBAAiB,CAAC;AAEhD;;;GAGG;AACH,eAAO,MAAM,cAAc,iBAAiB,CAAC;AAE7C,eAAO,MAAM,WAAW,kBAAkB,CAAC;AAE3C,eAAO,MAAM,mBAAmB,YAAY,CAAC;AAE7C,eAAO,MAAM,SAAS,cAAc,CAAC;AAErC,eAAO,MAAM,0BAA0B,2BAA2B,CAAC;AAEnE,eAAO,MAAM,oBAAoB,6BAA6B,CAAC;AAE/D,eAAO,MAAM,yBAAyB,UAAU,CAAC;AACjD,eAAO,MAAM,wBAAwB,SAAS,CAAC;AAE/C,eAAO,MAAM,yBAAyB,aAAa,CAAC;AACpD,eAAO,MAAM,2BAA2B,eAAe,CAAC;AAExD,eAAO,MAAM,kBAAkB,QAAuC,CAAC"}
@@ -15,8 +15,13 @@
15
15
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
16
  // *****************************************************************************
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.PLUGIN_COPY_IGNORE = exports.VSCODE_EXTENSION_DEACTIVATE = exports.VSCODE_EXTENSION_ACTIVATE = exports.THEIA_PLUGIN_STOP_METHOD = exports.THEIA_PLUGIN_START_METHOD = exports.VSCODE_FRONTEND_INIT = exports.VSCODE_BUILTIN_NAME_PREFIX = exports.LIST_JSON = exports.DEFAULT_PLUGINS_DIR = exports.UNPUBLISHED = exports.PLUGINS_BASE_PATH = void 0;
18
+ exports.PLUGIN_COPY_IGNORE = exports.VSCODE_EXTENSION_DEACTIVATE = exports.VSCODE_EXTENSION_ACTIVATE = exports.THEIA_PLUGIN_STOP_METHOD = exports.THEIA_PLUGIN_START_METHOD = exports.VSCODE_FRONTEND_INIT = exports.VSCODE_BUILTIN_NAME_PREFIX = exports.LIST_JSON = exports.DEFAULT_PLUGINS_DIR = exports.UNPUBLISHED = exports.PLUGINS_SCHEME = exports.PLUGINS_BASE_PATH = void 0;
19
19
  exports.PLUGINS_BASE_PATH = 'hostedPlugin';
20
+ /**
21
+ * URI scheme for plugin assets read through the `FileService`. Browser-only serves them over HTTP
22
+ * from `PLUGINS_BASE_PATH` instead.
23
+ */
24
+ exports.PLUGINS_SCHEME = 'theia-plugin';
20
25
  exports.UNPUBLISHED = '<unpublished>';
21
26
  exports.DEFAULT_PLUGINS_DIR = 'plugins';
22
27
  exports.LIST_JSON = 'list.json';
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/common/constants.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,iDAAiD;AACjD,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAEnE,QAAA,iBAAiB,GAAG,cAAc,CAAC;AAEnC,QAAA,WAAW,GAAG,eAAe,CAAC;AAE9B,QAAA,mBAAmB,GAAG,SAAS,CAAC;AAEhC,QAAA,SAAS,GAAG,WAAW,CAAC;AAExB,QAAA,0BAA0B,GAAG,wBAAwB,CAAC;AAEtD,QAAA,oBAAoB,GAAG,0BAA0B,CAAC;AAElD,QAAA,yBAAyB,GAAG,OAAO,CAAC;AACpC,QAAA,wBAAwB,GAAG,MAAM,CAAC;AAElC,QAAA,yBAAyB,GAAG,UAAU,CAAC;AACvC,QAAA,2BAA2B,GAAG,YAAY,CAAC;AAE3C,QAAA,kBAAkB,GAAG,oCAAoC,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/common/constants.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,iDAAiD;AACjD,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAEnE,QAAA,iBAAiB,GAAG,cAAc,CAAC;AAEhD;;;GAGG;AACU,QAAA,cAAc,GAAG,cAAc,CAAC;AAEhC,QAAA,WAAW,GAAG,eAAe,CAAC;AAE9B,QAAA,mBAAmB,GAAG,SAAS,CAAC;AAEhC,QAAA,SAAS,GAAG,WAAW,CAAC;AAExB,QAAA,0BAA0B,GAAG,wBAAwB,CAAC;AAEtD,QAAA,oBAAoB,GAAG,0BAA0B,CAAC;AAElD,QAAA,yBAAyB,GAAG,OAAO,CAAC;AACpC,QAAA,wBAAwB,GAAG,MAAM,CAAC;AAElC,QAAA,yBAAyB,GAAG,UAAU,CAAC;AACvC,QAAA,2BAA2B,GAAG,YAAY,CAAC;AAE3C,QAAA,kBAAkB,GAAG,oCAAoC,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import type { NormalizedPluginContribution, PluginManifestContribution } from './contribution-types';
2
2
  export declare const PLUGIN_HOST_BACKEND: "main";
3
+ export declare const PLUGIN_HOST_FRONTEND: "frontend";
3
4
  /** Whether a plugin is installed by the system or by a user. */
4
5
  export declare enum PluginType {
5
6
  System = 0,
@@ -1 +1 @@
1
- {"version":3,"file":"manifest-types.d.ts","sourceRoot":"","sources":["../../src/common/manifest-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manifest-types.d.ts","sourceRoot":"","sources":["../../src/common/manifest-types.ts"],"names":[],"mappings":"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"}
@@ -15,10 +15,11 @@
15
15
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
16
  // *****************************************************************************
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.PluginType = exports.PLUGIN_HOST_BACKEND = void 0;
18
+ exports.PluginType = exports.PLUGIN_HOST_FRONTEND = exports.PLUGIN_HOST_BACKEND = void 0;
19
19
  exports.rawContributes = rawContributes;
20
20
  const utils_1 = require("./utils");
21
21
  exports.PLUGIN_HOST_BACKEND = 'main';
22
+ exports.PLUGIN_HOST_FRONTEND = 'frontend';
22
23
  /** Whether a plugin is installed by the system or by a user. */
23
24
  var PluginType;
24
25
  (function (PluginType) {
@@ -1 +1 @@
1
- {"version":3,"file":"manifest-types.js","sourceRoot":"","sources":["../../src/common/manifest-types.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,iDAAiD;AACjD,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAiDhF,wCAEC;AAjDD,mCAAmC;AAGtB,QAAA,mBAAmB,GAAG,MAAe,CAAC;AAEnD,gEAAgE;AAChE,IAAY,UAGX;AAHD,WAAY,UAAU;IAClB,+CAAU,CAAA;IACV,2CAAQ,CAAA;AACZ,CAAC,EAHW,UAAU,0BAAV,UAAU,QAGrB;AAsCD,SAAgB,cAAc,CAAC,QAA6C;IACxE,OAAO,IAAA,gBAAQ,EAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAyC,CAAC,CAAC,CAAC,EAAE,CAAC;AACpG,CAAC"}
1
+ {"version":3,"file":"manifest-types.js","sourceRoot":"","sources":["../../src/common/manifest-types.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,iDAAiD;AACjD,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAkDhF,wCAEC;AAlDD,mCAAmC;AAGtB,QAAA,mBAAmB,GAAG,MAAe,CAAC;AACtC,QAAA,oBAAoB,GAAG,UAAmB,CAAC;AAExD,gEAAgE;AAChE,IAAY,UAGX;AAHD,WAAY,UAAU;IAClB,+CAAU,CAAA;IACV,2CAAQ,CAAA;AACZ,CAAC,EAHW,UAAU,0BAAV,UAAU,QAGrB;AAsCD,SAAgB,cAAc,CAAC,QAA6C;IACxE,OAAO,IAAA,gBAAQ,EAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAyC,CAAC,CAAC,CAAC,EAAE,CAAC;AACpG,CAAC"}
@@ -9,12 +9,19 @@ export interface VsCodeBuildOptions {
9
9
  }
10
10
  export declare function getPluginId(plugin: PluginIdentifierSource): string;
11
11
  /**
12
- * Builds a static-friendly plugin asset URL: `hostedPlugin/<id>/<segments...>`.
13
- * Path separators stay literal `/`; each segment is `encodeURIComponent`'d so plain
14
- * static file servers (browser-only) resolve assets without needing Express `:path(*)` decoding.
15
- * `.` is dropped and `..` is resolved within the plugin root (leading `..` is ignored).
12
+ * Re-encodes an already decoded plugin asset path - what `URI.path` hands back - so it can be
13
+ * appended to a URL unchanged. Encoding per segment rather than as a whole keeps `/` literal, which
14
+ * plain static file servers need, and preserves names containing `#`, `?` or `%`.
16
15
  */
16
+ export declare function encodePluginAssetPath(decodedPath: string): string;
17
+ /** Builds a static-friendly plugin asset URL: `hostedPlugin/<id>/<segments...>`. */
17
18
  export declare function toPluginUrl(pck: PluginIdentifierSource, relativePath: string): string;
19
+ /**
20
+ * Like {@link toPluginUrl}, but as a `PLUGINS_SCHEME` URI for the assets read through the
21
+ * `FileService` (color themes, icon themes, icon fonts). A bare relative path has no scheme for it
22
+ * to resolve.
23
+ */
24
+ export declare function toPluginUri(pck: PluginIdentifierSource, relativePath: string): string;
18
25
  /**
19
26
  * Explicit `theiaPlugin` engine takes priority over `vscode`.
20
27
  */
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-model.d.ts","sourceRoot":"","sources":["../../src/common/plugin-model.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EACR,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,cAAc,EACd,yBAAyB,EAC5B,MAAM,kBAAkB,CAAC;AAE1B,MAAM,WAAW,sBAAsB;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IAC/B,6FAA6F;IAC7F,MAAM,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;CAC9B;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,sBAAsB,GAAG,MAAM,CAElE;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAerF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,cAAc,GAAG,aAAa,GAAG,QAAQ,CAQjF;AAED,wBAAgB,oBAAoB,CAChC,QAAQ,EAAE;IAAE,YAAY,CAAC,EAAE,yBAAyB,CAAA;CAAE,EACtD,MAAM,EAAE;IAAE,0BAA0B,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAAE,GAC7D,IAAI,CAKN;AAWD,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,cAAc,GAAG,gBAAgB,CASlF;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,gBAAgB,CAejH;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,cAAc,GAAG,WAAW,CAoBxE;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,WAAW,CAoBvG;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,GAAG,QAAQ,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,WAAW,CAEpI;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,GAAG,QAAQ,GAAG,eAAe,CAe9G"}
1
+ {"version":3,"file":"plugin-model.d.ts","sourceRoot":"","sources":["../../src/common/plugin-model.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EACR,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,cAAc,EACd,yBAAyB,EAC5B,MAAM,kBAAkB,CAAC;AAE1B,MAAM,WAAW,sBAAsB;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IAC/B,6FAA6F;IAC7F,MAAM,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;CAC9B;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,sBAAsB,GAAG,MAAM,CAElE;AAyBD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEjE;AAED,oFAAoF;AACpF,wBAAgB,WAAW,CAAC,GAAG,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAErF;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAErF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,cAAc,GAAG,aAAa,GAAG,QAAQ,CAQjF;AAED,wBAAgB,oBAAoB,CAChC,QAAQ,EAAE;IAAE,YAAY,CAAC,EAAE,yBAAyB,CAAA;CAAE,EACtD,MAAM,EAAE;IAAE,0BAA0B,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAAE,GAC7D,IAAI,CAKN;AAWD,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,cAAc,GAAG,gBAAgB,CASlF;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,gBAAgB,CAejH;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,cAAc,GAAG,WAAW,CAoBxE;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,WAAW,CAoBvG;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,GAAG,QAAQ,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,WAAW,CAEpI;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,GAAG,QAAQ,GAAG,eAAe,CAe9G"}
@@ -16,7 +16,9 @@
16
16
  // *****************************************************************************
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.getPluginId = getPluginId;
19
+ exports.encodePluginAssetPath = encodePluginAssetPath;
19
20
  exports.toPluginUrl = toPluginUrl;
21
+ exports.toPluginUri = toPluginUri;
20
22
  exports.pickEngineType = pickEngineType;
21
23
  exports.applyTrustExtraction = applyTrustExtraction;
22
24
  exports.buildEntryPointForTheia = buildEntryPointForTheia;
@@ -30,12 +32,12 @@ function getPluginId(plugin) {
30
32
  return `${plugin.publisher ?? constants_1.UNPUBLISHED}_${plugin.name}`.replace(/\W/g, '_');
31
33
  }
32
34
  /**
33
- * Builds a static-friendly plugin asset URL: `hostedPlugin/<id>/<segments...>`.
34
- * Path separators stay literal `/`; each segment is `encodeURIComponent`'d so plain
35
- * static file servers (browser-only) resolve assets without needing Express `:path(*)` decoding.
36
- * `.` is dropped and `..` is resolved within the plugin root (leading `..` is ignored).
35
+ * Builds `<id>/<segments...>` for a plugin asset. Path separators stay literal `/`; each segment
36
+ * is `encodeURIComponent`'d so plain static file servers (browser-only) resolve assets without
37
+ * needing Express `:path(*)` decoding. `.` is dropped and `..` is resolved within the plugin root
38
+ * (leading `..` is ignored).
37
39
  */
38
- function toPluginUrl(pck, relativePath) {
40
+ function toPluginAssetPath(pck, relativePath) {
39
41
  const segments = [];
40
42
  for (const segment of relativePath.replace(/\\/g, '/').split('/')) {
41
43
  if (!segment || segment === '.') {
@@ -49,7 +51,27 @@ function toPluginUrl(pck, relativePath) {
49
51
  }
50
52
  segments.push(encodeURIComponent(segment));
51
53
  }
52
- return `${constants_1.PLUGINS_BASE_PATH}/${getPluginId(pck)}/${segments.join('/')}`;
54
+ return `${getPluginId(pck)}/${segments.join('/')}`;
55
+ }
56
+ /**
57
+ * Re-encodes an already decoded plugin asset path - what `URI.path` hands back - so it can be
58
+ * appended to a URL unchanged. Encoding per segment rather than as a whole keeps `/` literal, which
59
+ * plain static file servers need, and preserves names containing `#`, `?` or `%`.
60
+ */
61
+ function encodePluginAssetPath(decodedPath) {
62
+ return decodedPath.split('/').map(encodeURIComponent).join('/');
63
+ }
64
+ /** Builds a static-friendly plugin asset URL: `hostedPlugin/<id>/<segments...>`. */
65
+ function toPluginUrl(pck, relativePath) {
66
+ return `${constants_1.PLUGINS_BASE_PATH}/${toPluginAssetPath(pck, relativePath)}`;
67
+ }
68
+ /**
69
+ * Like {@link toPluginUrl}, but as a `PLUGINS_SCHEME` URI for the assets read through the
70
+ * `FileService` (color themes, icon themes, icon fonts). A bare relative path has no scheme for it
71
+ * to resolve.
72
+ */
73
+ function toPluginUri(pck, relativePath) {
74
+ return `${constants_1.PLUGINS_SCHEME}:/${toPluginAssetPath(pck, relativePath)}`;
53
75
  }
54
76
  /**
55
77
  * Explicit `theiaPlugin` engine takes priority over `vscode`.
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-model.js","sourceRoot":"","sources":["../../src/common/plugin-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-model.js","sourceRoot":"","sources":["../../src/common/plugin-model.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,iDAAiD;AACjD,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;AA8BhF,kCAEC;AA8BD,sDAEC;AAGD,kCAEC;AAOD,kCAEC;AAKD,wCAQC;AAED,oDAQC;AAWD,0DASC;AAED,4DAeC;AAED,gDAoBC;AAED,kDAoBC;AAED,gCAEC;AAED,wCAeC;AAzMD,2CASqB;AAmBrB,SAAgB,WAAW,CAAC,MAA8B;IACtD,OAAO,GAAG,MAAM,CAAC,SAAS,IAAI,uBAAW,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACnF,CAAC;AAED;;;;;GAKG;AACH,SAAS,iBAAiB,CAAC,GAA2B,EAAE,YAAoB;IACxE,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QAChE,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;YAC9B,SAAS;QACb,CAAC;QACD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACnB,8EAA8E;YAC9E,0DAA0D;YAC1D,QAAQ,CAAC,GAAG,EAAE,CAAC;YACf,SAAS;QACb,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AACvD,CAAC;AAED;;;;GAIG;AACH,SAAgB,qBAAqB,CAAC,WAAmB;IACrD,OAAO,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACpE,CAAC;AAED,oFAAoF;AACpF,SAAgB,WAAW,CAAC,GAA2B,EAAE,YAAoB;IACzE,OAAO,GAAG,6BAAiB,IAAI,iBAAiB,CAAC,GAAG,EAAE,YAAY,CAAC,EAAE,CAAC;AAC1E,CAAC;AAED;;;;GAIG;AACH,SAAgB,WAAW,CAAC,GAA2B,EAAE,YAAoB;IACzE,OAAO,GAAG,0BAAc,KAAK,iBAAiB,CAAC,GAAG,EAAE,YAAY,CAAC,EAAE,CAAC;AACxE,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,QAAwB;IACnD,IAAI,QAAQ,CAAC,OAAO,EAAE,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9C,OAAO,aAAa,CAAC;IACzB,CAAC;IACD,IAAI,QAAQ,CAAC,OAAO,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;QACzC,OAAO,QAAQ,CAAC;IACpB,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,sCAAsC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;AAC3E,CAAC;AAED,SAAgB,oBAAoB,CAChC,QAAsD,EACtD,MAA4D;IAE5D,MAAM,0BAA0B,GAAG,QAAQ,CAAC,YAAY,EAAE,mBAAmB,EAAE,SAAS,CAAC;IACzF,IAAI,0BAA0B,KAAK,SAAS,EAAE,CAAC;QAC3C,MAAM,CAAC,0BAA0B,GAAG,0BAA0B,CAAC;IACnE,CAAC;AACL,CAAC;AAED,wGAAwG;AACxG,SAAS,iBAAiB,CAAC,YAAoB;IAC3C,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpD,IAAI,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAClC,OAAO,WAAW,UAAU,EAAE,CAAC;IACnC,CAAC;IACD,OAAO,UAAU,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE,EAAE,CAAC;AAClF,CAAC;AAED,SAAgB,uBAAuB,CAAC,QAAwB;IAC5D,MAAM,MAAM,GAAqB;QAC7B,QAAQ,EAAE,QAAQ,CAAC,WAAW,EAAE,QAAQ;QACxC,OAAO,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO;KACzC,CAAC;IACF,IAAI,QAAQ,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC;QACjC,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC;IACpD,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAgB,wBAAwB,CAAC,QAAwB,EAAE,OAA4B;IAC3F,MAAM,UAAU,GAAqB,EAAE,CAAC;IACxC,MAAM,cAAc,GAAG,OAAO,EAAE,MAAM,KAAK,KAAK;WACzC,QAAQ,CAAC,aAAa,EAAE,MAAM,KAAK,CAAC;WACpC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAE1C,IAAI,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,cAAc,CAAC,EAAE,CAAC;QACzD,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC;IAC3C,CAAC;SAAM,CAAC;QACJ,UAAU,CAAC,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC;IACvC,CAAC;IACD,IAAI,QAAQ,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC;QACjC,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC;IACxD,CAAC;IACD,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,SAAgB,kBAAkB,CAAC,QAAwB;IACvD,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,IAAI,uBAAW,CAAC;IACpD,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,IAAI,iBAAiB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAElF,OAAO;QACH,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,UAAU;QACV,EAAE,EAAE,GAAG,SAAS,CAAC,WAAW,EAAE,IAAI,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE;QAC/D,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,SAAS;QACT,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,IAAI;QAClD,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,EAAE;QACvC,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,MAAM,EAAE;YACJ,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,WAAW,IAAI,GAAG;SAChD;QACD,UAAU,EAAE,uBAAuB,CAAC,QAAQ,CAAC;KAChD,CAAC;AACN,CAAC;AAED,SAAgB,mBAAmB,CAAC,QAAwB,EAAE,OAA4B;IACtF,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,IAAI,uBAAW,CAAC;IACpD,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,IAAI,iBAAiB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAClF,OAAO;QACH,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,UAAU;QACV,EAAE,EAAE,GAAG,SAAS,CAAC,WAAW,EAAE,IAAI,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE;QAC/D,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,SAAS;QACT,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,IAAI;QAClD,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,EAAE;QACvC,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,MAAM,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,GAAG;SAC3C;QACD,UAAU,EAAE,wBAAwB,CAAC,QAAQ,EAAE,OAAO,CAAC;QACvD,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;KAC5E,CAAC;AACN,CAAC;AAED,SAAgB,UAAU,CAAC,QAAwB,EAAE,UAAoC,EAAE,OAA4B;IACnH,OAAO,UAAU,KAAK,aAAa,CAAC,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAChH,CAAC;AAED,SAAgB,cAAc,CAAC,QAAwB,EAAE,UAAoC;IACzF,MAAM,kBAAkB,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IACjD,IAAI,UAAU,KAAK,aAAa,EAAE,CAAC;QAC/B,OAAO;YACH,WAAW,EAAE,qCAAyB;YACtC,UAAU,EAAE,oCAAwB;YACpC,kBAAkB;SACrB,CAAC;IACN,CAAC;IACD,OAAO;QACH,WAAW,EAAE,qCAAyB;QACtC,UAAU,EAAE,uCAA2B;QACvC,kBAAkB;QAClB,gBAAgB,EAAE,gCAAoB;KACzC,CAAC;AACN,CAAC"}
@@ -50,6 +50,20 @@ describe('plugin-model', () => {
50
50
  .to.equal('hostedPlugin/acme_ext/secret.json');
51
51
  });
52
52
  });
53
+ describe('encodePluginAssetPath', () => {
54
+ it('encodes segments but keeps separators', () => {
55
+ (0, chai_1.expect)((0, plugin_model_1.encodePluginAssetPath)('/acme_ext/sub dir/a#b?c%d.json'))
56
+ .to.equal('/acme_ext/sub%20dir/a%23b%3Fc%25d.json');
57
+ });
58
+ it('round-trips the decoded path of a plugin asset URI', () => {
59
+ for (const relativePath of ['a#b?c%d.json', 'my icon.png', 'themes/dark+.json', 'sub dir/x[1].woff']) {
60
+ const uri = (0, plugin_model_1.toPluginUri)({ publisher: 'acme', name: 'ext' }, relativePath);
61
+ // what `URI.path` hands a consumer back
62
+ const decoded = decodeURIComponent(uri.substring(`${constants_1.PLUGINS_SCHEME}:`.length));
63
+ (0, chai_1.expect)(`${constants_1.PLUGINS_SCHEME}:${(0, plugin_model_1.encodePluginAssetPath)(decoded)}`).to.equal(uri);
64
+ }
65
+ });
66
+ });
53
67
  describe('pickEngineType', () => {
54
68
  it('prefers theiaPlugin over vscode when both are declared', () => {
55
69
  (0, chai_1.expect)((0, plugin_model_1.pickEngineType)((0, test_helpers_1.manifest)({
@@ -159,12 +173,12 @@ describe('plugin-model', () => {
159
173
  const model = (0, plugin_model_1.buildModelForTheia)((0, test_helpers_1.manifest)({
160
174
  name: 'Sample',
161
175
  publisher: 'Acme',
162
- packageUri: 'hostedPlugin/acme_Sample/'
176
+ packageUri: `${constants_1.PLUGINS_SCHEME}:/acme_Sample/`
163
177
  }));
164
178
  (0, chai_1.expect)(model.id).to.equal('acme.sample');
165
179
  (0, chai_1.expect)(model.engine).to.deep.equal({ type: 'theiaPlugin', version: '*' });
166
180
  (0, chai_1.expect)(model.displayName).to.equal('Test Extension');
167
- (0, chai_1.expect)(model.packageUri).to.equal('hostedPlugin/acme_Sample/');
181
+ (0, chai_1.expect)(model.packageUri).to.equal(`${constants_1.PLUGINS_SCHEME}:/acme_Sample/`);
168
182
  });
169
183
  it('builds vscode model with icon url and web entry point', () => {
170
184
  const model = (0, plugin_model_1.buildModelForVsCode)((0, test_helpers_1.manifest)({
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-model.spec.js","sourceRoot":"","sources":["../../src/common/plugin-model.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-model.spec.js","sourceRoot":"","sources":["../../src/common/plugin-model.spec.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@theia/plugin-utils",
3
- "version": "1.76.0-next.6+5358262f7",
3
+ "version": "1.76.0",
4
4
  "description": "Theia - Shared plugin manifest utilities",
5
5
  "dependencies": {
6
6
  "@types/fs-extra": "^4.0.15",
@@ -33,10 +33,10 @@
33
33
  "watch": "theiaext watch"
34
34
  },
35
35
  "devDependencies": {
36
- "@theia/ext-scripts": "1.75.0"
36
+ "@theia/ext-scripts": "1.76.0"
37
37
  },
38
38
  "nyc": {
39
39
  "extends": "../../configs/nyc.json"
40
40
  },
41
- "gitHead": "5358262f7ca40ba9a5e7b514914a18202bd2b7e6"
41
+ "gitHead": "b9b54c500b46515512e2b44371bc0c7122947bed"
42
42
  }
@@ -16,6 +16,12 @@
16
16
 
17
17
  export const PLUGINS_BASE_PATH = 'hostedPlugin';
18
18
 
19
+ /**
20
+ * URI scheme for plugin assets read through the `FileService`. Browser-only serves them over HTTP
21
+ * from `PLUGINS_BASE_PATH` instead.
22
+ */
23
+ export const PLUGINS_SCHEME = 'theia-plugin';
24
+
19
25
  export const UNPUBLISHED = '<unpublished>';
20
26
 
21
27
  export const DEFAULT_PLUGINS_DIR = 'plugins';
@@ -18,6 +18,7 @@ import { isObject } from './utils';
18
18
  import type { NormalizedPluginContribution, PluginManifestContribution } from './contribution-types';
19
19
 
20
20
  export const PLUGIN_HOST_BACKEND = 'main' as const;
21
+ export const PLUGIN_HOST_FRONTEND = 'frontend' as const;
21
22
 
22
23
  /** Whether a plugin is installed by the system or by a user. */
23
24
  export enum PluginType {
@@ -19,6 +19,7 @@ import * as fs from 'fs';
19
19
  import * as os from 'os';
20
20
  import * as path from 'path';
21
21
  import {
22
+ PLUGINS_SCHEME,
22
23
  UNPUBLISHED,
23
24
  VSCODE_EXTENSION_ACTIVATE,
24
25
  VSCODE_EXTENSION_DEACTIVATE,
@@ -34,8 +35,10 @@ import {
34
35
  buildModel,
35
36
  buildModelForTheia,
36
37
  buildModelForVsCode,
38
+ encodePluginAssetPath,
37
39
  getPluginId,
38
40
  pickEngineType,
41
+ toPluginUri,
39
42
  toPluginUrl
40
43
  } from './plugin-model';
41
44
  import { getPluginRootFileUrl } from '../node/plugin-model';
@@ -74,6 +77,22 @@ describe('plugin-model', () => {
74
77
  });
75
78
  });
76
79
 
80
+ describe('encodePluginAssetPath', () => {
81
+ it('encodes segments but keeps separators', () => {
82
+ expect(encodePluginAssetPath('/acme_ext/sub dir/a#b?c%d.json'))
83
+ .to.equal('/acme_ext/sub%20dir/a%23b%3Fc%25d.json');
84
+ });
85
+
86
+ it('round-trips the decoded path of a plugin asset URI', () => {
87
+ for (const relativePath of ['a#b?c%d.json', 'my icon.png', 'themes/dark+.json', 'sub dir/x[1].woff']) {
88
+ const uri = toPluginUri({ publisher: 'acme', name: 'ext' }, relativePath);
89
+ // what `URI.path` hands a consumer back
90
+ const decoded = decodeURIComponent(uri.substring(`${PLUGINS_SCHEME}:`.length));
91
+ expect(`${PLUGINS_SCHEME}:${encodePluginAssetPath(decoded)}`).to.equal(uri);
92
+ }
93
+ });
94
+ });
95
+
77
96
  describe('pickEngineType', () => {
78
97
  it('prefers theiaPlugin over vscode when both are declared', () => {
79
98
  expect(pickEngineType(manifest({
@@ -198,12 +217,12 @@ describe('plugin-model', () => {
198
217
  const model = buildModelForTheia(manifest({
199
218
  name: 'Sample',
200
219
  publisher: 'Acme',
201
- packageUri: 'hostedPlugin/acme_Sample/'
220
+ packageUri: `${PLUGINS_SCHEME}:/acme_Sample/`
202
221
  }));
203
222
  expect(model.id).to.equal('acme.sample');
204
223
  expect(model.engine).to.deep.equal({ type: 'theiaPlugin', version: '*' });
205
224
  expect(model.displayName).to.equal('Test Extension');
206
- expect(model.packageUri).to.equal('hostedPlugin/acme_Sample/');
225
+ expect(model.packageUri).to.equal(`${PLUGINS_SCHEME}:/acme_Sample/`);
207
226
  });
208
227
 
209
228
  it('builds vscode model with icon url and web entry point', () => {
@@ -16,6 +16,7 @@
16
16
 
17
17
  import {
18
18
  PLUGINS_BASE_PATH,
19
+ PLUGINS_SCHEME,
19
20
  THEIA_PLUGIN_START_METHOD,
20
21
  THEIA_PLUGIN_STOP_METHOD,
21
22
  UNPUBLISHED,
@@ -46,12 +47,12 @@ export function getPluginId(plugin: PluginIdentifierSource): string {
46
47
  }
47
48
 
48
49
  /**
49
- * Builds a static-friendly plugin asset URL: `hostedPlugin/<id>/<segments...>`.
50
- * Path separators stay literal `/`; each segment is `encodeURIComponent`'d so plain
51
- * static file servers (browser-only) resolve assets without needing Express `:path(*)` decoding.
52
- * `.` is dropped and `..` is resolved within the plugin root (leading `..` is ignored).
50
+ * Builds `<id>/<segments...>` for a plugin asset. Path separators stay literal `/`; each segment
51
+ * is `encodeURIComponent`'d so plain static file servers (browser-only) resolve assets without
52
+ * needing Express `:path(*)` decoding. `.` is dropped and `..` is resolved within the plugin root
53
+ * (leading `..` is ignored).
53
54
  */
54
- export function toPluginUrl(pck: PluginIdentifierSource, relativePath: string): string {
55
+ function toPluginAssetPath(pck: PluginIdentifierSource, relativePath: string): string {
55
56
  const segments: string[] = [];
56
57
  for (const segment of relativePath.replace(/\\/g, '/').split('/')) {
57
58
  if (!segment || segment === '.') {
@@ -65,7 +66,30 @@ export function toPluginUrl(pck: PluginIdentifierSource, relativePath: string):
65
66
  }
66
67
  segments.push(encodeURIComponent(segment));
67
68
  }
68
- return `${PLUGINS_BASE_PATH}/${getPluginId(pck)}/${segments.join('/')}`;
69
+ return `${getPluginId(pck)}/${segments.join('/')}`;
70
+ }
71
+
72
+ /**
73
+ * Re-encodes an already decoded plugin asset path - what `URI.path` hands back - so it can be
74
+ * appended to a URL unchanged. Encoding per segment rather than as a whole keeps `/` literal, which
75
+ * plain static file servers need, and preserves names containing `#`, `?` or `%`.
76
+ */
77
+ export function encodePluginAssetPath(decodedPath: string): string {
78
+ return decodedPath.split('/').map(encodeURIComponent).join('/');
79
+ }
80
+
81
+ /** Builds a static-friendly plugin asset URL: `hostedPlugin/<id>/<segments...>`. */
82
+ export function toPluginUrl(pck: PluginIdentifierSource, relativePath: string): string {
83
+ return `${PLUGINS_BASE_PATH}/${toPluginAssetPath(pck, relativePath)}`;
84
+ }
85
+
86
+ /**
87
+ * Like {@link toPluginUrl}, but as a `PLUGINS_SCHEME` URI for the assets read through the
88
+ * `FileService` (color themes, icon themes, icon fonts). A bare relative path has no scheme for it
89
+ * to resolve.
90
+ */
91
+ export function toPluginUri(pck: PluginIdentifierSource, relativePath: string): string {
92
+ return `${PLUGINS_SCHEME}:/${toPluginAssetPath(pck, relativePath)}`;
69
93
  }
70
94
 
71
95
  /**