filtercn 0.1.2 → 0.2.1
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/README.md +20 -5
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +2 -2
- package/dist/commands/init.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/templates/index.d.ts +1 -10
- package/dist/templates/index.d.ts.map +1 -1
- package/dist/templates/index.js +877 -713
- package/dist/templates/index.js.map +1 -1
- package/dist/utils/dependencies.d.ts.map +1 -1
- package/dist/utils/dependencies.js +4 -12
- package/dist/utils/dependencies.js.map +1 -1
- package/dist/utils/detect-project.js +1 -1
- package/dist/utils/detect-project.js.map +1 -1
- package/dist/utils/file-writer.d.ts.map +1 -1
- package/dist/utils/file-writer.js +1 -1
- package/dist/utils/file-writer.js.map +1 -1
- package/package.json +8 -2
- package/src/commands/init.ts +9 -26
- package/src/index.ts +1 -5
- package/src/templates/index.ts +871 -707
- package/src/utils/dependencies.ts +6 -18
- package/src/utils/detect-project.ts +1 -1
- package/src/utils/file-writer.ts +2 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/templates/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/templates/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dependencies.d.ts","sourceRoot":"","sources":["../../src/utils/dependencies.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dependencies.d.ts","sourceRoot":"","sources":["../../src/utils/dependencies.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAOvD,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAW3D;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAa/F;AAgBD,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,WAAW,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAG9E"}
|
|
@@ -1,17 +1,9 @@
|
|
|
1
|
-
import fs from "fs-extra";
|
|
2
|
-
import path from "node:path";
|
|
3
1
|
import { execSync } from "node:child_process";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import fs from "fs-extra";
|
|
4
4
|
import { logger } from "./logger.js";
|
|
5
5
|
const PEER_DEPENDENCIES = ["lucide-react", "date-fns"];
|
|
6
|
-
const SHADCN_COMPONENTS = [
|
|
7
|
-
"button",
|
|
8
|
-
"input",
|
|
9
|
-
"select",
|
|
10
|
-
"popover",
|
|
11
|
-
"calendar",
|
|
12
|
-
"command",
|
|
13
|
-
"badge",
|
|
14
|
-
];
|
|
6
|
+
const SHADCN_COMPONENTS = ["button", "input", "select", "popover", "calendar", "command", "badge"];
|
|
15
7
|
export function checkPeerDependencies(cwd) {
|
|
16
8
|
const pkgPath = path.join(cwd, "package.json");
|
|
17
9
|
if (!fs.existsSync(pkgPath))
|
|
@@ -32,7 +24,7 @@ export function installDependencies(deps, projectInfo, cwd) {
|
|
|
32
24
|
execSync(installCmd, { cwd, stdio: "pipe" });
|
|
33
25
|
logger.success("Dependencies installed.");
|
|
34
26
|
}
|
|
35
|
-
catch (
|
|
27
|
+
catch (_error) {
|
|
36
28
|
logger.error(`Failed to install dependencies. Run manually:`);
|
|
37
29
|
logger.info(` ${installCmd}`);
|
|
38
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../../src/utils/dependencies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../../src/utils/dependencies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,UAAU,CAAC;AAE1B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,iBAAiB,GAAG,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;AAEvD,MAAM,iBAAiB,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AAEnG,MAAM,UAAU,qBAAqB,CAAC,GAAW;IAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAC/C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,iBAAiB,CAAC;IAEtD,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,OAAO,GAAG;QACd,GAAG,GAAG,CAAC,YAAY;QACnB,GAAG,GAAG,CAAC,eAAe;KACvB,CAAC;IAEF,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAc,EAAE,WAAwB,EAAE,GAAW;IACvF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAE9B,MAAM,UAAU,GAAG,iBAAiB,CAAC,WAAW,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IACvE,MAAM,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEjD,IAAI,CAAC;QACH,QAAQ,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAC7C,MAAM,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,MAAM,EAAE,CAAC;QAChB,MAAM,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;QAC9D,MAAM,CAAC,IAAI,CAAC,KAAK,UAAU,EAAE,CAAC,CAAC;IACjC,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,EAAiC,EAAE,IAAc;IAC1E,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9B,QAAQ,EAAE,EAAE,CAAC;QACX,KAAK,MAAM;YACT,OAAO,YAAY,MAAM,EAAE,CAAC;QAC9B,KAAK,MAAM;YACT,OAAO,YAAY,MAAM,EAAE,CAAC;QAC9B,KAAK,KAAK;YACR,OAAO,WAAW,MAAM,EAAE,CAAC;QAC7B;YACE,OAAO,eAAe,MAAM,EAAE,CAAC;IACnC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,EAAiC;IACpE,MAAM,MAAM,GAAG,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IAClG,OAAO,GAAG,MAAM,sBAAsB,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AACtE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detect-project.js","sourceRoot":"","sources":["../../src/utils/detect-project.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"detect-project.js","sourceRoot":"","sources":["../../src/utils/detect-project.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,UAAU,CAAC;AAa1B,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,MAAM,MAAM,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;IAEpD,8BAA8B;IAC9B,IAAI,aAAa,GAAG,YAAY,CAAC;IACjC,IAAI,MAAM,EAAE,CAAC;QACX,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IACjD,CAAC;IAED,wCAAwC;IACxC,MAAM,cAAc,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAEjD,6BAA6B;IAC7B,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAE/B,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;AAC1D,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAW;IACvC,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC;QAC5F,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC;QACpD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC;QAC/C,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,WAAW,CAAC,GAAW;IAC9B,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IACrD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC;QAAE,OAAO,IAAI,CAAC;IAE9C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACnD,oCAAoC;QACpC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;QAC9E,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,QAAQ,EAAE,eAAe,EAAE,KAAK,CAAC;QAC/C,IAAI,KAAK,EAAE,CAAC;YACV,qCAAqC;YACrC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrC,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBACvB,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,WAAW;IACb,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-writer.d.ts","sourceRoot":"","sources":["../../src/utils/file-writer.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,gBAAgB;IAC/B,2BAA2B;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,qCAAqC;IACrC,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,wBAAsB,iBAAiB,CACrC,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,OAAO,CAAC,CAYlB;AAED,wBAAsB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"file-writer.d.ts","sourceRoot":"","sources":["../../src/utils/file-writer.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,gBAAgB;IAC/B,2BAA2B;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,qCAAqC;IACrC,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,wBAAsB,iBAAiB,CACrC,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,OAAO,CAAC,CAYlB;AAED,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAOjH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-writer.js","sourceRoot":"","sources":["../../src/utils/file-writer.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"file-writer.js","sourceRoot":"","sources":["../../src/utils/file-writer.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AASrC,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,YAAoB,EACpB,OAAe,EACf,OAAyB;IAEzB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAEtD,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC,6BAA6B,YAAY,EAAE,CAAC,CAAC;QACzD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC3C,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/C,MAAM,CAAC,OAAO,CAAC,YAAY,YAAY,EAAE,CAAC,CAAC;IAC3C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,KAA6B,EAAE,OAAyB;IAC9F,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5D,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACxE,IAAI,OAAO;YAAE,KAAK,EAAE,CAAC;IACvB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "filtercn",
|
|
3
|
-
"version": "0.1
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "CLI to scaffold the FilterCN conditional filter component into your Next.js + shadcn/ui project",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -24,6 +24,12 @@
|
|
|
24
24
|
"@types/prompts": "^2.4.9",
|
|
25
25
|
"typescript": "^5.8.3"
|
|
26
26
|
},
|
|
27
|
-
"keywords": [
|
|
27
|
+
"keywords": [
|
|
28
|
+
"filter",
|
|
29
|
+
"shadcn",
|
|
30
|
+
"nextjs",
|
|
31
|
+
"cli",
|
|
32
|
+
"component"
|
|
33
|
+
],
|
|
28
34
|
"license": "MIT"
|
|
29
35
|
}
|
package/src/commands/init.ts
CHANGED
|
@@ -2,14 +2,10 @@ import path from "node:path";
|
|
|
2
2
|
import chalk from "chalk";
|
|
3
3
|
import ora from "ora";
|
|
4
4
|
import prompts from "prompts";
|
|
5
|
+
import { getTemplateFiles } from "../templates/index.js";
|
|
6
|
+
import { checkPeerDependencies, getShadcnInstallHint, installDependencies } from "../utils/dependencies.js";
|
|
5
7
|
import { detectProject } from "../utils/detect-project.js";
|
|
6
8
|
import { writeAllTemplates } from "../utils/file-writer.js";
|
|
7
|
-
import {
|
|
8
|
-
checkPeerDependencies,
|
|
9
|
-
installDependencies,
|
|
10
|
-
getShadcnInstallHint,
|
|
11
|
-
} from "../utils/dependencies.js";
|
|
12
|
-
import { getTemplateFiles } from "../templates/index.js";
|
|
13
9
|
import { logger } from "../utils/logger.js";
|
|
14
10
|
|
|
15
11
|
interface InitOptions {
|
|
@@ -28,25 +24,14 @@ export async function initCommand(options: InitOptions) {
|
|
|
28
24
|
spinner.succeed("Project detected");
|
|
29
25
|
|
|
30
26
|
console.log("");
|
|
31
|
-
console.log(
|
|
32
|
-
|
|
33
|
-
);
|
|
34
|
-
console.log(
|
|
35
|
-
chalk.dim(" Components dir: ") + projectInfo.componentsDir
|
|
36
|
-
);
|
|
37
|
-
console.log(
|
|
38
|
-
chalk.dim(" Package manager: ") + projectInfo.packageManager
|
|
39
|
-
);
|
|
40
|
-
console.log(
|
|
41
|
-
chalk.dim(" Import alias: ") + projectInfo.alias
|
|
42
|
-
);
|
|
27
|
+
console.log(chalk.dim(" Project root: ") + cwd);
|
|
28
|
+
console.log(chalk.dim(" Components dir: ") + projectInfo.componentsDir);
|
|
29
|
+
console.log(chalk.dim(" Package manager: ") + projectInfo.packageManager);
|
|
30
|
+
console.log(chalk.dim(" Import alias: ") + projectInfo.alias);
|
|
43
31
|
console.log("");
|
|
44
32
|
|
|
45
33
|
// Step 2: Confirm
|
|
46
|
-
const targetDir = path.join(
|
|
47
|
-
projectInfo.componentsDir,
|
|
48
|
-
"conditional-filter"
|
|
49
|
-
);
|
|
34
|
+
const targetDir = path.join(projectInfo.componentsDir, "conditional-filter");
|
|
50
35
|
|
|
51
36
|
const { proceed } = await prompts({
|
|
52
37
|
type: "confirm",
|
|
@@ -105,9 +90,7 @@ export async function initCommand(options: InitOptions) {
|
|
|
105
90
|
|
|
106
91
|
// Step 5: Remind about shadcn/ui components
|
|
107
92
|
logger.break();
|
|
108
|
-
logger.info(
|
|
109
|
-
chalk.yellow("Don't forget to install the required shadcn/ui components:")
|
|
110
|
-
);
|
|
93
|
+
logger.info(chalk.yellow("Don't forget to install the required shadcn/ui components:"));
|
|
111
94
|
console.log("");
|
|
112
95
|
console.log(chalk.dim(" ") + chalk.cyan(getShadcnInstallHint(projectInfo.packageManager)));
|
|
113
96
|
console.log("");
|
|
@@ -120,7 +103,7 @@ export async function initCommand(options: InitOptions) {
|
|
|
120
103
|
console.log("");
|
|
121
104
|
console.log(
|
|
122
105
|
chalk.dim(" ") +
|
|
123
|
-
|
|
106
|
+
chalk.white(`import { FilterProvider, FilterRoot } from "${projectInfo.alias}components/conditional-filter";`),
|
|
124
107
|
);
|
|
125
108
|
console.log("");
|
|
126
109
|
}
|
package/src/index.ts
CHANGED
|
@@ -14,11 +14,7 @@ program
|
|
|
14
14
|
.command("init")
|
|
15
15
|
.description("Initialize the conditional-filter component in your project")
|
|
16
16
|
.option("-f, --force", "Overwrite existing files", false)
|
|
17
|
-
.option(
|
|
18
|
-
"-c, --cwd <path>",
|
|
19
|
-
"The working directory (defaults to current directory)",
|
|
20
|
-
process.cwd()
|
|
21
|
-
)
|
|
17
|
+
.option("-c, --cwd <path>", "The working directory (defaults to current directory)", process.cwd())
|
|
22
18
|
.action(async (opts) => {
|
|
23
19
|
await initCommand({
|
|
24
20
|
force: opts.force,
|