react-scanner-ui 0.0.9 → 0.0.10

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.
@@ -0,0 +1,3 @@
1
+ # Optional: Add commit message validation
2
+ # Uncomment the lines below to enforce conventional commit messages
3
+ # npx --no -- commitlint --edit $1
@@ -0,0 +1 @@
1
+ npx lint-staged
@@ -0,0 +1,34 @@
1
+ # Dependencies
2
+ node_modules/
3
+
4
+ # Build outputs
5
+ dist/
6
+ build/
7
+ coverage/
8
+
9
+ # VitePress
10
+ docs/.vitepress/dist/
11
+ docs/.vitepress/cache/
12
+
13
+ # Logs
14
+ *.log
15
+ npm-debug.log*
16
+ yarn-debug.log*
17
+ yarn-error.log*
18
+
19
+ # Package files
20
+ package-lock.json
21
+ yarn.lock
22
+
23
+ # Generated files
24
+ *.min.js
25
+ *.min.css
26
+
27
+ # Documentation
28
+ README.md
29
+ CHANGELOG.md
30
+
31
+ # Config files that should not be formatted
32
+ .env*
33
+ .gitignore
34
+ .npmignore
package/.prettierrc ADDED
@@ -0,0 +1,15 @@
1
+ {
2
+ "semi": true,
3
+ "trailingComma": "es5",
4
+ "singleQuote": true,
5
+ "printWidth": 80,
6
+ "tabWidth": 2,
7
+ "useTabs": false,
8
+ "bracketSpacing": true,
9
+ "bracketSameLine": false,
10
+ "arrowParens": "avoid",
11
+ "endOfLine": "lf",
12
+ "quoteProps": "as-needed",
13
+ "jsxSingleQuote": true,
14
+ "proseWrap": "preserve"
15
+ }
@@ -1,3 +1,3 @@
1
- import { Command } from "commander";
1
+ import { Command } from 'commander';
2
2
  export declare function startCommand(program: Command): void;
3
3
  //# sourceMappingURL=start.d.ts.map
@@ -47,14 +47,14 @@ async function promptForPortChange(requestedPort, availablePort) {
47
47
  input: process.stdin,
48
48
  output: process.stdout,
49
49
  });
50
- return new Promise((resolve) => {
51
- rl.question(`Port ${requestedPort} is not available. Would you like to run on port ${availablePort} instead? (Y/n): `, (answer) => {
50
+ return new Promise(resolve => {
51
+ rl.question(`Port ${requestedPort} is not available. Would you like to run on port ${availablePort} instead? (Y/n): `, answer => {
52
52
  rl.close();
53
53
  const normalizedAnswer = answer.trim().toLowerCase();
54
54
  // Default to yes if user just presses enter
55
- resolve(normalizedAnswer === "" ||
56
- normalizedAnswer === "y" ||
57
- normalizedAnswer === "yes");
55
+ resolve(normalizedAnswer === '' ||
56
+ normalizedAnswer === 'y' ||
57
+ normalizedAnswer === 'yes');
58
58
  });
59
59
  });
60
60
  }
@@ -64,19 +64,19 @@ async function promptForPortChange(requestedPort, availablePort) {
64
64
  async function openBrowser(url) {
65
65
  const { platform } = process;
66
66
  try {
67
- const { exec } = await Promise.resolve().then(() => __importStar(require("child_process")));
67
+ const { exec } = await Promise.resolve().then(() => __importStar(require('child_process')));
68
68
  let command;
69
- if (platform === "darwin") {
69
+ if (platform === 'darwin') {
70
70
  command = `open "${url}"`;
71
71
  }
72
- else if (platform === "win32") {
72
+ else if (platform === 'win32') {
73
73
  command = `start "" "${url}"`;
74
74
  }
75
75
  else {
76
76
  // Linux and other platforms
77
77
  command = `xdg-open "${url}"`;
78
78
  }
79
- exec(command, (error) => {
79
+ exec(command, error => {
80
80
  if (error) {
81
81
  console.log(`Could not open browser automatically. Please visit: ${url}`);
82
82
  }
@@ -88,17 +88,17 @@ async function openBrowser(url) {
88
88
  }
89
89
  function startCommand(program) {
90
90
  program
91
- .command("start")
92
- .description("Start the React Scanner UI server")
93
- .option("-p, --port <number>", "Port to run the server on", String(DEFAULT_PORT))
94
- .option("--exact-port", "Exit if the specified port is not available", false)
95
- .option("--ci", "Run in CI mode (no interactive prompts)", false)
96
- .option("--open", "Open the browser automatically", false)
91
+ .command('start')
92
+ .description('Start the React Scanner UI server')
93
+ .option('-p, --port <number>', 'Port to run the server on', String(DEFAULT_PORT))
94
+ .option('--exact-port', 'Exit if the specified port is not available', false)
95
+ .option('--ci', 'Run in CI mode (no interactive prompts)', false)
96
+ .option('--open', 'Open the browser automatically', false)
97
97
  .action(async (options) => {
98
98
  (0, dependencies_1.checkPeerDependency)();
99
99
  const requestedPort = parseInt(options.port, 10);
100
100
  if (isNaN(requestedPort) || requestedPort < 1 || requestedPort > 65535) {
101
- console.error("Error: Invalid port number. Please specify a port between 1 and 65535.");
101
+ console.error('Error: Invalid port number. Please specify a port between 1 and 65535.');
102
102
  process.exit(1);
103
103
  }
104
104
  // Use detect-port to find an available port
@@ -111,7 +111,7 @@ function startCommand(program) {
111
111
  !options.exactPort) {
112
112
  const shouldChangePort = await promptForPortChange(requestedPort, availablePort);
113
113
  if (!shouldChangePort) {
114
- console.log("Exiting.");
114
+ console.log('Exiting.');
115
115
  process.exit(1);
116
116
  }
117
117
  }
@@ -128,7 +128,7 @@ function startCommand(program) {
128
128
  }
129
129
  }
130
130
  catch (error) {
131
- console.error("Failed to start server:", error);
131
+ console.error('Failed to start server:', error);
132
132
  process.exit(1);
133
133
  }
134
134
  });
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"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"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAEA,yCAAoC;AACpC,yCAAkF;AAElF,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,kBAAkB,CAAC;KACxB,WAAW,CAAC,2CAA2C,CAAC;KACxD,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,oBAAoB;AACpB,IAAA,sBAAW,EAAC,OAAO,CAAC,CAAC;AACrB,IAAA,sBAAW,EAAC,OAAO,CAAC,CAAC;AACrB,IAAA,uBAAY,EAAC,OAAO,CAAC,CAAC;AACtB,IAAA,uBAAY,EAAC,OAAO,CAAC,CAAC;AAEtB,OAAO,CAAC,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAEA,yCAAoC;AACpC,yCAKoB;AAEpB,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,kBAAkB,CAAC;KACxB,WAAW,CAAC,2CAA2C,CAAC;KACxD,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,oBAAoB;AACpB,IAAA,sBAAW,EAAC,OAAO,CAAC,CAAC;AACrB,IAAA,sBAAW,EAAC,OAAO,CAAC,CAAC;AACrB,IAAA,uBAAY,EAAC,OAAO,CAAC,CAAC;AACtB,IAAA,uBAAY,EAAC,OAAO,CAAC,CAAC;AAEtB,OAAO,CAAC,KAAK,EAAE,CAAC"}
@@ -46,7 +46,7 @@ function getUiRoot() {
46
46
  // UI is always at project-root/ui
47
47
  const currentDir = __dirname;
48
48
  // Go up from server/ to src/ or dist/, then up to project root, then into ui/
49
- return (0, path_1.resolve)(currentDir, "../../ui");
49
+ return (0, path_1.resolve)(currentDir, '../../ui');
50
50
  }
51
51
  /**
52
52
  * Start the HTTP server using Polka with Vite middleware mode
@@ -54,24 +54,24 @@ function getUiRoot() {
54
54
  */
55
55
  async function startServer(port) {
56
56
  // Dynamically import Vite to create dev server in middleware mode
57
- const { createServer: createViteServer } = await Promise.resolve().then(() => __importStar(require("vite")));
57
+ const { createServer: createViteServer } = await Promise.resolve().then(() => __importStar(require('vite')));
58
58
  const uiRoot = getUiRoot();
59
59
  const vite = await createViteServer({
60
60
  root: uiRoot,
61
- configFile: (0, path_1.resolve)(uiRoot, "vite.config.ts"),
61
+ configFile: (0, path_1.resolve)(uiRoot, 'vite.config.ts'),
62
62
  server: {
63
63
  middlewareMode: true,
64
64
  },
65
- appType: "spa",
65
+ appType: 'spa',
66
66
  });
67
67
  // Create HTTP server with manual routing
68
- const server = (0, http_1.createServer)((req, res) => {
69
- const url = req.url || "";
68
+ const server = (0, http_1.createServer)(async (req, res) => {
69
+ const url = req.url || '';
70
70
  // Handle API routes FIRST - before Vite middleware
71
- if (url === "/api/scan-data" || url.startsWith("/api/scan-data?")) {
72
- res.setHeader("Content-Type", "application/json");
73
- res.setHeader("Cache-Control", "no-cache");
74
- const result = (0, scannerConfig_1.getScanData)();
71
+ if (url === '/api/scan-data' || url.startsWith('/api/scan-data?')) {
72
+ res.setHeader('Content-Type', 'application/json');
73
+ res.setHeader('Cache-Control', 'no-cache');
74
+ const result = await (0, scannerConfig_1.getScanData)();
75
75
  res.end(JSON.stringify(result));
76
76
  return;
77
77
  }
@@ -79,26 +79,26 @@ async function startServer(port) {
79
79
  vite.middlewares(req, res);
80
80
  });
81
81
  // Handle server errors
82
- server.on("error", (err) => {
83
- console.error("Server error:", err);
82
+ server.on('error', (err) => {
83
+ console.error('Server error:', err);
84
84
  vite.close();
85
85
  process.exit(1);
86
86
  });
87
87
  // Handle graceful shutdown
88
88
  const shutdown = async () => {
89
- console.log("\nShutting down...");
89
+ console.log('\nShutting down...');
90
90
  await vite.close();
91
91
  server.close();
92
92
  process.exit(0);
93
93
  };
94
- process.on("SIGINT", shutdown);
95
- process.on("SIGTERM", shutdown);
94
+ process.on('SIGINT', shutdown);
95
+ process.on('SIGTERM', shutdown);
96
96
  return new Promise((resolvePromise, reject) => {
97
- server.on("error", reject);
98
- server.listen(port, "127.0.0.1", () => {
97
+ server.on('error', reject);
98
+ server.listen(port, '127.0.0.1', () => {
99
99
  console.log(`\n🚀 React Scanner UI is running at http://localhost:${port}\n`);
100
- console.log(" ➜ Hot Module Replacement enabled");
101
- console.log(" ➜ Press Ctrl+C to stop the server.\n");
100
+ console.log(' ➜ Hot Module Replacement enabled');
101
+ console.log(' ➜ Press Ctrl+C to stop the server.\n');
102
102
  resolvePromise();
103
103
  });
104
104
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}
@@ -4,9 +4,9 @@ exports.createReactScannerConfig = createReactScannerConfig;
4
4
  const fs_1 = require("fs");
5
5
  const path_1 = require("path");
6
6
  function createReactScannerConfig() {
7
- const configPath = (0, path_1.join)(process.cwd(), "react-scanner.config.js");
7
+ const configPath = (0, path_1.join)(process.cwd(), 'react-scanner.config.js');
8
8
  if ((0, fs_1.existsSync)(configPath)) {
9
- console.log("react-scanner.config.js already exists.");
9
+ console.log('react-scanner.config.js already exists.');
10
10
  return;
11
11
  }
12
12
  const configContent = `module.exports = {
@@ -20,10 +20,10 @@ function createReactScannerConfig() {
20
20
  `;
21
21
  try {
22
22
  (0, fs_1.writeFileSync)(configPath, configContent);
23
- console.log("Created react-scanner.config.js");
23
+ console.log('Created react-scanner.config.js');
24
24
  }
25
25
  catch (error) {
26
- console.error("Failed to create react-scanner.config.js", error);
26
+ console.error('Failed to create react-scanner.config.js', error);
27
27
  }
28
28
  }
29
29
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dependencies.d.ts","sourceRoot":"","sources":["../../src/utils/dependencies.ts"],"names":[],"mappings":"AAIA,wBAAgB,uBAAuB,IAAI,OAAO,CAOjD;AAED,wBAAgB,mBAAmB,IAAI,OAAO,CAU7C;AAED,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,OAAO,CAAC,CAYlE;AAED,wBAAgB,mBAAmB,IAAI,IAAI,CA2B1C"}
1
+ {"version":3,"file":"dependencies.d.ts","sourceRoot":"","sources":["../../src/utils/dependencies.ts"],"names":[],"mappings":"AAIA,wBAAgB,uBAAuB,IAAI,OAAO,CAOjD;AAED,wBAAgB,mBAAmB,IAAI,OAAO,CAU7C;AAED,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,OAAO,CAAC,CAelE;AAED,wBAAgB,mBAAmB,IAAI,IAAI,CA6B1C"}
@@ -32,8 +32,8 @@ async function promptInstallReactScanner() {
32
32
  input: process.stdin,
33
33
  output: process.stdout,
34
34
  });
35
- return new Promise((resolve) => {
36
- rl.question('react-scanner is required. Would you like to install it? (y/n): ', (answer) => {
35
+ return new Promise(resolve => {
36
+ rl.question('react-scanner is required. Would you like to install it? (y/n): ', answer => {
37
37
  rl.close();
38
38
  resolve(answer.toLowerCase() === 'y' || answer.toLowerCase() === 'yes');
39
39
  });
@@ -61,7 +61,7 @@ function installReactScanner() {
61
61
  (0, child_process_1.execSync)(command, { stdio: 'inherit' });
62
62
  console.log('react-scanner installed successfully!');
63
63
  }
64
- catch (error) {
64
+ catch {
65
65
  console.error('Failed to install react-scanner. Please install it manually.');
66
66
  process.exit(1);
67
67
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../../src/utils/dependencies.ts"],"names":[],"mappings":";;AAIA,0DAOC;AAED,kDAUC;AAED,8DAYC;AAED,kDA2BC;AAlED,2BAA8C;AAC9C,iDAAyC;AACzC,uCAA2C;AAE3C,SAAgB,uBAAuB;IACrC,IAAI,CAAC;QACH,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAgB,mBAAmB;IACjC,IAAI,CAAC,uBAAuB,EAAE,EAAE,CAAC;QAC/B,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QACxD,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAC/C,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAC7C,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACtB,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAEM,KAAK,UAAU,yBAAyB;IAC7C,MAAM,EAAE,GAAG,IAAA,0BAAe,EAAC;QACzB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;IAEH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,EAAE,CAAC,QAAQ,CAAC,kEAAkE,EAAE,CAAC,MAAM,EAAE,EAAE;YACzF,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,GAAG,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,mBAAmB;IACjC,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAC3C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAA,eAAU,EAAC,WAAW,CAAC,CAAC;QACxC,IAAI,WAAW,GAAG,KAAK,CAAC;QAExB,IAAI,IAAA,eAAU,EAAC,cAAc,CAAC,EAAE,CAAC;YAC/B,MAAM,cAAc,GAAG,IAAA,iBAAY,EAAC,cAAc,EAAE,OAAO,CAAC,CAAC;YAC7D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAC/C,IAAI,WAAW,CAAC,UAAU,EAAE,CAAC;gBAC3B,WAAW,GAAG,IAAI,CAAC;YACrB,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC;QACZ,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,GAAG,gDAAgD,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACvF,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,sCAAsC,CAAC;QACnD,CAAC;QAED,IAAA,wBAAQ,EAAC,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAC9E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../../src/utils/dependencies.ts"],"names":[],"mappings":";;AAIA,0DAOC;AAED,kDAUC;AAED,8DAeC;AAED,kDA6BC;AAvED,2BAA8C;AAC9C,iDAAyC;AACzC,uCAA2C;AAE3C,SAAgB,uBAAuB;IACrC,IAAI,CAAC;QACH,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAgB,mBAAmB;IACjC,IAAI,CAAC,uBAAuB,EAAE,EAAE,CAAC;QAC/B,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QACxD,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAC/C,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAC7C,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACtB,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAEM,KAAK,UAAU,yBAAyB;IAC7C,MAAM,EAAE,GAAG,IAAA,0BAAe,EAAC;QACzB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;IAEH,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;QAC3B,EAAE,CAAC,QAAQ,CACT,kEAAkE,EAClE,MAAM,CAAC,EAAE;YACP,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,GAAG,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,CAAC;QAC1E,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,mBAAmB;IACjC,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAC3C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAA,eAAU,EAAC,WAAW,CAAC,CAAC;QACxC,IAAI,WAAW,GAAG,KAAK,CAAC;QAExB,IAAI,IAAA,eAAU,EAAC,cAAc,CAAC,EAAE,CAAC;YAC/B,MAAM,cAAc,GAAG,IAAA,iBAAY,EAAC,cAAc,EAAE,OAAO,CAAC,CAAC;YAC7D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAC/C,IAAI,WAAW,CAAC,UAAU,EAAE,CAAC;gBAC3B,WAAW,GAAG,IAAI,CAAC;YACrB,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC;QACZ,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,GAAG,gDAAgD,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACvF,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,sCAAsC,CAAC;QACnD,CAAC;QAED,IAAA,wBAAQ,EAAC,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;IACvD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,KAAK,CACX,8DAA8D,CAC/D,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -1,6 +1,6 @@
1
- export { isReactScannerInstalled, checkPeerDependency, promptInstallReactScanner, installReactScanner, } from "./dependencies";
2
- export { createReactScannerConfig } from "./config";
3
- export { getServerPort, isPortAvailable } from "./port";
4
- export type { PortOptions } from "./port";
5
- export { readScannerConfig, readScanData, getScanData } from "./scannerConfig";
1
+ export { isReactScannerInstalled, checkPeerDependency, promptInstallReactScanner, installReactScanner, } from './dependencies';
2
+ export { createReactScannerConfig } from './config';
3
+ export { getServerPort, isPortAvailable } from './port';
4
+ export type { PortOptions } from './port';
5
+ export { readScannerConfig, readScanData, getScanData } from './scannerConfig';
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -21,7 +21,7 @@ async function getServerPort(port = 3000, { exactPort } = {}) {
21
21
  return freePort;
22
22
  }
23
23
  catch (error) {
24
- console.error("Error detecting available port:", error);
24
+ console.error('Error detecting available port:', error);
25
25
  process.exit(1);
26
26
  }
27
27
  }
@@ -15,7 +15,7 @@ export interface ScanData {
15
15
  /**
16
16
  * Read and parse the react-scanner.config.js file
17
17
  */
18
- export declare function readScannerConfig(): ScannerConfig | null;
18
+ export declare function readScannerConfig(): Promise<ScannerConfig | null>;
19
19
  /**
20
20
  * Get the output file path from the scanner config
21
21
  */
@@ -27,8 +27,8 @@ export declare function readScanData(filePath: string): ScanData | null;
27
27
  /**
28
28
  * Get the scan data from the react-scanner output
29
29
  */
30
- export declare function getScanData(): {
30
+ export declare function getScanData(): Promise<{
31
31
  data: ScanData | null;
32
32
  error: string | null;
33
- };
33
+ }>;
34
34
  //# sourceMappingURL=scannerConfig.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scannerConfig.d.ts","sourceRoot":"","sources":["../../src/utils/scannerConfig.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;CACrD;AAED,MAAM,WAAW,QAAQ;IACvB,CAAC,aAAa,EAAE,MAAM,GAAG;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAChC,CAAC;CACH;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,aAAa,GAAG,IAAI,CAmBxD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI,CAgBlE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAgB9D;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI;IAAE,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAqB7E"}
1
+ {"version":3,"file":"scannerConfig.d.ts","sourceRoot":"","sources":["../../src/utils/scannerConfig.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;CACrD;AAED,MAAM,WAAW,QAAQ;IACvB,CAAC,aAAa,EAAE,MAAM,GAAG;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAChC,CAAC;CACH;AAED;;GAEG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAkBvE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI,CAgBlE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAgB9D;AAED;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC;IAC3C,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;IACtB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB,CAAC,CAqBD"}
@@ -1,4 +1,37 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.readScannerConfig = readScannerConfig;
4
37
  exports.getOutputFile = getOutputFile;
@@ -9,20 +42,19 @@ const path_1 = require("path");
9
42
  /**
10
43
  * Read and parse the react-scanner.config.js file
11
44
  */
12
- function readScannerConfig() {
13
- const configPath = (0, path_1.join)(process.cwd(), "react-scanner.config.js");
45
+ async function readScannerConfig() {
46
+ const configPath = (0, path_1.join)(process.cwd(), 'react-scanner.config.js');
14
47
  if (!(0, fs_1.existsSync)(configPath)) {
15
- console.error("react-scanner.config.js not found. Run `react-scanner-ui init` first.");
48
+ console.error('react-scanner.config.js not found. Run `react-scanner-ui init` first.');
16
49
  return null;
17
50
  }
18
51
  try {
19
- // Clear require cache to get fresh config
20
- delete require.cache[require.resolve(configPath)];
21
- const config = require(configPath);
22
- return config;
52
+ // Use dynamic import for ES modules
53
+ const config = await Promise.resolve(`${configPath}`).then(s => __importStar(require(s)));
54
+ return config.default || config;
23
55
  }
24
56
  catch (error) {
25
- console.error("Failed to read react-scanner.config.js:", error);
57
+ console.error('Failed to read react-scanner.config.js:', error);
26
58
  return null;
27
59
  }
28
60
  }
@@ -35,7 +67,7 @@ function getOutputFile(config) {
35
67
  }
36
68
  for (const processor of config.processors) {
37
69
  if (Array.isArray(processor) &&
38
- processor[0] === "count-components-and-props" &&
70
+ processor[0] === 'count-components-and-props' &&
39
71
  processor[1]?.outputTo) {
40
72
  return processor[1].outputTo;
41
73
  }
@@ -49,36 +81,36 @@ function readScanData(filePath) {
49
81
  const absolutePath = (0, path_1.resolve)(process.cwd(), filePath);
50
82
  if (!(0, fs_1.existsSync)(absolutePath)) {
51
83
  console.error(`Scan data file not found: ${absolutePath}`);
52
- console.error("Run react-scanner first to generate scan data.");
84
+ console.error('Run react-scanner first to generate scan data.');
53
85
  return null;
54
86
  }
55
87
  try {
56
- const content = (0, fs_1.readFileSync)(absolutePath, "utf-8");
88
+ const content = (0, fs_1.readFileSync)(absolutePath, 'utf-8');
57
89
  return JSON.parse(content);
58
90
  }
59
91
  catch (error) {
60
- console.error("Failed to read scan data:", error);
92
+ console.error('Failed to read scan data:', error);
61
93
  return null;
62
94
  }
63
95
  }
64
96
  /**
65
97
  * Get the scan data from the react-scanner output
66
98
  */
67
- function getScanData() {
68
- const config = readScannerConfig();
99
+ async function getScanData() {
100
+ const config = await readScannerConfig();
69
101
  if (!config) {
70
- return { data: null, error: "Could not read react-scanner.config.js" };
102
+ return { data: null, error: 'Could not read react-scanner.config.js' };
71
103
  }
72
104
  const scanFile = getOutputFile(config);
73
105
  if (!scanFile) {
74
106
  return {
75
107
  data: null,
76
- error: "Could not find output file in config. Make sure you have a count-components-and-props processor configured with outputTo.",
108
+ error: 'Could not find output file in config. Make sure you have a count-components-and-props processor configured with outputTo.',
77
109
  };
78
110
  }
79
111
  const data = readScanData(scanFile);
80
112
  if (!data) {
81
- return { data: null, error: "Failed to parse scan data." };
113
+ return { data: null, error: 'Failed to parse scan data.' };
82
114
  }
83
115
  return { data, error: null };
84
116
  }
@@ -1 +1 @@
1
- {"version":3,"file":"scannerConfig.js","sourceRoot":"","sources":["../../src/utils/scannerConfig.ts"],"names":[],"mappings":";;AAoBA,8CAmBC;AAKD,sCAgBC;AAKD,oCAgBC;AAKD,kCAqBC;AA3GD,2BAA8C;AAC9C,+BAAqC;AAgBrC;;GAEG;AACH,SAAgB,iBAAiB;IAC/B,MAAM,UAAU,GAAG,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,yBAAyB,CAAC,CAAC;IAElE,IAAI,CAAC,IAAA,eAAU,EAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,KAAK,CACX,uEAAuE,CACxE,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,0CAA0C;QAC1C,OAAO,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QACnC,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,KAAK,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa,CAAC,MAAqB;IACjD,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QAC1C,IACE,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;YACxB,SAAS,CAAC,CAAC,CAAC,KAAK,4BAA4B;YAC7C,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EACtB,CAAC;YACD,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAgB,YAAY,CAAC,QAAgB;IAC3C,MAAM,YAAY,GAAG,IAAA,cAAO,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;IAEtD,IAAI,CAAC,IAAA,eAAU,EAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,KAAK,CAAC,6BAA6B,YAAY,EAAE,CAAC,CAAC;QAC3D,OAAO,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAA,iBAAY,EAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,WAAW;IACzB,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;IACnC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,wCAAwC,EAAE,CAAC;IACzE,CAAC;IAED,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACvC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO;YACL,IAAI,EAAE,IAAI;YACV,KAAK,EACH,2HAA2H;SAC9H,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IACpC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,4BAA4B,EAAE,CAAC;IAC7D,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"scannerConfig.js","sourceRoot":"","sources":["../../src/utils/scannerConfig.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import { defineConfig } from 'vitepress';
2
+
3
+ export default defineConfig({
4
+ title: 'React Scanner UI',
5
+ description: 'A React component scanner and visualization tool',
6
+ base: '/react-scanner-ui/',
7
+
8
+ themeConfig: {
9
+ nav: [
10
+ { text: 'Home', link: '/' },
11
+ { text: 'Guide', link: '/guide/' },
12
+ { text: 'API', link: '/api/' },
13
+ ],
14
+
15
+ sidebar: [
16
+ {
17
+ text: 'Guide',
18
+ items: [
19
+ { text: 'Getting Started', link: '/guide/' },
20
+ { text: 'Installation', link: '/guide/installation' },
21
+ { text: 'Usage', link: '/guide/usage' },
22
+ ],
23
+ },
24
+ {
25
+ text: 'API Reference',
26
+ items: [{ text: 'API Overview', link: '/api/' }],
27
+ },
28
+ ],
29
+
30
+ socialLinks: [
31
+ {
32
+ icon: 'github',
33
+ link: 'https://github.com/vimalmunjani/react-scanner-ui',
34
+ },
35
+ ],
36
+
37
+ footer: {
38
+ message: 'Released under the MIT License.',
39
+ copyright: 'Copyright © 2024 Vimal Munjani',
40
+ },
41
+ },
42
+
43
+ head: [['link', { rel: 'icon', href: '/react-scanner-ui/favicon.ico' }]],
44
+ });
package/docs/README.md ADDED
@@ -0,0 +1,23 @@
1
+ # Documentation
2
+
3
+ This directory contains the VitePress documentation for React Scanner UI.
4
+
5
+ ## Development
6
+
7
+ To run the documentation locally:
8
+
9
+ ```bash
10
+ yarn dev:docs
11
+ ```
12
+
13
+ ## Building
14
+
15
+ To build the documentation:
16
+
17
+ ```bash
18
+ yarn build:docs
19
+ ```
20
+
21
+ ## Deployment
22
+
23
+ The documentation is automatically deployed to GitHub Pages when changes are pushed to the main branch via GitHub Actions.
@@ -0,0 +1,11 @@
1
+ # API Reference
2
+
3
+ ## CLI Commands
4
+
5
+ ### `react-scanner-ui`
6
+
7
+ Main command to start the component scanner.
8
+
9
+ ## Configuration
10
+
11
+ Configuration options and examples will be documented here.
@@ -0,0 +1,14 @@
1
+ # Getting Started
2
+
3
+ React Scanner UI is a tool for scanning and visualizing React components in your project.
4
+
5
+ ## Quick Start
6
+
7
+ 1. Install the package globally or use npx
8
+ 2. Run the scanner in your React project
9
+ 3. View the interactive UI
10
+
11
+ ## Next Steps
12
+
13
+ - [Installation Guide](./installation)
14
+ - [Usage Instructions](./usage)
@@ -0,0 +1,19 @@
1
+ # Installation
2
+
3
+ ## NPM
4
+
5
+ ```bash
6
+ npm install -g react-scanner-ui
7
+ ```
8
+
9
+ ## Yarn
10
+
11
+ ```bash
12
+ yarn global add react-scanner-ui
13
+ ```
14
+
15
+ ## Using NPX
16
+
17
+ ```bash
18
+ npx react-scanner-ui
19
+ ```