@eclipse-lyra/core 0.7.7 → 0.7.8
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.
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { existsSync, readFileSync } from "fs";
|
|
2
|
+
import path from "path";
|
|
3
|
+
function findPackageVersion(appRoot, depName) {
|
|
4
|
+
const segments = depName.startsWith("@") ? depName.split("/") : [depName];
|
|
5
|
+
const relativePath = path.join("node_modules", ...segments, "package.json");
|
|
6
|
+
let dir = path.resolve(appRoot);
|
|
7
|
+
const root = path.parse(dir).root;
|
|
8
|
+
while (true) {
|
|
9
|
+
const pkgPath = path.join(dir, relativePath);
|
|
10
|
+
if (existsSync(pkgPath)) {
|
|
11
|
+
try {
|
|
12
|
+
const pkg = JSON.parse(readFileSync(pkgPath, "utf8"));
|
|
13
|
+
if (typeof pkg.version === "string") return pkg.version;
|
|
14
|
+
} catch {
|
|
15
|
+
}
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
if (dir === root) break;
|
|
19
|
+
dir = path.dirname(dir);
|
|
20
|
+
}
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
function resolveDepVersionsFromPkg(appRoot, pkg, options) {
|
|
24
|
+
const deps = { ...pkg.dependencies };
|
|
25
|
+
if (options?.includeDevDependencies && pkg.devDependencies) {
|
|
26
|
+
Object.assign(deps, pkg.devDependencies);
|
|
27
|
+
}
|
|
28
|
+
const result = {};
|
|
29
|
+
for (const [name, specifier] of Object.entries(deps)) {
|
|
30
|
+
const version = findPackageVersion(appRoot, name);
|
|
31
|
+
result[name] = version ?? specifier;
|
|
32
|
+
}
|
|
33
|
+
return result;
|
|
34
|
+
}
|
|
35
|
+
function resolvePackageInfo(appRoot, options) {
|
|
36
|
+
const pkgPath = path.join(appRoot, "package.json");
|
|
37
|
+
if (!existsSync(pkgPath)) return null;
|
|
38
|
+
let pkg;
|
|
39
|
+
try {
|
|
40
|
+
pkg = JSON.parse(readFileSync(pkgPath, "utf8"));
|
|
41
|
+
} catch {
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
const name = typeof pkg.name === "string" ? pkg.name : "";
|
|
45
|
+
const version = typeof pkg.version === "string" ? pkg.version : "0.0.0";
|
|
46
|
+
const description = typeof pkg.description === "string" ? pkg.description : void 0;
|
|
47
|
+
const dependencies = resolveDepVersionsFromPkg(appRoot, pkg, options);
|
|
48
|
+
const marketplaceCatalogUrls = pkg.marketplace?.catalogUrls;
|
|
49
|
+
return { name, version, description, dependencies, marketplaceCatalogUrls };
|
|
50
|
+
}
|
|
51
|
+
function resolveDepVersions(appRoot, options) {
|
|
52
|
+
const info = resolvePackageInfo(appRoot, options);
|
|
53
|
+
return info?.dependencies ?? {};
|
|
54
|
+
}
|
|
55
|
+
const RESOLVED_PACKAGE_INFO_KEY = "__RESOLVED_PACKAGE_INFO__";
|
|
56
|
+
function resolveDepVersionsPlugin(options) {
|
|
57
|
+
return {
|
|
58
|
+
name: "resolve-dep-versions",
|
|
59
|
+
config(config) {
|
|
60
|
+
const root = config.root ? path.resolve(config.root) : process.cwd();
|
|
61
|
+
const info = resolvePackageInfo(root, options);
|
|
62
|
+
const value = info ?? { name: "", version: "0.0.0", description: void 0, dependencies: {}, marketplaceCatalogUrls: void 0 };
|
|
63
|
+
return {
|
|
64
|
+
define: {
|
|
65
|
+
[RESOLVED_PACKAGE_INFO_KEY]: JSON.stringify(value)
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
export {
|
|
72
|
+
resolveDepVersions,
|
|
73
|
+
resolveDepVersionsPlugin,
|
|
74
|
+
resolvePackageInfo
|
|
75
|
+
};
|
|
76
|
+
//# sourceMappingURL=vite-plugin-resolve-deps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vite-plugin-resolve-deps.js","sources":["../src/vite-plugin-resolve-deps.ts"],"sourcesContent":["import { readFileSync, existsSync } from 'fs';\nimport path from 'path';\nimport type { Plugin } from 'vite';\n\nexport interface ResolvedPackageInfo {\n name: string;\n version: string;\n description?: string;\n dependencies: Record<string, string>;\n marketplaceCatalogUrls?: string[];\n}\n\ninterface PackageJson {\n name?: string;\n version?: string;\n description?: string;\n dependencies?: Record<string, string>;\n devDependencies?: Record<string, string>;\n}\n\nfunction findPackageVersion(appRoot: string, depName: string): string | null {\n const segments = depName.startsWith('@')\n ? depName.split('/')\n : [depName];\n const relativePath = path.join('node_modules', ...segments, 'package.json');\n let dir = path.resolve(appRoot);\n const root = path.parse(dir).root;\n\n while (true) {\n const pkgPath = path.join(dir, relativePath);\n if (existsSync(pkgPath)) {\n try {\n const pkg = JSON.parse(readFileSync(pkgPath, 'utf8')) as PackageJson;\n if (typeof pkg.version === 'string') return pkg.version;\n } catch {\n // ignore parse errors\n }\n return null;\n }\n if (dir === root) break;\n dir = path.dirname(dir);\n }\n return null;\n}\n\nfunction resolveDepVersionsFromPkg(\n appRoot: string,\n pkg: PackageJson,\n options?: { includeDevDependencies?: boolean }\n): Record<string, string> {\n const deps = { ...pkg.dependencies };\n if (options?.includeDevDependencies && pkg.devDependencies) {\n Object.assign(deps, pkg.devDependencies);\n }\n const result: Record<string, string> = {};\n for (const [name, specifier] of Object.entries(deps)) {\n const version = findPackageVersion(appRoot, name);\n result[name] = version ?? specifier;\n }\n return result;\n}\n\nexport function resolvePackageInfo(\n appRoot: string,\n options?: { includeDevDependencies?: boolean }\n): ResolvedPackageInfo | null {\n const pkgPath = path.join(appRoot, 'package.json');\n if (!existsSync(pkgPath)) return null;\n\n let pkg: PackageJson;\n try {\n pkg = JSON.parse(readFileSync(pkgPath, 'utf8')) as PackageJson;\n } catch {\n return null;\n }\n\n const name = typeof pkg.name === 'string' ? pkg.name : '';\n const version = typeof pkg.version === 'string' ? pkg.version : '0.0.0';\n const description = typeof pkg.description === 'string' ? pkg.description : undefined;\n const dependencies = resolveDepVersionsFromPkg(appRoot, pkg, options);\n const marketplaceCatalogUrls = (pkg as { marketplace?: { catalogUrls?: string[] } }).marketplace?.catalogUrls;\n\n return { name, version, description, dependencies, marketplaceCatalogUrls };\n}\n\nexport function resolveDepVersions(\n appRoot: string,\n options?: { includeDevDependencies?: boolean }\n): Record<string, string> {\n const info = resolvePackageInfo(appRoot, options);\n return info?.dependencies ?? {};\n}\n\nconst RESOLVED_PACKAGE_INFO_KEY = '__RESOLVED_PACKAGE_INFO__';\n\nexport function resolveDepVersionsPlugin(options?: {\n includeDevDependencies?: boolean;\n}): Plugin {\n return {\n name: 'resolve-dep-versions',\n config(config) {\n const root = config.root ? path.resolve(config.root) : process.cwd();\n const info = resolvePackageInfo(root, options);\n const value = info ?? { name: '', version: '0.0.0', description: undefined, dependencies: {}, marketplaceCatalogUrls: undefined };\n return {\n define: {\n [RESOLVED_PACKAGE_INFO_KEY]: JSON.stringify(value),\n },\n };\n },\n };\n}\n"],"names":[],"mappings":";;AAoBA,SAAS,mBAAmB,SAAiB,SAAgC;AAC3E,QAAM,WAAW,QAAQ,WAAW,GAAG,IACnC,QAAQ,MAAM,GAAG,IACjB,CAAC,OAAO;AACZ,QAAM,eAAe,KAAK,KAAK,gBAAgB,GAAG,UAAU,cAAc;AAC1E,MAAI,MAAM,KAAK,QAAQ,OAAO;AAC9B,QAAM,OAAO,KAAK,MAAM,GAAG,EAAE;AAE7B,SAAO,MAAM;AACX,UAAM,UAAU,KAAK,KAAK,KAAK,YAAY;AAC3C,QAAI,WAAW,OAAO,GAAG;AACvB,UAAI;AACF,cAAM,MAAM,KAAK,MAAM,aAAa,SAAS,MAAM,CAAC;AACpD,YAAI,OAAO,IAAI,YAAY,iBAAiB,IAAI;AAAA,MAClD,QAAQ;AAAA,MAER;AACA,aAAO;AAAA,IACT;AACA,QAAI,QAAQ,KAAM;AAClB,UAAM,KAAK,QAAQ,GAAG;AAAA,EACxB;AACA,SAAO;AACT;AAEA,SAAS,0BACP,SACA,KACA,SACwB;AACxB,QAAM,OAAO,EAAE,GAAG,IAAI,aAAA;AACtB,MAAI,SAAS,0BAA0B,IAAI,iBAAiB;AAC1D,WAAO,OAAO,MAAM,IAAI,eAAe;AAAA,EACzC;AACA,QAAM,SAAiC,CAAA;AACvC,aAAW,CAAC,MAAM,SAAS,KAAK,OAAO,QAAQ,IAAI,GAAG;AACpD,UAAM,UAAU,mBAAmB,SAAS,IAAI;AAChD,WAAO,IAAI,IAAI,WAAW;AAAA,EAC5B;AACA,SAAO;AACT;AAEO,SAAS,mBACd,SACA,SAC4B;AAC5B,QAAM,UAAU,KAAK,KAAK,SAAS,cAAc;AACjD,MAAI,CAAC,WAAW,OAAO,EAAG,QAAO;AAEjC,MAAI;AACJ,MAAI;AACF,UAAM,KAAK,MAAM,aAAa,SAAS,MAAM,CAAC;AAAA,EAChD,QAAQ;AACN,WAAO;AAAA,EACT;AAEA,QAAM,OAAO,OAAO,IAAI,SAAS,WAAW,IAAI,OAAO;AACvD,QAAM,UAAU,OAAO,IAAI,YAAY,WAAW,IAAI,UAAU;AAChE,QAAM,cAAc,OAAO,IAAI,gBAAgB,WAAW,IAAI,cAAc;AAC5E,QAAM,eAAe,0BAA0B,SAAS,KAAK,OAAO;AACpE,QAAM,yBAA0B,IAAqD,aAAa;AAElG,SAAO,EAAE,MAAM,SAAS,aAAa,cAAc,uBAAA;AACrD;AAEO,SAAS,mBACd,SACA,SACwB;AACxB,QAAM,OAAO,mBAAmB,SAAS,OAAO;AAChD,SAAO,MAAM,gBAAgB,CAAA;AAC/B;AAEA,MAAM,4BAA4B;AAE3B,SAAS,yBAAyB,SAE9B;AACT,SAAO;AAAA,IACL,MAAM;AAAA,IACN,OAAO,QAAQ;AACb,YAAM,OAAO,OAAO,OAAO,KAAK,QAAQ,OAAO,IAAI,IAAI,QAAQ,IAAA;AAC/D,YAAM,OAAO,mBAAmB,MAAM,OAAO;AAC7C,YAAM,QAAQ,QAAQ,EAAE,MAAM,IAAI,SAAS,SAAS,aAAa,QAAW,cAAc,CAAA,GAAI,wBAAwB,OAAA;AACtH,aAAO;AAAA,QACL,QAAQ;AAAA,UACN,CAAC,yBAAyB,GAAG,KAAK,UAAU,KAAK;AAAA,QAAA;AAAA,MACnD;AAAA,IAEJ;AAAA,EAAA;AAEJ;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eclipse-lyra/core",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.8",
|
|
4
4
|
"description": "Eclipse Lyra platform core: registries, services, parts, widgets, and API",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "EPL-2.0",
|
|
@@ -53,8 +53,8 @@
|
|
|
53
53
|
"import": "./dist/core/events.js"
|
|
54
54
|
},
|
|
55
55
|
"./vite-plugin-resolve-deps": {
|
|
56
|
-
"types": "./
|
|
57
|
-
"import": "./
|
|
56
|
+
"types": "./dist/vite-plugin-resolve-deps.d.ts",
|
|
57
|
+
"import": "./dist/vite-plugin-resolve-deps.js"
|
|
58
58
|
}
|
|
59
59
|
},
|
|
60
60
|
"peerDependencies": {
|