@eclipse-lyra/core 0.7.5 → 0.7.7

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.
Files changed (69) hide show
  1. package/dist/api/index.js +28 -29
  2. package/dist/api/services.d.ts +0 -4
  3. package/dist/api/services.d.ts.map +1 -1
  4. package/dist/api/types.d.ts +1 -1
  5. package/dist/api/types.d.ts.map +1 -1
  6. package/dist/components/fastviews.d.ts +1 -1
  7. package/dist/components/index.d.ts.map +1 -1
  8. package/dist/components/{app-switcher.d.ts → layout-switcher.d.ts} +5 -4
  9. package/dist/components/layout-switcher.d.ts.map +1 -0
  10. package/dist/{standard-layout-BSGa06lP.js → config-BiRvaEoO.js} +251 -462
  11. package/dist/config-BiRvaEoO.js.map +1 -0
  12. package/dist/contributions/default-layout-contributions.d.ts +1 -0
  13. package/dist/contributions/default-layout-contributions.d.ts.map +1 -0
  14. package/dist/contributions/index.d.ts.map +1 -1
  15. package/dist/core/apploader.d.ts +40 -30
  16. package/dist/core/apploader.d.ts.map +1 -1
  17. package/dist/core/constants.d.ts +1 -0
  18. package/dist/core/constants.d.ts.map +1 -1
  19. package/dist/core/contributionregistry.d.ts +10 -9
  20. package/dist/core/contributionregistry.d.ts.map +1 -1
  21. package/dist/core/editorregistry.d.ts +1 -1
  22. package/dist/core/editorregistry.d.ts.map +1 -1
  23. package/dist/core/index.d.ts.map +1 -1
  24. package/dist/icon-DN6fp0dg.js.map +1 -1
  25. package/dist/index.js +28 -29
  26. package/dist/parts/contextmenu.d.ts +1 -1
  27. package/dist/parts/index.js +1 -1
  28. package/dist/parts/resizable-grid.d.ts +1 -1
  29. package/dist/{resizable-grid-BRH3MyZK.js → resizable-grid-oWYRVx30.js} +322 -101
  30. package/dist/resizable-grid-oWYRVx30.js.map +1 -0
  31. package/dist/vite-plugin-resolve-deps.d.ts +18 -0
  32. package/dist/vite-plugin-resolve-deps.d.ts.map +1 -0
  33. package/dist/widgets/icon.d.ts +1 -1
  34. package/package.json +8 -1
  35. package/src/api/services.ts +0 -4
  36. package/src/api/types.ts +1 -1
  37. package/src/commands/global.ts +1 -1
  38. package/src/commands/version-info.ts +24 -10
  39. package/src/components/command.ts +2 -2
  40. package/src/components/index.ts +1 -1
  41. package/src/components/layout-switcher.ts +83 -0
  42. package/src/components/part-name.ts +1 -1
  43. package/src/components/tasks.ts +1 -1
  44. package/src/contributions/default-layout-contributions.ts +10 -0
  45. package/src/contributions/default-ui-contributions.ts +3 -3
  46. package/src/contributions/index.ts +1 -0
  47. package/src/contributions/marketplace-catalog-contributions.ts +1 -1
  48. package/src/core/apploader.ts +182 -99
  49. package/src/core/constants.ts +1 -0
  50. package/src/core/contributionregistry.ts +8 -10
  51. package/src/core/editorregistry.ts +4 -4
  52. package/src/core/index.ts +0 -1
  53. package/src/parts/contextmenu.ts +2 -2
  54. package/src/parts/toolbar.ts +3 -3
  55. package/src/vite-env.d.ts +9 -0
  56. package/src/vite-plugin-resolve-deps.ts +112 -0
  57. package/dist/components/app-selector.d.ts +0 -17
  58. package/dist/components/app-selector.d.ts.map +0 -1
  59. package/dist/components/app-switcher.d.ts.map +0 -1
  60. package/dist/core/app-host-config.d.ts +0 -7
  61. package/dist/core/app-host-config.d.ts.map +0 -1
  62. package/dist/core/packageinfoservice.d.ts +0 -16
  63. package/dist/core/packageinfoservice.d.ts.map +0 -1
  64. package/dist/resizable-grid-BRH3MyZK.js.map +0 -1
  65. package/dist/standard-layout-BSGa06lP.js.map +0 -1
  66. package/src/components/app-selector.ts +0 -233
  67. package/src/components/app-switcher.ts +0 -126
  68. package/src/core/app-host-config.ts +0 -23
  69. package/src/core/packageinfoservice.ts +0 -56
@@ -0,0 +1,112 @@
1
+ import { readFileSync, existsSync } from 'fs';
2
+ import path from 'path';
3
+ import type { Plugin } from 'vite';
4
+
5
+ export interface ResolvedPackageInfo {
6
+ name: string;
7
+ version: string;
8
+ description?: string;
9
+ dependencies: Record<string, string>;
10
+ marketplaceCatalogUrls?: string[];
11
+ }
12
+
13
+ interface PackageJson {
14
+ name?: string;
15
+ version?: string;
16
+ description?: string;
17
+ dependencies?: Record<string, string>;
18
+ devDependencies?: Record<string, string>;
19
+ }
20
+
21
+ function findPackageVersion(appRoot: string, depName: string): string | null {
22
+ const segments = depName.startsWith('@')
23
+ ? depName.split('/')
24
+ : [depName];
25
+ const relativePath = path.join('node_modules', ...segments, 'package.json');
26
+ let dir = path.resolve(appRoot);
27
+ const root = path.parse(dir).root;
28
+
29
+ while (true) {
30
+ const pkgPath = path.join(dir, relativePath);
31
+ if (existsSync(pkgPath)) {
32
+ try {
33
+ const pkg = JSON.parse(readFileSync(pkgPath, 'utf8')) as PackageJson;
34
+ if (typeof pkg.version === 'string') return pkg.version;
35
+ } catch {
36
+ // ignore parse errors
37
+ }
38
+ return null;
39
+ }
40
+ if (dir === root) break;
41
+ dir = path.dirname(dir);
42
+ }
43
+ return null;
44
+ }
45
+
46
+ function resolveDepVersionsFromPkg(
47
+ appRoot: string,
48
+ pkg: PackageJson,
49
+ options?: { includeDevDependencies?: boolean }
50
+ ): Record<string, string> {
51
+ const deps = { ...pkg.dependencies };
52
+ if (options?.includeDevDependencies && pkg.devDependencies) {
53
+ Object.assign(deps, pkg.devDependencies);
54
+ }
55
+ const result: Record<string, string> = {};
56
+ for (const [name, specifier] of Object.entries(deps)) {
57
+ const version = findPackageVersion(appRoot, name);
58
+ result[name] = version ?? specifier;
59
+ }
60
+ return result;
61
+ }
62
+
63
+ export function resolvePackageInfo(
64
+ appRoot: string,
65
+ options?: { includeDevDependencies?: boolean }
66
+ ): ResolvedPackageInfo | null {
67
+ const pkgPath = path.join(appRoot, 'package.json');
68
+ if (!existsSync(pkgPath)) return null;
69
+
70
+ let pkg: PackageJson;
71
+ try {
72
+ pkg = JSON.parse(readFileSync(pkgPath, 'utf8')) as PackageJson;
73
+ } catch {
74
+ return null;
75
+ }
76
+
77
+ const name = typeof pkg.name === 'string' ? pkg.name : '';
78
+ const version = typeof pkg.version === 'string' ? pkg.version : '0.0.0';
79
+ const description = typeof pkg.description === 'string' ? pkg.description : undefined;
80
+ const dependencies = resolveDepVersionsFromPkg(appRoot, pkg, options);
81
+ const marketplaceCatalogUrls = (pkg as { marketplace?: { catalogUrls?: string[] } }).marketplace?.catalogUrls;
82
+
83
+ return { name, version, description, dependencies, marketplaceCatalogUrls };
84
+ }
85
+
86
+ export function resolveDepVersions(
87
+ appRoot: string,
88
+ options?: { includeDevDependencies?: boolean }
89
+ ): Record<string, string> {
90
+ const info = resolvePackageInfo(appRoot, options);
91
+ return info?.dependencies ?? {};
92
+ }
93
+
94
+ const RESOLVED_PACKAGE_INFO_KEY = '__RESOLVED_PACKAGE_INFO__';
95
+
96
+ export function resolveDepVersionsPlugin(options?: {
97
+ includeDevDependencies?: boolean;
98
+ }): Plugin {
99
+ return {
100
+ name: 'resolve-dep-versions',
101
+ config(config) {
102
+ const root = config.root ? path.resolve(config.root) : process.cwd();
103
+ const info = resolvePackageInfo(root, options);
104
+ const value = info ?? { name: '', version: '0.0.0', description: undefined, dependencies: {}, marketplaceCatalogUrls: undefined };
105
+ return {
106
+ define: {
107
+ [RESOLVED_PACKAGE_INFO_KEY]: JSON.stringify(value),
108
+ },
109
+ };
110
+ },
111
+ };
112
+ }
@@ -1,17 +0,0 @@
1
- import { LyraElement } from '../parts/element';
2
- export declare class LyraAppSelector extends LyraElement {
3
- private apps;
4
- private loading;
5
- private error;
6
- protected doBeforeUI(): Promise<void>;
7
- private loadApps;
8
- private selectApp;
9
- protected render(): import('lit-html').TemplateResult<1>;
10
- static styles: import('lit').CSSResult;
11
- }
12
- declare global {
13
- interface HTMLElementTagNameMap {
14
- 'lyra-app-selector': LyraAppSelector;
15
- }
16
- }
17
- //# sourceMappingURL=app-selector.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"app-selector.d.ts","sourceRoot":"","sources":["../../src/components/app-selector.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,qBACa,eAAgB,SAAQ,WAAW;IAE5C,OAAO,CAAC,IAAI,CAAuB;IAGnC,OAAO,CAAC,OAAO,CAAQ;IAGvB,OAAO,CAAC,KAAK,CAAuB;cAEpB,UAAU;YAIZ,QAAQ;YAWR,SAAS;IASvB,SAAS,CAAC,MAAM;IA+DhB,MAAM,CAAC,MAAM,0BAyHX;CACL;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,mBAAmB,EAAE,eAAe,CAAC;KACxC;CACJ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"app-switcher.d.ts","sourceRoot":"","sources":["../../src/components/app-switcher.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAuE/C,qBACa,eAAgB,SAAQ,WAAW;IAE5C,OAAO,CAAC,UAAU,CAA4B;IAE9C,SAAS,CAAC,UAAU;IAepB,SAAS,CAAC,MAAM;IAoBhB,MAAM,CAAC,MAAM,0BAIX;CACL;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,mBAAmB,EAAE,eAAe,CAAC;KACxC;CACJ"}
@@ -1,7 +0,0 @@
1
- import { PackageInfo } from './packageinfoservice';
2
- export interface AppHostConfig {
3
- packageInfo?: PackageInfo;
4
- marketplaceCatalogUrls?: string[];
5
- }
6
- export declare function applyAppHostConfig(config: AppHostConfig): void;
7
- //# sourceMappingURL=app-host-config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"app-host-config.d.ts","sourceRoot":"","sources":["../../src/core/app-host-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAMxD,MAAM,WAAW,aAAa;IAC1B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;CACrC;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAW9D"}
@@ -1,16 +0,0 @@
1
- import { TemplateResult } from 'lit';
2
- export interface PackageInfo {
3
- name: string;
4
- version: string;
5
- dependencies?: Record<string, string>;
6
- devDependencies?: Record<string, string>;
7
- }
8
- declare class PackageInfoService {
9
- private packages;
10
- addPackage(packageInfo: PackageInfo): void;
11
- hasPackages(): boolean;
12
- renderTree(): TemplateResult;
13
- }
14
- export declare const packageInfoService: PackageInfoService;
15
- export {};
16
- //# sourceMappingURL=packageinfoservice.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"packageinfoservice.d.ts","sourceRoot":"","sources":["../../src/core/packageinfoservice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,cAAc,EAAE,MAAM,KAAK,CAAC;AAG3C,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5C;AAED,cAAM,kBAAkB;IACpB,OAAO,CAAC,QAAQ,CAAqB;IAErC,UAAU,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAI1C,WAAW,IAAI,OAAO;IAMtB,UAAU,IAAI,cAAc;CA6B/B;AAED,eAAO,MAAM,kBAAkB,oBAA2B,CAAC"}