@galaxy-tool-util/core 0.2.0 → 0.3.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.
Files changed (58) hide show
  1. package/README.md +33 -0
  2. package/dist/cache/cache-index.d.ts +16 -12
  3. package/dist/cache/cache-index.d.ts.map +1 -1
  4. package/dist/cache/cache-index.js +34 -55
  5. package/dist/cache/cache-index.js.map +1 -1
  6. package/dist/cache/cache-key.d.ts +2 -1
  7. package/dist/cache/cache-key.d.ts.map +1 -1
  8. package/dist/cache/cache-key.js +7 -3
  9. package/dist/cache/cache-key.js.map +1 -1
  10. package/dist/cache/index.d.ts +5 -1
  11. package/dist/cache/index.d.ts.map +1 -1
  12. package/dist/cache/index.js +3 -1
  13. package/dist/cache/index.js.map +1 -1
  14. package/dist/cache/node.d.ts +30 -0
  15. package/dist/cache/node.d.ts.map +1 -0
  16. package/dist/cache/node.js +37 -0
  17. package/dist/cache/node.js.map +1 -0
  18. package/dist/cache/storage/filesystem.d.ts +17 -0
  19. package/dist/cache/storage/filesystem.d.ts.map +1 -0
  20. package/dist/cache/storage/filesystem.js +61 -0
  21. package/dist/cache/storage/filesystem.js.map +1 -0
  22. package/dist/cache/storage/indexeddb.d.ts +21 -0
  23. package/dist/cache/storage/indexeddb.d.ts.map +1 -0
  24. package/dist/cache/storage/indexeddb.js +87 -0
  25. package/dist/cache/storage/indexeddb.js.map +1 -0
  26. package/dist/cache/storage/interface.d.ts +17 -0
  27. package/dist/cache/storage/interface.d.ts.map +1 -0
  28. package/dist/cache/storage/interface.js +2 -0
  29. package/dist/cache/storage/interface.js.map +1 -0
  30. package/dist/cache/tool-cache-defaults.d.ts +7 -0
  31. package/dist/cache/tool-cache-defaults.d.ts.map +1 -0
  32. package/dist/cache/tool-cache-defaults.js +7 -0
  33. package/dist/cache/tool-cache-defaults.js.map +1 -0
  34. package/dist/cache/tool-cache.d.ts +15 -20
  35. package/dist/cache/tool-cache.d.ts.map +1 -1
  36. package/dist/cache/tool-cache.js +32 -46
  37. package/dist/cache/tool-cache.js.map +1 -1
  38. package/dist/config-node.d.ts +7 -0
  39. package/dist/config-node.d.ts.map +1 -0
  40. package/dist/config-node.js +14 -0
  41. package/dist/config-node.js.map +1 -0
  42. package/dist/config.d.ts +75 -0
  43. package/dist/config.d.ts.map +1 -0
  44. package/dist/config.js +60 -0
  45. package/dist/config.js.map +1 -0
  46. package/dist/index.d.ts +11 -7
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +9 -6
  49. package/dist/index.js.map +1 -1
  50. package/dist/node.d.ts +12 -0
  51. package/dist/node.d.ts.map +1 -0
  52. package/dist/node.js +11 -0
  53. package/dist/node.js.map +1 -0
  54. package/dist/tool-info.d.ts +4 -2
  55. package/dist/tool-info.d.ts.map +1 -1
  56. package/dist/tool-info.js +9 -10
  57. package/dist/tool-info.js.map +1 -1
  58. package/package.json +17 -6
package/dist/tool-info.js CHANGED
@@ -11,22 +11,21 @@ export class ToolInfoService {
11
11
  fetcher;
12
12
  constructor(opts) {
13
13
  this.cache = new ToolCache({
14
- cacheDir: opts?.cacheDir,
15
- defaultToolshedUrl: opts?.defaultToolshedUrl,
14
+ storage: opts.storage,
15
+ defaultToolshedUrl: opts.defaultToolshedUrl,
16
16
  });
17
- this.fetcher = opts?.fetcher ?? globalThis.fetch;
18
- if (opts?.sources && opts.sources.length > 0) {
17
+ this.fetcher = opts.fetcher ?? globalThis.fetch;
18
+ if (opts.sources && opts.sources.length > 0) {
19
19
  this.sources = opts.sources;
20
20
  }
21
21
  else {
22
- // Build sources from legacy options
23
22
  this.sources = [
24
23
  {
25
24
  type: "toolshed",
26
- url: opts?.defaultToolshedUrl ?? this.cache.defaultToolshedUrl,
25
+ url: opts.defaultToolshedUrl ?? this.cache.defaultToolshedUrl,
27
26
  },
28
27
  ];
29
- if (opts?.galaxyUrl) {
28
+ if (opts.galaxyUrl) {
30
29
  this.sources.push({ type: "galaxy", url: opts.galaxyUrl });
31
30
  }
32
31
  }
@@ -36,8 +35,8 @@ export class ToolInfoService {
36
35
  if (coords.version === null) {
37
36
  throw new Error(`No version available for tool: ${toolId}`);
38
37
  }
39
- const key = cacheKey(coords.toolshedUrl, coords.trsToolId, coords.version);
40
- // Check filesystem cache (ToolCache checks memory first internally)
38
+ const key = await cacheKey(coords.toolshedUrl, coords.trsToolId, coords.version);
39
+ // Check storage cache (ToolCache checks memory first internally)
41
40
  const cached = await this.cache.loadCached(key);
42
41
  if (cached !== null)
43
42
  return cached;
@@ -70,7 +69,7 @@ export class ToolInfoService {
70
69
  async addTool(toolId, toolVersion, parsedTool, source = "local", sourceUrl = "") {
71
70
  const coords = this.cache.resolveToolCoordinates(toolId, toolVersion);
72
71
  const version = coords.version ?? toolVersion;
73
- const key = cacheKey(coords.toolshedUrl, coords.trsToolId, version);
72
+ const key = await cacheKey(coords.toolshedUrl, coords.trsToolId, version);
74
73
  await this.cache.saveTool(key, parsedTool, coords.readableId, version, source, sourceUrl);
75
74
  return key;
76
75
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tool-info.js","sourceRoot":"","sources":["../src/tool-info.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-info.js","sourceRoot":"","sources":["../src/tool-info.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAqB1E;;;GAGG;AACH,MAAM,OAAO,eAAe;IACjB,KAAK,CAAY;IACT,OAAO,CAAe;IACtB,OAAO,CAAe;IAEvC,YAAY,IAAqB;QAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,SAAS,CAAC;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;SAC5C,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC;QAEhD,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,OAAO,GAAG;gBACb;oBACE,IAAI,EAAE,UAAU;oBAChB,GAAG,EAAE,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,KAAK,CAAC,kBAAkB;iBAC9D;aACF,CAAC;YACF,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAc,EAAE,WAA2B;QAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACtE,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,kCAAkC,MAAM,EAAE,CAAC,CAAC;QAC9D,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAEjF,iEAAiE;QACjE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,MAAM,CAAC;QAEnC,2BAA2B;QAC3B,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,IAAI,CAAC;gBACH,IAAI,UAAsB,CAAC;gBAC3B,IAAI,WAAmB,CAAC;gBACxB,IAAI,SAAiB,CAAC;gBAEtB,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBAC/B,UAAU,GAAG,MAAM,iBAAiB,CAClC,MAAM,CAAC,GAAG,EACV,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,OAAO,EACd,IAAI,CAAC,OAAO,CACb,CAAC;oBACF,WAAW,GAAG,KAAK,CAAC;oBACpB,SAAS,GAAG,GAAG,MAAM,CAAC,GAAG,cAAc,MAAM,CAAC,SAAS,aAAa,MAAM,CAAC,OAAO,EAAE,CAAC;gBACvF,CAAC;qBAAM,CAAC;oBACN,UAAU,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;oBAClF,WAAW,GAAG,QAAQ,CAAC;oBACvB,SAAS,GAAG,GAAG,MAAM,CAAC,GAAG,cAAc,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC;gBAC7E,CAAC;gBAED,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CACvB,GAAG,EACH,UAAU,EACV,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,OAAO,EACd,WAAW,EACX,SAAS,CACV,CAAC;gBACF,OAAO,UAAU,CAAC;YACpB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC7D,OAAO,CAAC,KAAK,CACX,GAAG,MAAM,CAAC,IAAI,kBAAkB,MAAM,CAAC,GAAG,SAAS,MAAM,CAAC,SAAS,KAAK,GAAG,EAAE,CAC9E,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,OAAO,CACX,MAAc,EACd,WAAmB,EACnB,UAAsB,EACtB,SAAiB,OAAO,EACxB,YAAoB,EAAE;QAEtB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACtE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,WAAW,CAAC;QAC9C,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC1E,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QAC1F,OAAO,GAAG,CAAC;IACb,CAAC;CACF"}
package/package.json CHANGED
@@ -1,13 +1,20 @@
1
1
  {
2
2
  "name": "@galaxy-tool-util/core",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "description": "Galaxy tool cache, ToolShed client, and ParsedTool models",
5
5
  "type": "module",
6
+ "sideEffects": false,
6
7
  "exports": {
7
8
  ".": {
8
9
  "types": "./dist/index.d.ts",
10
+ "browser": "./dist/index.js",
9
11
  "import": "./dist/index.js"
10
- }
12
+ },
13
+ "./node": {
14
+ "types": "./dist/node.d.ts",
15
+ "import": "./dist/node.js"
16
+ },
17
+ "./package.json": "./package.json"
11
18
  },
12
19
  "files": [
13
20
  "dist",
@@ -25,11 +32,11 @@
25
32
  },
26
33
  "license": "MIT",
27
34
  "devDependencies": {
28
- "@types/node": "^25.5.0",
29
- "yaml": "^2.8.3"
35
+ "@types/node": "^25.5.0"
30
36
  },
31
37
  "dependencies": {
32
- "effect": "^3.21.0"
38
+ "effect": "^3.21.0",
39
+ "yaml": "^2.8.3"
33
40
  },
34
41
  "scripts": {
35
42
  "build": "tsc",
@@ -38,6 +45,10 @@
38
45
  "test:watch": "vitest",
39
46
  "lint": "eslint src/ test/",
40
47
  "format": "prettier --check 'src/**/*.ts' 'test/**/*.ts'",
41
- "format-fix": "prettier --write 'src/**/*.ts' 'test/**/*.ts'"
48
+ "format-fix": "prettier --write 'src/**/*.ts' 'test/**/*.ts'",
49
+ "lint:pkg": "publint",
50
+ "check:types": "attw --pack . --profile esm-only",
51
+ "check:browser": "node scripts/verify-browser-entry.mjs",
52
+ "test:browser": "vitest run --config vitest.browser.config.ts"
42
53
  }
43
54
  }