inai-react-components 2.0.3 → 2.0.5
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.
- package/dist/commands/add.d.ts.map +1 -1
- package/dist/commands/add.js +2 -1
- package/dist/commands/diff.d.ts.map +1 -1
- package/dist/commands/diff.js +19 -3
- package/dist/commands/status.d.ts +13 -0
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +18 -2
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +34 -5
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AAKA,OAAO,EAGL,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EAExB,MAAM,aAAa,CAAC;AA0BrB,MAAM,WAAW,UAAU;IACzB,kDAAkD;IAClD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,2CAA2C;IAC3C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,kDAAkD;IAClD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,oDAAoD;IACpD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kDAAkD;IAClD,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,2DAA2D;IAC3D,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,kEAAkE;IAClE,WAAW,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACjD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG;IAChD,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;CACd,CAyCA;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE;IAAE,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAAC,SAAS,EAAE,iBAAiB,EAAE,CAAA;CAAE,EAC1G,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GAAG,IAAI,GACpB,iBAAiB,GAAG,IAAI,CAc1B;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,YAAY,EACtB,IAAI,EAAE,MAAM,GACX,aAAa,GAAG,IAAI,CAGtB;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,SAAS,EAAE,iBAAiB,EAC5B,cAAc,EAAE,kBAAkB,GACjC,MAAM,CAiBR;
|
|
1
|
+
{"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AAKA,OAAO,EAGL,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EAExB,MAAM,aAAa,CAAC;AA0BrB,MAAM,WAAW,UAAU;IACzB,kDAAkD;IAClD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,2CAA2C;IAC3C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,kDAAkD;IAClD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,oDAAoD;IACpD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kDAAkD;IAClD,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,2DAA2D;IAC3D,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,kEAAkE;IAClE,WAAW,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACjD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG;IAChD,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;CACd,CAyCA;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE;IAAE,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAAC,SAAS,EAAE,iBAAiB,EAAE,CAAA;CAAE,EAC1G,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GAAG,IAAI,GACpB,iBAAiB,GAAG,IAAI,CAc1B;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,YAAY,EACtB,IAAI,EAAE,MAAM,GACX,aAAa,GAAG,IAAI,CAGtB;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,SAAS,EAAE,iBAAiB,EAC5B,cAAc,EAAE,kBAAkB,GACjC,MAAM,CAiBR;AAuYD,wBAAsB,MAAM,CAC1B,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,UAAe,GACvB,OAAO,CAAC,SAAS,CAAC,CA0NpB;AAqCD,MAAM,WAAW,iBAAkB,SAAQ,UAAU;IACnD,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,wBAAsB,UAAU,CAC9B,aAAa,CAAC,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAqIf"}
|
package/dist/commands/add.js
CHANGED
|
@@ -318,7 +318,8 @@ async function installOne(component, registry, componentsJson, registryDir, root
|
|
|
318
318
|
}
|
|
319
319
|
// Update components.json (skipped in dry-run).
|
|
320
320
|
if (!options.dryRun) {
|
|
321
|
-
|
|
321
|
+
// Prefer releaseVersion (actual published release) over schema version.
|
|
322
|
+
const registryVersion = registry.releaseVersion ?? registry.version;
|
|
322
323
|
const installed = componentsJson.installedComponents ?? [];
|
|
323
324
|
const existingIdx = installed.findIndex((c) => c.name === name);
|
|
324
325
|
const entry = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../src/commands/diff.ts"],"names":[],"mappings":"AAKA,OAAO,EAGL,KAAK,iBAAiB,EAEvB,MAAM,aAAa,CAAC;AAMrB;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM,CAqEjF;AAED,wBAAgB,uBAAuB,CACrC,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,GACpB,iBAAiB,GAAG,IAAI,CAW1B;AA6BD,wBAAsB,OAAO,CAC3B,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../src/commands/diff.ts"],"names":[],"mappings":"AAKA,OAAO,EAGL,KAAK,iBAAiB,EAEvB,MAAM,aAAa,CAAC;AAMrB;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM,CAqEjF;AAED,wBAAgB,uBAAuB,CACrC,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,GACpB,iBAAiB,GAAG,IAAI,CAW1B;AA6BD,wBAAsB,OAAO,CAC3B,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,CA+EjB;AAED,wBAAsB,WAAW,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CActE"}
|
package/dist/commands/diff.js
CHANGED
|
@@ -127,12 +127,28 @@ export async function runDiff(componentName, rootDir) {
|
|
|
127
127
|
const results = [];
|
|
128
128
|
const localComponentDir = getLocalAliasDir(registryComponent, componentsJson);
|
|
129
129
|
const isMultiFile = registryComponent.type === "block" || registryComponent.type === "template";
|
|
130
|
+
// Preserve subdirectory structure (data-table/*, tabs/*, etc.) by stripping
|
|
131
|
+
// the source prefix instead of flattening to basename. Same logic as
|
|
132
|
+
// add.ts/update.ts; without it, diff conflates `packages/ui/src/X.tsx` and
|
|
133
|
+
// `packages/ui/src/X/X.tsx` (both → `X.tsx`).
|
|
134
|
+
const UI_PREFIX = "packages/ui/src/";
|
|
135
|
+
const BLOCK_PREFIX = `apps/docs/src/registry/blocks/${componentName}/`;
|
|
130
136
|
for (const filePath of registryComponent.files) {
|
|
131
137
|
const registryFilePath = path.join(registryDir, filePath);
|
|
132
|
-
|
|
138
|
+
let destRel;
|
|
139
|
+
if (isMultiFile && filePath.startsWith(BLOCK_PREFIX)) {
|
|
140
|
+
destRel = filePath.slice(BLOCK_PREFIX.length);
|
|
141
|
+
}
|
|
142
|
+
else if (!isMultiFile && filePath.startsWith(UI_PREFIX)) {
|
|
143
|
+
destRel = filePath.slice(UI_PREFIX.length);
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
destRel = path.basename(filePath);
|
|
147
|
+
}
|
|
148
|
+
const fileName = destRel;
|
|
133
149
|
const localFilePath = isMultiFile
|
|
134
|
-
? path.join(rootDir, localComponentDir, componentName,
|
|
135
|
-
: path.join(rootDir, localComponentDir,
|
|
150
|
+
? path.join(rootDir, localComponentDir, componentName, destRel)
|
|
151
|
+
: path.join(rootDir, localComponentDir, destRel);
|
|
136
152
|
results.push(chalk.bold(`\nDiff for ${fileName}:`));
|
|
137
153
|
results.push(chalk.dim("─".repeat(60)));
|
|
138
154
|
if (!fs.existsSync(registryFilePath)) {
|
|
@@ -49,7 +49,20 @@ export interface InstalledComponent {
|
|
|
49
49
|
installedAt: string;
|
|
50
50
|
}
|
|
51
51
|
export interface RegistryJson {
|
|
52
|
+
/**
|
|
53
|
+
* Schema version of the registry document. Bumped only when the JSON shape
|
|
54
|
+
* (fields, structure) changes in a backwards-incompatible way. Held at
|
|
55
|
+
* "2.0.0" since the v2 schema landed; do not use this for release tracking.
|
|
56
|
+
*/
|
|
52
57
|
version: string;
|
|
58
|
+
/**
|
|
59
|
+
* Actual release version of the published CLI / @company/ui packages
|
|
60
|
+
* (linked via changesets). Bumps with every `pnpm changeset:publish` run.
|
|
61
|
+
* Consumers should use this — not `version` — to detect new releases.
|
|
62
|
+
* Generated by `scripts/generate-registry.mjs` reading `packages/cli/package.json`.
|
|
63
|
+
* Optional for backwards-compat with pre-2.0.4 registry snapshots.
|
|
64
|
+
*/
|
|
65
|
+
releaseVersion?: string;
|
|
53
66
|
components: RegistryComponent[];
|
|
54
67
|
blocks: RegistryComponent[];
|
|
55
68
|
templates: RegistryComponent[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/status.js
CHANGED
|
@@ -41,7 +41,9 @@ function padRight(str, len) {
|
|
|
41
41
|
*/
|
|
42
42
|
export function inspectStatus(rootDir, componentsJson, registry) {
|
|
43
43
|
const installed = componentsJson.installedComponents ?? [];
|
|
44
|
-
|
|
44
|
+
// Use releaseVersion (actual published version) when available; fall back
|
|
45
|
+
// to schema version for legacy registries.
|
|
46
|
+
const registryVersion = registry?.releaseVersion ?? registry?.version ?? "unknown";
|
|
45
47
|
const localComponentDir = resolveLocalDir(componentsJson.aliases.components, componentsJson);
|
|
46
48
|
const localBlocksDir = resolveLocalDir(componentsJson.aliases.blocks, componentsJson);
|
|
47
49
|
const allRegistryItems = registry
|
|
@@ -66,8 +68,22 @@ export function inspectStatus(rootDir, componentsJson, registry) {
|
|
|
66
68
|
: regItem.type === "template"
|
|
67
69
|
? path.join(path.dirname(localBlocksDir), "templates", regItem.name)
|
|
68
70
|
: localComponentDir;
|
|
71
|
+
// Preserve subdir structure (compound components) like add/update/diff.
|
|
72
|
+
const isMultiFile = regItem.type === "block" || regItem.type === "template";
|
|
73
|
+
const UI_PREFIX = "packages/ui/src/";
|
|
74
|
+
const BLOCK_PREFIX = `apps/docs/src/registry/blocks/${regItem.name}/`;
|
|
69
75
|
for (const rf of regItem.files) {
|
|
70
|
-
|
|
76
|
+
let destRel;
|
|
77
|
+
if (isMultiFile && rf.startsWith(BLOCK_PREFIX)) {
|
|
78
|
+
destRel = rf.slice(BLOCK_PREFIX.length);
|
|
79
|
+
}
|
|
80
|
+
else if (!isMultiFile && rf.startsWith(UI_PREFIX)) {
|
|
81
|
+
destRel = rf.slice(UI_PREFIX.length);
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
destRel = path.basename(rf);
|
|
85
|
+
}
|
|
86
|
+
expectedFiles.push(path.join(targetDirRaw, destRel));
|
|
71
87
|
}
|
|
72
88
|
}
|
|
73
89
|
const missingFiles = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AA2BA,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,2EAA2E;IAC3E,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,YAAY,CA4Cd;AAED,wBAAsB,SAAS,CAC7B,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,EACf,WAAW,UAAQ,GAClB,OAAO,CAAC,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AA2BA,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,2EAA2E;IAC3E,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,YAAY,CA4Cd;AAED,wBAAsB,SAAS,CAC7B,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,EACf,WAAW,UAAQ,GAClB,OAAO,CAAC,YAAY,CAAC,CAwPvB;AAED,wBAAsB,aAAa,CACjC,aAAa,CAAC,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,GAC1B,OAAO,CAAC,IAAI,CAAC,CAiDf"}
|
package/dist/commands/update.js
CHANGED
|
@@ -6,8 +6,9 @@ import prompts from "prompts";
|
|
|
6
6
|
import diff3Merge from "diff3";
|
|
7
7
|
import { readComponentsJson, readRegistryJson, } from "./status.js";
|
|
8
8
|
import { findComponentInRegistry, computeDiff } from "./diff.js";
|
|
9
|
+
import { getTargetDir } from "./add.js";
|
|
9
10
|
import { resolveRegistryDir } from "../utils/registry-resolver.js";
|
|
10
|
-
import {
|
|
11
|
+
import { rewriteCompanyUiImports, rewriteLibImports, stripRelativeJsExtensions, } from "../utils/paths.js";
|
|
11
12
|
import { loadSnapshot, saveSnapshot, sha256, } from "../utils/snapshot.js";
|
|
12
13
|
/**
|
|
13
14
|
* Run a 3-way line merge between base (snapshot), mine (local) and theirs
|
|
@@ -73,8 +74,25 @@ export async function runUpdate(componentName, rootDir, skipPrompts = false) {
|
|
|
73
74
|
};
|
|
74
75
|
}
|
|
75
76
|
const registry = readRegistryJson(registryPath);
|
|
76
|
-
|
|
77
|
-
|
|
77
|
+
// Prefer `releaseVersion` (actual published release, bumps with every
|
|
78
|
+
// changeset:publish). Falls back to `version` (schema) for backwards
|
|
79
|
+
// compatibility with pre-2.0.4 registries that only had the schema field.
|
|
80
|
+
const registryVersion = registry?.releaseVersion ?? registry?.version ?? "unknown";
|
|
81
|
+
// Mirror add.ts targetDir resolution so blocks/templates land in their own
|
|
82
|
+
// subdirectories and components in `aliases.components` directly. Without
|
|
83
|
+
// this, `update` for a block would write its files into the components dir.
|
|
84
|
+
const isMultiFile = registryComponent.type === "block" || registryComponent.type === "template";
|
|
85
|
+
const baseTargetDir = getTargetDir(registryComponent, componentsJson);
|
|
86
|
+
const targetDir = isMultiFile
|
|
87
|
+
? path.join(baseTargetDir, componentName)
|
|
88
|
+
: baseTargetDir;
|
|
89
|
+
// Prefix stripping identical to add.ts so compound components (data-table,
|
|
90
|
+
// tabs, etc.) preserve their internal subdirectory structure. Previously
|
|
91
|
+
// update collapsed every path with `basename`, which caused both
|
|
92
|
+
// `packages/ui/src/tabs.tsx` (barrel root) and `packages/ui/src/tabs/tabs.tsx`
|
|
93
|
+
// (inner component) to land at `tabs.tsx`, overwriting each other.
|
|
94
|
+
const UI_PREFIX = "packages/ui/src/";
|
|
95
|
+
const BLOCK_PREFIX = `apps/docs/src/registry/blocks/${componentName}/`;
|
|
78
96
|
const updatedFiles = [];
|
|
79
97
|
const cleanMerges = [];
|
|
80
98
|
const conflictedFiles = [];
|
|
@@ -83,8 +101,19 @@ export async function runUpdate(componentName, rootDir, skipPrompts = false) {
|
|
|
83
101
|
const newSnapshotFiles = {};
|
|
84
102
|
for (const filePath of registryComponent.files) {
|
|
85
103
|
const registryFilePath = path.join(registryDir, filePath);
|
|
86
|
-
|
|
87
|
-
|
|
104
|
+
// Compute destination path that preserves subdirectory structure.
|
|
105
|
+
let destRel;
|
|
106
|
+
if (isMultiFile && filePath.startsWith(BLOCK_PREFIX)) {
|
|
107
|
+
destRel = filePath.slice(BLOCK_PREFIX.length);
|
|
108
|
+
}
|
|
109
|
+
else if (!isMultiFile && filePath.startsWith(UI_PREFIX)) {
|
|
110
|
+
destRel = filePath.slice(UI_PREFIX.length);
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
destRel = path.basename(filePath);
|
|
114
|
+
}
|
|
115
|
+
const fileName = destRel;
|
|
116
|
+
const localFilePath = path.join(rootDir, targetDir, destRel);
|
|
88
117
|
if (!fs.existsSync(registryFilePath)) {
|
|
89
118
|
continue;
|
|
90
119
|
}
|
package/package.json
CHANGED