@axis-ds/mcp 1.4.3 → 1.4.4

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 (2) hide show
  1. package/dist/index.js +58 -5
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -1700,13 +1700,61 @@ function contentGlobCovers(glob, sample, baseDirInput) {
1700
1700
  return branches.some((b) => contentGlobBranchCovers(b, sample, baseDir));
1701
1701
  }
1702
1702
  var CONTENT_PARENT_PATH_NOTE = "\uC0C1\uC704 \uACBD\uB85C\uB294 Tailwind 3 \uAC00 \uBE4C\uB4DC\uB97C \uC2E4\uD589\uD55C \uB514\uB809\uD130\uB9AC \uAE30\uC900\uC73C\uB85C \uD480\uB824\uC694. \uBAA8\uB178\uB808\uD3EC \uB8E8\uD2B8 \uB4F1 \uC571 \uB514\uB809\uD130\uB9AC \uBC16\uC5D0\uC11C \uBE4C\uB4DC\uD558\uBA74 content: { relative: true, files: [...] } \uB85C \uC124\uC815 \uD30C\uC77C \uAE30\uC900\uC73C\uB85C \uBC14\uAFB8\uC138\uC694";
1703
+ function relDirOf(baseDir, dir) {
1704
+ const rel2 = relative(baseDir, dir);
1705
+ return rel2 === "" || isAbsolute(rel2) ? void 0 : rel2.split(sep).join("/");
1706
+ }
1707
+ function realDir(dir) {
1708
+ try {
1709
+ return realpathSync2(dir);
1710
+ } catch {
1711
+ return void 0;
1712
+ }
1713
+ }
1714
+ function packageVersion(dir) {
1715
+ try {
1716
+ const parsed = JSON.parse(readFileSync4(join2(dir, "package.json"), "utf8"));
1717
+ return isPlainObject2(parsed) && typeof parsed.version === "string" ? parsed.version : void 0;
1718
+ } catch {
1719
+ return void 0;
1720
+ }
1721
+ }
1703
1722
  function packageContentTarget(baseDir, name) {
1704
1723
  const found = isPnpProject(baseDir) ? void 0 : findInstalledPackage(baseDir, name);
1705
- const rel2 = found === void 0 ? void 0 : relative(baseDir, found.dir);
1706
- const relDir = rel2 === void 0 || rel2 === "" || isAbsolute(rel2) ? `node_modules/${name}` : rel2.split(sep).join("/");
1724
+ const relDir = (found === void 0 ? void 0 : relDirOf(baseDir, found.dir)) ?? `node_modules/${name}`;
1725
+ const alternates = [];
1726
+ const others = [];
1727
+ const real = found === void 0 ? void 0 : realDir(found.dir);
1728
+ if (found !== void 0 && real !== void 0) {
1729
+ const relReal = relDirOf(baseDir, real);
1730
+ if (relReal !== void 0 && relReal !== relDir) alternates.push(`${relReal}/dist/index.js`);
1731
+ let dir = dirname2(resolve(found.dir, ...name.split("/").map(() => ".."), ".."));
1732
+ for (; ; ) {
1733
+ const candidate = join2(dir, "node_modules", ...name.split("/"));
1734
+ const rel2 = existsSync3(join2(candidate, "package.json")) ? relDirOf(baseDir, candidate) : void 0;
1735
+ if (rel2 !== void 0) {
1736
+ const candidateReal = realDir(candidate);
1737
+ if (candidateReal === real) alternates.push(`${rel2}/dist/index.js`);
1738
+ else {
1739
+ const theirs = packageVersion(candidate);
1740
+ const ours = found.version ?? packageVersion(found.dir);
1741
+ const versions = theirs === void 0 || ours === void 0 ? "" : theirs === ours ? `(\uBC84\uC804\uC740 ${ours} \uB85C \uAC19\uC74C)` : `(${theirs}, \uC571 ${ours})`;
1742
+ others.push({
1743
+ sample: `${rel2}/dist/index.js`,
1744
+ note: `\uC0C1\uC704 \uACBD\uB85C ${rel2} \uB294 \uC571\uC774 \uC4F0\uB294 \uC124\uCE58\uBCF8\uACFC \uB2E4\uB978 \uC124\uCE58\uBCF8${versions}\uC774\uB77C \uB36E\uC74C\uC73C\uB85C \uBCF4\uC9C0 \uC54A\uC544\uC694`
1745
+ });
1746
+ }
1747
+ }
1748
+ const parent = dirname2(dir);
1749
+ if (parent === dir) break;
1750
+ dir = parent;
1751
+ }
1752
+ }
1707
1753
  return {
1708
1754
  sample: `${relDir}/dist/index.js`,
1709
- suggest: `${relDir.startsWith("../") ? "" : "./"}${relDir}/dist/**/*.{js,mjs}`
1755
+ suggest: `${relDir.startsWith("../") ? "" : "./"}${relDir}/dist/**/*.{js,mjs}`,
1756
+ alternates,
1757
+ others
1710
1758
  };
1711
1759
  }
1712
1760
  function balancedSlice(src, start) {
@@ -1780,7 +1828,12 @@ function inspectTailwindContent(baseDirInput) {
1780
1828
  configFile,
1781
1829
  unreadable: read === void 0,
1782
1830
  dynamic: read?.dynamic ?? false,
1783
- targets: targets.map((t) => ({ ...t, covered: globs.some((g) => contentGlobCovers(g, t.sample, baseDir)) }))
1831
+ targets: targets.map(({ alternates = [], others = [], ...t }) => {
1832
+ const covers = (sample) => globs.some((g) => contentGlobCovers(g, sample, baseDir));
1833
+ const covered = [t.sample, ...alternates].some(covers);
1834
+ const note = covered ? void 0 : others.find((o) => covers(o.sample))?.note;
1835
+ return note === void 0 ? { ...t, covered } : { ...t, covered, note };
1836
+ })
1784
1837
  };
1785
1838
  }
1786
1839
  function checkTailwindContent(baseDir) {
@@ -1794,7 +1847,7 @@ function checkTailwindContent(baseDir) {
1794
1847
  message: `${r.configFile}\uC758 content \uAC00 ${r.targets.map((t) => t.label).join(" \xB7 ")} \uB97C \uB36E\uC2B5\uB2C8\uB2E4`
1795
1848
  };
1796
1849
  }
1797
- const list = missing.map((t) => `${t.label} \u2192 "${t.suggest}"`).join(" \xB7 ");
1850
+ const list = missing.map((t) => `${t.label} \u2192 "${t.suggest}"${t.note === void 0 ? "" : ` (${t.note})`}`).join(" \xB7 ");
1798
1851
  const note = missing.some((t) => t.suggest.startsWith("../")) ? ` (${CONTENT_PARENT_PATH_NOTE})` : "";
1799
1852
  if (r.unreadable || r.dynamic) {
1800
1853
  return {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@axis-ds/mcp",
3
- "version": "1.4.3",
3
+ "version": "1.4.4",
4
4
  "type": "module",
5
5
  "description": "AXIS Design System - MCP Server for AI-assisted component discovery",
6
6
  "bin": {