@ikas/component-cli 1.4.0-beta.89 → 1.4.0-beta.90
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/utils/compile.d.ts.map +1 -1
- package/dist/utils/compile.js +13 -14
- package/dist/utils/compile.js.map +1 -1
- package/dist/utils/forbid-deep-imports.d.ts +3 -0
- package/dist/utils/forbid-deep-imports.d.ts.map +1 -0
- package/dist/utils/forbid-deep-imports.js +54 -0
- package/dist/utils/forbid-deep-imports.js.map +1 -0
- package/package.json +1 -1
- package/dist/commands/create.d.ts +0 -4
- package/dist/commands/create.d.ts.map +0 -1
- package/dist/commands/create.js +0 -176
- package/dist/commands/create.js.map +0 -1
- package/dist/utils/__tests__/detect-theme-global-name-lookup.test.d.ts +0 -2
- package/dist/utils/__tests__/detect-theme-global-name-lookup.test.d.ts.map +0 -1
- package/dist/utils/__tests__/detect-theme-global-name-lookup.test.js +0 -83
- package/dist/utils/__tests__/detect-theme-global-name-lookup.test.js.map +0 -1
- package/dist/utils/detect-theme-global-name-lookup.d.ts +0 -38
- package/dist/utils/detect-theme-global-name-lookup.d.ts.map +0 -1
- package/dist/utils/detect-theme-global-name-lookup.js +0 -173
- package/dist/utils/detect-theme-global-name-lookup.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../src/utils/compile.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAuB,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../src/utils/compile.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAuB,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AA2ClG;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,iBAAiB,CAAC,CAoD5B;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAIjE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,MAAM,CAGzE;AA0hBD;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,UAAU,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,EAAE,EACnE,gBAAgB,CAAC,EAAE,MAAM,GACxB,OAAO,CAAC,sBAAsB,CAAC,CAwTjC"}
|
package/dist/utils/compile.js
CHANGED
|
@@ -4,6 +4,7 @@ import * as os from "os";
|
|
|
4
4
|
import * as path from "path";
|
|
5
5
|
import { resolveCssImports } from "./css-import-resolver.js";
|
|
6
6
|
import { ikasComponentUtilsPlugin } from "./observer-runtime.js";
|
|
7
|
+
import { forbidDeepStorefrontImportsPlugin } from "./forbid-deep-imports.js";
|
|
7
8
|
/**
|
|
8
9
|
* Shim that provides the JSX factory/fragment under collision-proof names.
|
|
9
10
|
*
|
|
@@ -21,25 +22,23 @@ import { ikasComponentUtilsPlugin } from "./observer-runtime.js";
|
|
|
21
22
|
const PREACT_JSX_SHIM = path.join(os.tmpdir(), "ikas-preact-jsx-shim.mjs");
|
|
22
23
|
fs.writeFileSync(PREACT_JSX_SHIM, 'export{h as __ikas_h,Fragment as __ikas_Fragment}from"preact";\n');
|
|
23
24
|
/**
|
|
24
|
-
* External dependencies - these will be provided by the generated storefront
|
|
25
|
+
* External dependencies - these will be provided by the generated storefront.
|
|
26
|
+
*
|
|
27
|
+
* The `@ikas/bp-storefront*` packages are intentionally NOT listed here: they are externalized
|
|
28
|
+
* by `forbidDeepStorefrontImportsPlugin()` instead, which externalizes the allowed ROOT import
|
|
29
|
+
* and rejects private deep subpaths. (esbuild applies this `external` array before plugin
|
|
30
|
+
* onResolve, so keeping them here would let `/dist/...` deep imports slip through unchecked.)
|
|
25
31
|
*/
|
|
26
32
|
const SERVER_EXTERNALS = [
|
|
27
33
|
"preact",
|
|
28
34
|
"preact/hooks",
|
|
29
35
|
"preact-render-to-string",
|
|
30
|
-
"mobx"
|
|
31
|
-
"@ikas/bp-storefront",
|
|
32
|
-
"@ikas/bp-storefront-models",
|
|
33
|
-
"@ikas/bp-storefront-config",
|
|
34
|
-
"@ikas/bp-storefront-api"
|
|
36
|
+
"mobx"
|
|
35
37
|
];
|
|
36
38
|
const CLIENT_EXTERNALS = [
|
|
37
39
|
"preact",
|
|
38
40
|
"preact/hooks",
|
|
39
|
-
"mobx"
|
|
40
|
-
"@ikas/bp-storefront",
|
|
41
|
-
"@ikas/bp-storefront-models",
|
|
42
|
-
"@ikas/bp-storefront-config"
|
|
41
|
+
"mobx"
|
|
43
42
|
];
|
|
44
43
|
/**
|
|
45
44
|
* Compile a single component's TSX and CSS
|
|
@@ -55,7 +54,7 @@ export async function compileComponent(entryPath, stylesPath, componentId) {
|
|
|
55
54
|
target: "node18",
|
|
56
55
|
write: false,
|
|
57
56
|
external: SERVER_EXTERNALS,
|
|
58
|
-
plugins: [ikasComponentUtilsPlugin()],
|
|
57
|
+
plugins: [forbidDeepStorefrontImportsPlugin(), ikasComponentUtilsPlugin()],
|
|
59
58
|
});
|
|
60
59
|
// Build client bundle (for hydration)
|
|
61
60
|
const clientResult = await esbuild.build({
|
|
@@ -66,7 +65,7 @@ export async function compileComponent(entryPath, stylesPath, componentId) {
|
|
|
66
65
|
target: "es2020",
|
|
67
66
|
write: false,
|
|
68
67
|
external: CLIENT_EXTERNALS,
|
|
69
|
-
plugins: [ikasComponentUtilsPlugin()],
|
|
68
|
+
plugins: [forbidDeepStorefrontImportsPlugin(), ikasComponentUtilsPlugin()],
|
|
70
69
|
});
|
|
71
70
|
// Read CSS (with import resolution)
|
|
72
71
|
const cssPath = path.resolve(process.cwd(), stylesPath);
|
|
@@ -683,7 +682,7 @@ export async function compileAllComponents(components, globalStylesPath) {
|
|
|
683
682
|
platform: "node",
|
|
684
683
|
target: "node18",
|
|
685
684
|
external: SERVER_EXTERNALS,
|
|
686
|
-
plugins: [ikasComponentUtilsPlugin()],
|
|
685
|
+
plugins: [forbidDeepStorefrontImportsPlugin(), ikasComponentUtilsPlugin()],
|
|
687
686
|
splitting: true,
|
|
688
687
|
outdir: serverDir,
|
|
689
688
|
entryNames: "[name]",
|
|
@@ -697,7 +696,7 @@ export async function compileAllComponents(components, globalStylesPath) {
|
|
|
697
696
|
platform: "browser",
|
|
698
697
|
target: "es2020",
|
|
699
698
|
external: CLIENT_EXTERNALS,
|
|
700
|
-
plugins: [ikasComponentUtilsPlugin()],
|
|
699
|
+
plugins: [forbidDeepStorefrontImportsPlugin(), ikasComponentUtilsPlugin()],
|
|
701
700
|
splitting: true,
|
|
702
701
|
outdir: clientDir,
|
|
703
702
|
entryNames: "[name]",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compile.js","sourceRoot":"","sources":["../../src/utils/compile.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"compile.js","sourceRoot":"","sources":["../../src/utils/compile.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"forbid-deep-imports.d.ts","sourceRoot":"","sources":["../../src/utils/forbid-deep-imports.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AA2BtC,wBAAgB,iCAAiC,IAAI,MAAM,CA6B1D"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fail the build on deep imports into the storefront packages.
|
|
3
|
+
*
|
|
4
|
+
* `@ikas/bp-storefront` (and its `-models` / `-config` / `-api` siblings) are marked
|
|
5
|
+
* EXTERNAL during compilation, so esbuild does NOT resolve their subpaths — a hand-written
|
|
6
|
+
* deep import like `@ikas/bp-storefront/dist/functions/api/cart` would otherwise sail through
|
|
7
|
+
* the bundle untouched and only break later (the published storefront exposes the package as
|
|
8
|
+
* window globals keyed off the ROOT export names; a `/dist/...` or `/src/...` subpath has no
|
|
9
|
+
* corresponding global, so the component throws at runtime in the canvas/published theme).
|
|
10
|
+
*
|
|
11
|
+
* The public contract is: import ONLY from the bare package root. Anything after the package
|
|
12
|
+
* name is a private path. This plugin turns that contract into a hard compile error with a
|
|
13
|
+
* message pointing at the correct root import, instead of letting the component build "succeed"
|
|
14
|
+
* and fail in the browser. Models often reach for these subpaths when they can't find a public
|
|
15
|
+
* helper (e.g. coupon code) — the error nudges them back to the documented root exports.
|
|
16
|
+
*/
|
|
17
|
+
// Matches `@ikas/bp-storefront` (and its -models / -config / -api siblings) with an OPTIONAL
|
|
18
|
+
// subpath. Group 1 = package root, group 2 = the subpath (including its leading "/"), if any.
|
|
19
|
+
//
|
|
20
|
+
// NOTE: these packages MUST NOT also sit in esbuild's `external: [...]` array. esbuild applies
|
|
21
|
+
// the external array BEFORE running plugin onResolve callbacks, so an external-listed deep
|
|
22
|
+
// import is short-circuited and the plugin never sees it. We therefore externalize the valid
|
|
23
|
+
// ROOT import from inside this plugin instead, which lets the same callback reject subpaths.
|
|
24
|
+
const STOREFRONT_PKG = /^(@ikas\/bp-storefront(?:-(?:models|config|api))?)(\/.*)?$/;
|
|
25
|
+
export function forbidDeepStorefrontImportsPlugin() {
|
|
26
|
+
return {
|
|
27
|
+
name: "ikas-forbid-deep-storefront-imports",
|
|
28
|
+
setup(build) {
|
|
29
|
+
build.onResolve({ filter: STOREFRONT_PKG }, (args) => {
|
|
30
|
+
const [, root, subpath] = args.path.match(STOREFRONT_PKG);
|
|
31
|
+
// Bare root import (or a lone trailing slash) — the allowed form. Externalize it, the
|
|
32
|
+
// same way the old `external: [...]` entry did, so the published storefront's window
|
|
33
|
+
// globals satisfy it.
|
|
34
|
+
if (!subpath || subpath === "/") {
|
|
35
|
+
return { path: root, external: true };
|
|
36
|
+
}
|
|
37
|
+
return {
|
|
38
|
+
errors: [
|
|
39
|
+
{
|
|
40
|
+
text: `Deep import "${args.path}" is not allowed. Import only from the package root ` +
|
|
41
|
+
`"${root}" — e.g. import { saveCouponCode, getCart } from "${root}". ` +
|
|
42
|
+
`Subpaths like "/dist/..." or "/src/..." are private: they bundle fine but have ` +
|
|
43
|
+
`no window global in the published storefront, so the component breaks at runtime. ` +
|
|
44
|
+
`If a helper seems missing from the root, it almost always has a public name there ` +
|
|
45
|
+
`(coupon code, for instance, is getCouponCodeForm / setCouponCodeFormCouponCode / ` +
|
|
46
|
+
`submitCouponCodeForm).`,
|
|
47
|
+
},
|
|
48
|
+
],
|
|
49
|
+
};
|
|
50
|
+
});
|
|
51
|
+
},
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=forbid-deep-imports.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"forbid-deep-imports.js","sourceRoot":"","sources":["../../src/utils/forbid-deep-imports.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;GAeG;AACH,6FAA6F;AAC7F,8FAA8F;AAC9F,EAAE;AACF,+FAA+F;AAC/F,2FAA2F;AAC3F,6FAA6F;AAC7F,6FAA6F;AAC7F,MAAM,cAAc,GAAG,4DAA4D,CAAC;AAEpF,MAAM,UAAU,iCAAiC;IAC/C,OAAO;QACL,IAAI,EAAE,qCAAqC;QAC3C,KAAK,CAAC,KAAK;YACT,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE;gBACnD,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAE,CAAC;gBAC3D,sFAAsF;gBACtF,qFAAqF;gBACrF,sBAAsB;gBACtB,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;oBAChC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;gBACxC,CAAC;gBACD,OAAO;oBACL,MAAM,EAAE;wBACN;4BACE,IAAI,EACF,gBAAgB,IAAI,CAAC,IAAI,sDAAsD;gCAC/E,IAAI,IAAI,qDAAqD,IAAI,KAAK;gCACtE,iFAAiF;gCACjF,oFAAoF;gCACpF,oFAAoF;gCACpF,mFAAmF;gCACnF,wBAAwB;yBAC3B;qBACF;iBACF,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA4IpC,wBAAgB,mBAAmB,IAAI,OAAO,CA4B7C;AAGD,wBAAsB,GAAG,kBAiCxB"}
|
package/dist/commands/create.js
DELETED
|
@@ -1,176 +0,0 @@
|
|
|
1
|
-
import chalk from "chalk";
|
|
2
|
-
import { Command } from "commander";
|
|
3
|
-
import * as fs from "fs";
|
|
4
|
-
import inquirer from "inquirer";
|
|
5
|
-
import ora from "ora";
|
|
6
|
-
import * as path from "path";
|
|
7
|
-
import { generateComponentId, generateProjectId } from "../utils/component-helpers.js";
|
|
8
|
-
import { readTemplate } from "../utils/template.js";
|
|
9
|
-
const PROP_TYPES = [
|
|
10
|
-
"TEXT",
|
|
11
|
-
"NUMBER",
|
|
12
|
-
"BOOLEAN",
|
|
13
|
-
"IMAGE",
|
|
14
|
-
"LINK",
|
|
15
|
-
"LIST_OF_LINK",
|
|
16
|
-
"COLOR",
|
|
17
|
-
"PRODUCT",
|
|
18
|
-
"PRODUCT_LIST",
|
|
19
|
-
"CATEGORY",
|
|
20
|
-
"CATEGORY_LIST",
|
|
21
|
-
"BRAND",
|
|
22
|
-
"BRAND_LIST",
|
|
23
|
-
"BLOG",
|
|
24
|
-
"BLOG_LIST",
|
|
25
|
-
"BLOG_CATEGORY",
|
|
26
|
-
"BLOG_CATEGORY_LIST",
|
|
27
|
-
"TYPE",
|
|
28
|
-
"ENUM",
|
|
29
|
-
"COMPONENT",
|
|
30
|
-
"COMPONENT_LIST",
|
|
31
|
-
];
|
|
32
|
-
async function createProject(projectName) {
|
|
33
|
-
const spinner = ora("Creating project...").start();
|
|
34
|
-
try {
|
|
35
|
-
const projectPath = path.resolve(process.cwd(), projectName);
|
|
36
|
-
// Check if directory exists
|
|
37
|
-
if (fs.existsSync(projectPath)) {
|
|
38
|
-
spinner.fail(`Directory "${projectName}" already exists`);
|
|
39
|
-
process.exit(1);
|
|
40
|
-
}
|
|
41
|
-
// Create directory structure
|
|
42
|
-
fs.mkdirSync(projectPath, { recursive: true });
|
|
43
|
-
fs.mkdirSync(path.join(projectPath, "src/components/ExampleComponent"), { recursive: true });
|
|
44
|
-
fs.mkdirSync(path.join(projectPath, "src/components/ExampleSection"), { recursive: true });
|
|
45
|
-
// Generate IDs for the example config
|
|
46
|
-
const projectId = generateProjectId();
|
|
47
|
-
const exampleComponentId = generateComponentId(projectId, "example-component");
|
|
48
|
-
const exampleSectionId = generateComponentId(projectId, "example-section");
|
|
49
|
-
const vars = {
|
|
50
|
-
PROJECT_NAME: projectName,
|
|
51
|
-
PROJECT_ID: projectId,
|
|
52
|
-
EXAMPLE_COMPONENT_ID: exampleComponentId,
|
|
53
|
-
EXAMPLE_SECTION_ID: exampleSectionId,
|
|
54
|
-
};
|
|
55
|
-
// Write all template files
|
|
56
|
-
const files = [
|
|
57
|
-
{ template: "create/package.json", dest: "package.json", vars },
|
|
58
|
-
{ template: "create/tsconfig.json", dest: "tsconfig.json" },
|
|
59
|
-
{ template: "create/vite.config.ts", dest: "vite.config.ts" },
|
|
60
|
-
{ template: "create/ikas.config.json", dest: "ikas.config.json", vars },
|
|
61
|
-
{ template: "create/gitignore", dest: ".gitignore" },
|
|
62
|
-
{ template: "create/mcp.json", dest: ".mcp.json" },
|
|
63
|
-
{ template: "create/README.md", dest: "README.md", vars },
|
|
64
|
-
{ template: "create/claude-md", dest: "CLAUDE.md" },
|
|
65
|
-
{ template: "create/cursorrules", dest: ".cursorrules" },
|
|
66
|
-
{ template: "create/src/global.css", dest: "src/global.css" },
|
|
67
|
-
{ template: "create/src/global-types.ts", dest: "src/global-types.ts" },
|
|
68
|
-
{ template: "create/src/ikas-component-utils.d.ts", dest: "src/ikas-component-utils.d.ts" },
|
|
69
|
-
{ template: "create/src/components/index.ts", dest: "src/components/index.ts" },
|
|
70
|
-
{ template: "create/src/components/ExampleComponent/index.tsx", dest: "src/components/ExampleComponent/index.tsx" },
|
|
71
|
-
{ template: "create/src/components/ExampleComponent/types.ts", dest: "src/components/ExampleComponent/types.ts" },
|
|
72
|
-
{ template: "create/src/components/ExampleComponent/styles.css", dest: "src/components/ExampleComponent/styles.css" },
|
|
73
|
-
{ template: "create/src/components/ExampleSection/index.tsx", dest: "src/components/ExampleSection/index.tsx" },
|
|
74
|
-
{ template: "create/src/components/ExampleSection/types.ts", dest: "src/components/ExampleSection/types.ts" },
|
|
75
|
-
{ template: "create/src/components/ExampleSection/styles.css", dest: "src/components/ExampleSection/styles.css" },
|
|
76
|
-
];
|
|
77
|
-
for (const file of files) {
|
|
78
|
-
fs.writeFileSync(path.join(projectPath, file.dest), readTemplate(file.template, file.vars));
|
|
79
|
-
}
|
|
80
|
-
// Create or merge .cursor/mcp.json for Cursor editor
|
|
81
|
-
// Uses node + ${workspaceFolder} instead of npx because Cursor
|
|
82
|
-
// doesn't reliably inherit the shell PATH.
|
|
83
|
-
const cursorDir = path.join(projectPath, ".cursor");
|
|
84
|
-
const cursorMcpPath = path.join(cursorDir, "mcp.json");
|
|
85
|
-
fs.mkdirSync(cursorDir, { recursive: true });
|
|
86
|
-
let cursorMcpConfig = { mcpServers: {} };
|
|
87
|
-
if (fs.existsSync(cursorMcpPath)) {
|
|
88
|
-
try {
|
|
89
|
-
cursorMcpConfig = JSON.parse(fs.readFileSync(cursorMcpPath, "utf-8"));
|
|
90
|
-
if (!cursorMcpConfig.mcpServers) {
|
|
91
|
-
cursorMcpConfig.mcpServers = {};
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
catch {
|
|
95
|
-
cursorMcpConfig = { mcpServers: {} };
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
cursorMcpConfig.mcpServers["ikas-code-components"] = {
|
|
99
|
-
command: "node",
|
|
100
|
-
args: ["${workspaceFolder}/node_modules/@ikas/code-components-mcp/dist/index.js"]
|
|
101
|
-
};
|
|
102
|
-
fs.writeFileSync(cursorMcpPath, JSON.stringify(cursorMcpConfig, null, 2));
|
|
103
|
-
spinner.succeed(chalk.green(`Project "${projectName}" created successfully!`));
|
|
104
|
-
console.log("\n" + chalk.cyan("Next steps:"));
|
|
105
|
-
console.log(chalk.white(` cd ${projectName}`));
|
|
106
|
-
console.log(chalk.white(" npm install"));
|
|
107
|
-
console.log(chalk.white(" npm run dev"));
|
|
108
|
-
console.log("\n" + chalk.gray("Happy coding! 🚀"));
|
|
109
|
-
}
|
|
110
|
-
catch (error) {
|
|
111
|
-
spinner.fail("Failed to create project");
|
|
112
|
-
console.error(error);
|
|
113
|
-
process.exit(1);
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
export function createCreateCommand() {
|
|
117
|
-
return new Command("create")
|
|
118
|
-
.description("Create a new ikas component project")
|
|
119
|
-
.argument("[name]", "Project name")
|
|
120
|
-
.action(async (name) => {
|
|
121
|
-
let projectName = name;
|
|
122
|
-
if (!projectName) {
|
|
123
|
-
const answers = await inquirer.prompt([
|
|
124
|
-
{
|
|
125
|
-
type: "input",
|
|
126
|
-
name: "projectName",
|
|
127
|
-
message: "What is your project name?",
|
|
128
|
-
default: "my-ikas-components",
|
|
129
|
-
validate: (input) => {
|
|
130
|
-
if (!input.trim())
|
|
131
|
-
return "Project name is required";
|
|
132
|
-
if (!/^[a-z0-9-_]+$/i.test(input)) {
|
|
133
|
-
return "Project name can only contain letters, numbers, hyphens, and underscores";
|
|
134
|
-
}
|
|
135
|
-
return true;
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
]);
|
|
139
|
-
projectName = answers.projectName;
|
|
140
|
-
}
|
|
141
|
-
await createProject(projectName);
|
|
142
|
-
});
|
|
143
|
-
}
|
|
144
|
-
// Standalone runner for create-ikas-component command
|
|
145
|
-
export async function run() {
|
|
146
|
-
const program = new Command();
|
|
147
|
-
program
|
|
148
|
-
.name("create-ikas-component")
|
|
149
|
-
.description("Create a new ikas component project")
|
|
150
|
-
.argument("[name]", "Project name")
|
|
151
|
-
.action(async (name) => {
|
|
152
|
-
let projectName = name;
|
|
153
|
-
if (!projectName) {
|
|
154
|
-
const answers = await inquirer.prompt([
|
|
155
|
-
{
|
|
156
|
-
type: "input",
|
|
157
|
-
name: "projectName",
|
|
158
|
-
message: "What is your project name?",
|
|
159
|
-
default: "my-ikas-components",
|
|
160
|
-
validate: (input) => {
|
|
161
|
-
if (!input.trim())
|
|
162
|
-
return "Project name is required";
|
|
163
|
-
if (!/^[a-z0-9-_]+$/i.test(input)) {
|
|
164
|
-
return "Project name can only contain letters, numbers, hyphens, and underscores";
|
|
165
|
-
}
|
|
166
|
-
return true;
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
]);
|
|
170
|
-
projectName = answers.projectName;
|
|
171
|
-
}
|
|
172
|
-
await createProject(projectName);
|
|
173
|
-
});
|
|
174
|
-
program.parse(process.argv);
|
|
175
|
-
}
|
|
176
|
-
//# sourceMappingURL=create.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"detect-theme-global-name-lookup.test.d.ts","sourceRoot":"","sources":["../../../src/utils/__tests__/detect-theme-global-name-lookup.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
import { detectThemeGlobalNameLookup } from "../detect-theme-global-name-lookup.js";
|
|
2
|
-
const scan = (src) => detectThemeGlobalNameLookup(src, "src/test.tsx");
|
|
3
|
-
describe("detectThemeGlobalNameLookup", () => {
|
|
4
|
-
// ---- Positives: by-name lookups that must be flagged ----
|
|
5
|
-
it("flags a chained .find by name", () => {
|
|
6
|
-
const findings = scan(`
|
|
7
|
-
import { getThemeColors } from "@ikas/bp-storefront";
|
|
8
|
-
const primary = getThemeColors().find(c => c.name === "Primary");
|
|
9
|
-
`);
|
|
10
|
-
expect(findings).toHaveLength(1);
|
|
11
|
-
expect(findings[0].accessor).toBe("getThemeColors");
|
|
12
|
-
expect(findings[0].line).toBe(3);
|
|
13
|
-
});
|
|
14
|
-
it("flags a var-stored result filtered by name", () => {
|
|
15
|
-
const findings = scan(`
|
|
16
|
-
import { getThemeKeyframes } from "@ikas/bp-storefront";
|
|
17
|
-
const kfs = getThemeKeyframes();
|
|
18
|
-
const hover = kfs.find(k => k.name === "hoverLift");
|
|
19
|
-
`);
|
|
20
|
-
expect(findings).toHaveLength(1);
|
|
21
|
-
expect(findings[0].accessor).toBe("getThemeKeyframes");
|
|
22
|
-
});
|
|
23
|
-
it("flags a .filter by displayName", () => {
|
|
24
|
-
const findings = scan(`
|
|
25
|
-
import { getThemeSettings } from "@ikas/bp-storefront";
|
|
26
|
-
const matches = getThemeSettings().filter(s => s.displayName === "Brand Color");
|
|
27
|
-
`);
|
|
28
|
-
expect(findings).toHaveLength(1);
|
|
29
|
-
expect(findings[0].accessor).toBe("getThemeSettings");
|
|
30
|
-
});
|
|
31
|
-
it("flags a destructured callback param compared by name", () => {
|
|
32
|
-
const findings = scan(`
|
|
33
|
-
import { getThemeTypography } from "@ikas/bp-storefront";
|
|
34
|
-
const heading = getThemeTypography().find(({ name }) => name === "Heading");
|
|
35
|
-
`);
|
|
36
|
-
expect(findings).toHaveLength(1);
|
|
37
|
-
expect(findings[0].accessor).toBe("getThemeTypography");
|
|
38
|
-
});
|
|
39
|
-
it("flags name lookup on getThemeColorSchemes().values", () => {
|
|
40
|
-
const findings = scan(`
|
|
41
|
-
import { getThemeColorSchemes } from "@ikas/bp-storefront";
|
|
42
|
-
const dark = getThemeColorSchemes().values.find(v => v.name === "Dark");
|
|
43
|
-
`);
|
|
44
|
-
expect(findings).toHaveLength(1);
|
|
45
|
-
expect(findings[0].accessor).toBe("getThemeColorSchemes");
|
|
46
|
-
});
|
|
47
|
-
// ---- Negatives: id-based / unrelated usage that must NOT be flagged ----
|
|
48
|
-
it("does not flag id/ref-based lookup", () => {
|
|
49
|
-
const findings = scan(`
|
|
50
|
-
import { getThemeKeyframes } from "@ikas/bp-storefront";
|
|
51
|
-
const hover = getThemeKeyframes().find(k => k.ref === "_i3x5JPYbPI");
|
|
52
|
-
`);
|
|
53
|
-
expect(findings).toHaveLength(0);
|
|
54
|
-
});
|
|
55
|
-
it("does not flag mapping to a stable field", () => {
|
|
56
|
-
const findings = scan(`
|
|
57
|
-
import { getThemeColors } from "@ikas/bp-storefront";
|
|
58
|
-
const vars = getThemeColors().map(c => c.cssVar);
|
|
59
|
-
`);
|
|
60
|
-
expect(findings).toHaveLength(0);
|
|
61
|
-
});
|
|
62
|
-
it("does not flag a .name compare on a non-accessor array", () => {
|
|
63
|
-
const findings = scan(`
|
|
64
|
-
const products = getProducts();
|
|
65
|
-
const found = products.find(p => p.name === "Shirt");
|
|
66
|
-
`);
|
|
67
|
-
expect(findings).toHaveLength(0);
|
|
68
|
-
});
|
|
69
|
-
it("does not flag getThemeSetting by stable key", () => {
|
|
70
|
-
const findings = scan(`
|
|
71
|
-
import { getThemeSetting } from "@ikas/bp-storefront";
|
|
72
|
-
const v = getThemeSetting("_6Q0KV7VGGM");
|
|
73
|
-
`);
|
|
74
|
-
expect(findings).toHaveLength(0);
|
|
75
|
-
});
|
|
76
|
-
it("returns empty for source without any theme accessor", () => {
|
|
77
|
-
expect(scan(`const x = [1, 2, 3].find(n => n === 2);`)).toHaveLength(0);
|
|
78
|
-
});
|
|
79
|
-
it("is resilient to unparsable source", () => {
|
|
80
|
-
expect(scan(`getThemeColors().find(c => c.name === `)).toEqual(expect.any(Array));
|
|
81
|
-
});
|
|
82
|
-
});
|
|
83
|
-
//# sourceMappingURL=detect-theme-global-name-lookup.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"detect-theme-global-name-lookup.test.js","sourceRoot":"","sources":["../../../src/utils/__tests__/detect-theme-global-name-lookup.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Detect when a code component (or a shared module it imports) resolves a theme
|
|
3
|
-
* global by its human NAME instead of its stable id — e.g.
|
|
4
|
-
*
|
|
5
|
-
* getThemeColors().find(c => c.name === "Primary")
|
|
6
|
-
* const cols = getThemeColors(); cols.find(c => c.name === "Primary")
|
|
7
|
-
*
|
|
8
|
-
* Why this matters: a customer can install TWO partner design assets into ONE
|
|
9
|
-
* theme. Each asset brings its own globals, so two colors named "Primary" (with
|
|
10
|
-
* DIFFERENT stable ids) can coexist. Every SDK accessor resolves by stable id
|
|
11
|
-
* (`getThemeSetting("_id")`, `var(--id)`, `_id` class/ref), so id-based code is
|
|
12
|
-
* collision-safe. The ONLY way to pick the wrong "Primary" is to filter an
|
|
13
|
-
* accessor RESULT by `.name` / `.displayName` — names are not unique, and
|
|
14
|
-
* `.find` returns whichever happens to come first. This detector flags exactly
|
|
15
|
-
* that anti-pattern so publish can warn the author to reference by id.
|
|
16
|
-
*
|
|
17
|
-
* AST (not a regex on minified output): the CLI already depends on `typescript`,
|
|
18
|
-
* and at build time the partner SOURCE is available, where the accessor call and
|
|
19
|
-
* the callback param are intact. A minified-bundle scan would be both noisy
|
|
20
|
-
* (every `product.name ===`) and leaky (a result stored in a var breaks the
|
|
21
|
-
* chain). This runs on source, so it sees both the chained and var-stored forms.
|
|
22
|
-
*/
|
|
23
|
-
export type ThemeGlobalNameLookupFinding = {
|
|
24
|
-
/** Source path relative to the project root. */
|
|
25
|
-
file: string;
|
|
26
|
-
/** 1-based line of the offending array-method call. */
|
|
27
|
-
line: number;
|
|
28
|
-
/** The theme accessor whose result is filtered by name (e.g. "getThemeColors"). */
|
|
29
|
-
accessor: string;
|
|
30
|
-
/** Short single-line excerpt of the offending expression. */
|
|
31
|
-
snippet: string;
|
|
32
|
-
};
|
|
33
|
-
/**
|
|
34
|
-
* Scan one source file's text and return findings for any by-name theme-global
|
|
35
|
-
* lookup. Resilient: a parse failure yields no findings (the lint never blocks a build).
|
|
36
|
-
*/
|
|
37
|
-
export declare function detectThemeGlobalNameLookup(sourceText: string, fileName: string): ThemeGlobalNameLookupFinding[];
|
|
38
|
-
//# sourceMappingURL=detect-theme-global-name-lookup.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"detect-theme-global-name-lookup.d.ts","sourceRoot":"","sources":["../../src/utils/detect-theme-global-name-lookup.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,MAAM,MAAM,4BAA4B,GAAG;IACzC,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,mFAAmF;IACnF,QAAQ,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAwIF;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,4BAA4B,EAAE,CA2ChC"}
|
|
@@ -1,173 +0,0 @@
|
|
|
1
|
-
import * as ts from "typescript";
|
|
2
|
-
// SDK accessors that return a LIST of tokens, each carrying a non-unique `name`.
|
|
3
|
-
// `getThemeSetting`/`getThemeSettingValue` are intentionally excluded: they take a
|
|
4
|
-
// stable key argument, not a name, so they cannot be name-filtered. Duplicated here
|
|
5
|
-
// (not imported from editor-core) because the CLI ships standalone to npm — same
|
|
6
|
-
// convention as the duplicated CSS scoper in compile.ts.
|
|
7
|
-
const LIST_ACCESSORS = new Set([
|
|
8
|
-
"getThemeColors",
|
|
9
|
-
"getThemeKeyframes",
|
|
10
|
-
"getThemeTypography",
|
|
11
|
-
"getThemeBreakpoints",
|
|
12
|
-
"getThemeSettings",
|
|
13
|
-
"getThemeColorSchemes",
|
|
14
|
-
]);
|
|
15
|
-
// Array methods that take a per-element predicate/callback where a `.name` compare
|
|
16
|
-
// would live. `map`/`forEach`/`reduce` are included because a name compare can hide
|
|
17
|
-
// in any of them (e.g. `getThemeColors().map(c => c.name === target ? ... : ...)`).
|
|
18
|
-
const ARRAY_CALLBACK_METHODS = new Set([
|
|
19
|
-
"find",
|
|
20
|
-
"filter",
|
|
21
|
-
"some",
|
|
22
|
-
"every",
|
|
23
|
-
"findIndex",
|
|
24
|
-
"findLast",
|
|
25
|
-
"findLastIndex",
|
|
26
|
-
"forEach",
|
|
27
|
-
"map",
|
|
28
|
-
"flatMap",
|
|
29
|
-
"reduce",
|
|
30
|
-
]);
|
|
31
|
-
// Token properties whose comparison signals a by-name lookup. `name` and the
|
|
32
|
-
// settings token's `displayName` are the human labels; everything stable
|
|
33
|
-
// (`id`/`ref`/`cssVar`/`className`) is fine and intentionally NOT listed.
|
|
34
|
-
const NAME_PROPS = new Set(["name", "displayName"]);
|
|
35
|
-
/** The accessor name if `node` is (or unwraps to) a call to a LIST_ACCESSOR, else undefined. */
|
|
36
|
-
function listAccessorOf(node) {
|
|
37
|
-
// Unwrap `getThemeColorSchemes().values` / `.schemes` and parenthesized forms so the
|
|
38
|
-
// underlying accessor call is still recognized.
|
|
39
|
-
let expr = node;
|
|
40
|
-
if (ts.isParenthesizedExpression(expr))
|
|
41
|
-
expr = expr.expression;
|
|
42
|
-
if (ts.isPropertyAccessExpression(expr))
|
|
43
|
-
expr = expr.expression;
|
|
44
|
-
if (ts.isParenthesizedExpression(expr))
|
|
45
|
-
expr = expr.expression;
|
|
46
|
-
if (!ts.isCallExpression(expr))
|
|
47
|
-
return undefined;
|
|
48
|
-
const callee = expr.expression;
|
|
49
|
-
const name = ts.isIdentifier(callee)
|
|
50
|
-
? callee.text
|
|
51
|
-
: ts.isPropertyAccessExpression(callee)
|
|
52
|
-
? callee.name.text
|
|
53
|
-
: undefined;
|
|
54
|
-
return name && LIST_ACCESSORS.has(name) ? name : undefined;
|
|
55
|
-
}
|
|
56
|
-
/** Collect local `const x = getTheme*()` bindings so var-stored results are also tracked. */
|
|
57
|
-
function collectAccessorBoundVars(sourceFile) {
|
|
58
|
-
const bound = new Map();
|
|
59
|
-
const visit = (node) => {
|
|
60
|
-
if (ts.isVariableDeclaration(node) &&
|
|
61
|
-
node.initializer &&
|
|
62
|
-
ts.isIdentifier(node.name)) {
|
|
63
|
-
const accessor = listAccessorOf(node.initializer);
|
|
64
|
-
if (accessor)
|
|
65
|
-
bound.set(node.name.text, accessor);
|
|
66
|
-
}
|
|
67
|
-
ts.forEachChild(node, visit);
|
|
68
|
-
};
|
|
69
|
-
visit(sourceFile);
|
|
70
|
-
return bound;
|
|
71
|
-
}
|
|
72
|
-
/** True if the callback compares its iterated element's `.name`/`.displayName`. */
|
|
73
|
-
function callbackComparesName(callback, sourceFile) {
|
|
74
|
-
if (!ts.isArrowFunction(callback) && !ts.isFunctionExpression(callback))
|
|
75
|
-
return false;
|
|
76
|
-
const firstParam = callback.parameters[0];
|
|
77
|
-
if (!firstParam)
|
|
78
|
-
return false;
|
|
79
|
-
// Element accessed as `param.name` — the common `c => c.name === ...` form.
|
|
80
|
-
const paramName = ts.isIdentifier(firstParam.name) ? firstParam.name.text : undefined;
|
|
81
|
-
// Element destructured as `({ name }) => name === ...`.
|
|
82
|
-
const destructuredNames = new Set();
|
|
83
|
-
if (ts.isObjectBindingPattern(firstParam.name)) {
|
|
84
|
-
for (const el of firstParam.name.elements) {
|
|
85
|
-
const prop = el.propertyName ?? el.name;
|
|
86
|
-
if (ts.isIdentifier(prop) && NAME_PROPS.has(prop.text)) {
|
|
87
|
-
if (ts.isIdentifier(el.name))
|
|
88
|
-
destructuredNames.add(el.name.text);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
if (!paramName && destructuredNames.size === 0)
|
|
93
|
-
return false;
|
|
94
|
-
let found = false;
|
|
95
|
-
const visit = (node) => {
|
|
96
|
-
if (found)
|
|
97
|
-
return;
|
|
98
|
-
// `param.name` / `param.displayName` referenced anywhere in the body.
|
|
99
|
-
if (paramName &&
|
|
100
|
-
ts.isPropertyAccessExpression(node) &&
|
|
101
|
-
ts.isIdentifier(node.expression) &&
|
|
102
|
-
node.expression.text === paramName &&
|
|
103
|
-
NAME_PROPS.has(node.name.text)) {
|
|
104
|
-
found = true;
|
|
105
|
-
return;
|
|
106
|
-
}
|
|
107
|
-
// A destructured `name`/`displayName` identifier used in an equality compare.
|
|
108
|
-
if (destructuredNames.size > 0 && ts.isBinaryExpression(node)) {
|
|
109
|
-
const op = node.operatorToken.kind;
|
|
110
|
-
const isEq = op === ts.SyntaxKind.EqualsEqualsEqualsToken ||
|
|
111
|
-
op === ts.SyntaxKind.EqualsEqualsToken ||
|
|
112
|
-
op === ts.SyntaxKind.ExclamationEqualsEqualsToken ||
|
|
113
|
-
op === ts.SyntaxKind.ExclamationEqualsToken;
|
|
114
|
-
if (isEq) {
|
|
115
|
-
for (const side of [node.left, node.right]) {
|
|
116
|
-
if (ts.isIdentifier(side) && destructuredNames.has(side.text)) {
|
|
117
|
-
found = true;
|
|
118
|
-
return;
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
ts.forEachChild(node, visit);
|
|
124
|
-
};
|
|
125
|
-
visit(callback);
|
|
126
|
-
return found;
|
|
127
|
-
}
|
|
128
|
-
function oneLineSnippet(node, sourceFile) {
|
|
129
|
-
const text = node.getText(sourceFile).replace(/\s+/g, " ").trim();
|
|
130
|
-
return text.length > 120 ? `${text.slice(0, 117)}...` : text;
|
|
131
|
-
}
|
|
132
|
-
/**
|
|
133
|
-
* Scan one source file's text and return findings for any by-name theme-global
|
|
134
|
-
* lookup. Resilient: a parse failure yields no findings (the lint never blocks a build).
|
|
135
|
-
*/
|
|
136
|
-
export function detectThemeGlobalNameLookup(sourceText, fileName) {
|
|
137
|
-
if (!sourceText.includes("getTheme"))
|
|
138
|
-
return [];
|
|
139
|
-
const findings = [];
|
|
140
|
-
try {
|
|
141
|
-
const sourceFile = ts.createSourceFile(fileName, sourceText, ts.ScriptTarget.Latest,
|
|
142
|
-
/* setParentNodes */ true, fileName.endsWith(".tsx") || fileName.endsWith(".jsx") ? ts.ScriptKind.TSX : ts.ScriptKind.TS);
|
|
143
|
-
const boundVars = collectAccessorBoundVars(sourceFile);
|
|
144
|
-
const visit = (node) => {
|
|
145
|
-
// Looking for `<arraySource>.<method>(<callback>)`.
|
|
146
|
-
if (ts.isCallExpression(node) &&
|
|
147
|
-
ts.isPropertyAccessExpression(node.expression) &&
|
|
148
|
-
ARRAY_CALLBACK_METHODS.has(node.expression.name.text) &&
|
|
149
|
-
node.arguments.length > 0) {
|
|
150
|
-
const arraySource = node.expression.expression;
|
|
151
|
-
// (a) direct chain on an accessor call, or (b) a var bound to an accessor result.
|
|
152
|
-
const accessor = listAccessorOf(arraySource) ??
|
|
153
|
-
(ts.isIdentifier(arraySource) ? boundVars.get(arraySource.text) : undefined);
|
|
154
|
-
if (accessor && callbackComparesName(node.arguments[0], sourceFile)) {
|
|
155
|
-
const { line } = sourceFile.getLineAndCharacterOfPosition(node.getStart(sourceFile));
|
|
156
|
-
findings.push({
|
|
157
|
-
file: fileName,
|
|
158
|
-
line: line + 1,
|
|
159
|
-
accessor,
|
|
160
|
-
snippet: oneLineSnippet(node, sourceFile),
|
|
161
|
-
});
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
ts.forEachChild(node, visit);
|
|
165
|
-
};
|
|
166
|
-
visit(sourceFile);
|
|
167
|
-
}
|
|
168
|
-
catch {
|
|
169
|
-
return [];
|
|
170
|
-
}
|
|
171
|
-
return findings;
|
|
172
|
-
}
|
|
173
|
-
//# sourceMappingURL=detect-theme-global-name-lookup.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"detect-theme-global-name-lookup.js","sourceRoot":"","sources":["../../src/utils/detect-theme-global-name-lookup.ts"],"names":[],"mappings":"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"}
|