react-scanner-ui 0.0.12 → 0.0.14
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 +6 -2
- package/dist/commands/build.js +3 -6
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/index.d.ts +4 -4
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +4 -11
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/info.js +1 -4
- package/dist/commands/info.js.map +1 -1
- package/dist/commands/init.js +6 -9
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/start.js +10 -46
- package/dist/commands/start.js.map +1 -1
- package/dist/index.js +7 -9
- package/dist/index.js.map +1 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +13 -45
- package/dist/server/index.js.map +1 -1
- package/dist/utils/config.js +6 -9
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/dependencies.d.ts.map +1 -1
- package/dist/utils/dependencies.js +15 -18
- package/dist/utils/dependencies.js.map +1 -1
- package/dist/utils/index.d.ts +5 -5
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +4 -17
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/port.js +5 -12
- package/dist/utils/port.js.map +1 -1
- package/dist/utils/scannerConfig.js +12 -51
- package/dist/utils/scannerConfig.js.map +1 -1
- package/docs/.vitepress/config.ts +1 -0
- package/docs/index.md +3 -0
- package/docs/public/favicon.ico +0 -0
- package/docs/public/logo.png +0 -0
- package/logo.png +0 -0
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
<div align="center">
|
|
2
|
+
<img src="./logo.png" alt="React Scanner UI Logo" width="100" height="100">
|
|
3
|
+
|
|
4
|
+
# React Scanner UI
|
|
2
5
|
|
|
3
|
-
|
|
6
|
+
## Component scanner and visualization tool for React applications
|
|
7
|
+
</div>
|
|
4
8
|
|
|
5
9
|
[](https://badge.fury.io/js/react-scanner-ui)
|
|
6
10
|
[](https://github.com/vimalmunjani/react-scanner-ui/stargazers)
|
package/dist/commands/build.js
CHANGED
|
@@ -1,13 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.buildCommand = buildCommand;
|
|
4
|
-
const dependencies_1 = require("../utils/dependencies");
|
|
5
|
-
function buildCommand(program) {
|
|
1
|
+
import { checkPeerDependency } from '../utils/dependencies.js';
|
|
2
|
+
export function buildCommand(program) {
|
|
6
3
|
program
|
|
7
4
|
.command('build')
|
|
8
5
|
.description('Coming soon')
|
|
9
6
|
.action(() => {
|
|
10
|
-
|
|
7
|
+
checkPeerDependency();
|
|
11
8
|
console.log('Coming soon...');
|
|
12
9
|
});
|
|
13
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,MAAM,UAAU,YAAY,CAAC,OAAgB;IAC3C,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,aAAa,CAAC;SAC1B,MAAM,CAAC,GAAG,EAAE;QACX,mBAAmB,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;AACP,CAAC"}
|
package/dist/commands/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { infoCommand } from './info';
|
|
2
|
-
export { initCommand } from './init';
|
|
3
|
-
export { startCommand } from './start';
|
|
4
|
-
export { buildCommand } from './build';
|
|
1
|
+
export { infoCommand } from './info.js';
|
|
2
|
+
export { initCommand } from './init.js';
|
|
3
|
+
export { startCommand } from './start.js';
|
|
4
|
+
export { buildCommand } from './build.js';
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/commands/index.js
CHANGED
|
@@ -1,12 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "infoCommand", { enumerable: true, get: function () { return info_1.infoCommand; } });
|
|
6
|
-
var init_1 = require("./init");
|
|
7
|
-
Object.defineProperty(exports, "initCommand", { enumerable: true, get: function () { return init_1.initCommand; } });
|
|
8
|
-
var start_1 = require("./start");
|
|
9
|
-
Object.defineProperty(exports, "startCommand", { enumerable: true, get: function () { return start_1.startCommand; } });
|
|
10
|
-
var build_1 = require("./build");
|
|
11
|
-
Object.defineProperty(exports, "buildCommand", { enumerable: true, get: function () { return build_1.buildCommand; } });
|
|
1
|
+
export { infoCommand } from './info.js';
|
|
2
|
+
export { initCommand } from './init.js';
|
|
3
|
+
export { startCommand } from './start.js';
|
|
4
|
+
export { buildCommand } from './build.js';
|
|
12
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/commands/info.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/commands/info.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/commands/info.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,WAAW,CAAC,OAAgB;IAC1C,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,aAAa,CAAC;SAC1B,MAAM,CAAC,GAAG,EAAE;QACX,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;AACP,CAAC"}
|
package/dist/commands/init.js
CHANGED
|
@@ -1,23 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.initCommand = initCommand;
|
|
4
|
-
const utils_1 = require("../utils");
|
|
5
|
-
function initCommand(program) {
|
|
1
|
+
import { isReactScannerInstalled, promptInstallReactScanner, installReactScanner, createReactScannerConfig, } from '../utils/index.js';
|
|
2
|
+
export function initCommand(program) {
|
|
6
3
|
program
|
|
7
4
|
.command('init')
|
|
8
5
|
.description('Initialize react-scanner configuration')
|
|
9
6
|
.action(async () => {
|
|
10
|
-
if (!
|
|
11
|
-
const shouldInstall = await
|
|
7
|
+
if (!isReactScannerInstalled()) {
|
|
8
|
+
const shouldInstall = await promptInstallReactScanner();
|
|
12
9
|
if (shouldInstall) {
|
|
13
|
-
|
|
10
|
+
installReactScanner();
|
|
14
11
|
}
|
|
15
12
|
else {
|
|
16
13
|
console.log('react-scanner is required to continue. Exiting.');
|
|
17
14
|
process.exit(1);
|
|
18
15
|
}
|
|
19
16
|
}
|
|
20
|
-
|
|
17
|
+
createReactScannerConfig();
|
|
21
18
|
console.log('Initialization complete.');
|
|
22
19
|
});
|
|
23
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AACA,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,UAAU,WAAW,CAAC,OAAgB;IAC1C,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,wCAAwC,CAAC;SACrD,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,IAAI,CAAC,uBAAuB,EAAE,EAAE,CAAC;YAC/B,MAAM,aAAa,GAAG,MAAM,yBAAyB,EAAE,CAAC;YACxD,IAAI,aAAa,EAAE,CAAC;gBAClB,mBAAmB,EAAE,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;gBAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QACD,wBAAwB,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;AACP,CAAC"}
|
package/dist/commands/start.js
CHANGED
|
@@ -1,49 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
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
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.startCommand = startCommand;
|
|
37
|
-
const readline_1 = require("readline");
|
|
38
|
-
const dependencies_1 = require("../utils/dependencies");
|
|
39
|
-
const port_1 = require("../utils/port");
|
|
40
|
-
const server_1 = require("../server");
|
|
1
|
+
import { createInterface } from 'readline';
|
|
2
|
+
import { checkPeerDependency } from '../utils/dependencies.js';
|
|
3
|
+
import { getServerPort } from '../utils/port.js';
|
|
4
|
+
import { startServer } from '../server/index.js';
|
|
41
5
|
const DEFAULT_PORT = 3000;
|
|
42
6
|
/**
|
|
43
7
|
* Prompt user to confirm using a different port (like Storybook does)
|
|
44
8
|
*/
|
|
45
9
|
async function promptForPortChange(requestedPort, availablePort) {
|
|
46
|
-
const rl =
|
|
10
|
+
const rl = createInterface({
|
|
47
11
|
input: process.stdin,
|
|
48
12
|
output: process.stdout,
|
|
49
13
|
});
|
|
@@ -64,7 +28,7 @@ async function promptForPortChange(requestedPort, availablePort) {
|
|
|
64
28
|
async function openBrowser(url) {
|
|
65
29
|
const { platform } = process;
|
|
66
30
|
try {
|
|
67
|
-
const { exec } = await
|
|
31
|
+
const { exec } = await import('child_process');
|
|
68
32
|
let command;
|
|
69
33
|
if (platform === 'darwin') {
|
|
70
34
|
command = `open "${url}"`;
|
|
@@ -86,7 +50,7 @@ async function openBrowser(url) {
|
|
|
86
50
|
console.log(`Could not open browser automatically. Please visit: ${url}`);
|
|
87
51
|
}
|
|
88
52
|
}
|
|
89
|
-
function startCommand(program) {
|
|
53
|
+
export function startCommand(program) {
|
|
90
54
|
program
|
|
91
55
|
.command('start')
|
|
92
56
|
.description('Start the React Scanner UI server')
|
|
@@ -95,14 +59,14 @@ function startCommand(program) {
|
|
|
95
59
|
.option('--ci', 'Run in CI mode (no interactive prompts)', false)
|
|
96
60
|
.option('--open', 'Open the browser automatically', false)
|
|
97
61
|
.action(async (options) => {
|
|
98
|
-
|
|
62
|
+
checkPeerDependency();
|
|
99
63
|
const requestedPort = parseInt(options.port, 10);
|
|
100
64
|
if (isNaN(requestedPort) || requestedPort < 1 || requestedPort > 65535) {
|
|
101
65
|
console.error('Error: Invalid port number. Please specify a port between 1 and 65535.');
|
|
102
66
|
process.exit(1);
|
|
103
67
|
}
|
|
104
68
|
// Use detect-port to find an available port
|
|
105
|
-
const availablePort = await
|
|
69
|
+
const availablePort = await getServerPort(requestedPort, {
|
|
106
70
|
exactPort: options.exactPort,
|
|
107
71
|
});
|
|
108
72
|
// If port changed and not in CI mode, prompt user
|
|
@@ -120,7 +84,7 @@ function startCommand(program) {
|
|
|
120
84
|
console.log(`Port ${requestedPort} is not available. Using port ${availablePort} instead.`);
|
|
121
85
|
}
|
|
122
86
|
try {
|
|
123
|
-
await
|
|
87
|
+
await startServer(availablePort);
|
|
124
88
|
// Open browser if --open flag is set
|
|
125
89
|
if (options.open) {
|
|
126
90
|
const url = `http://localhost:${availablePort}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,17 +1,15 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const
|
|
5
|
-
const commands_1 = require("./commands");
|
|
6
|
-
const program = new commander_1.Command();
|
|
2
|
+
import { Command } from 'commander';
|
|
3
|
+
import { infoCommand, initCommand, startCommand, buildCommand, } from './commands/index.js';
|
|
4
|
+
const program = new Command();
|
|
7
5
|
program
|
|
8
6
|
.name('react-scanner-ui')
|
|
9
7
|
.description('A CLI application built with Commander.js')
|
|
10
8
|
.version('1.0.0');
|
|
11
9
|
// Register commands
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
10
|
+
infoCommand(program);
|
|
11
|
+
initCommand(program);
|
|
12
|
+
startCommand(program);
|
|
13
|
+
buildCommand(program);
|
|
16
14
|
program.parse();
|
|
17
15
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,WAAW,EACX,WAAW,EACX,YAAY,EACZ,YAAY,GACb,MAAM,qBAAqB,CAAC;AAE7B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,kBAAkB,CAAC;KACxB,WAAW,CAAC,2CAA2C,CAAC;KACxD,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,oBAAoB;AACpB,WAAW,CAAC,OAAO,CAAC,CAAC;AACrB,WAAW,CAAC,OAAO,CAAC,CAAC;AACrB,YAAY,CAAC,OAAO,CAAC,CAAC;AACtB,YAAY,CAAC,OAAO,CAAC,CAAC;AAEtB,OAAO,CAAC,KAAK,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AA0BA;;;GAGG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAgE7D"}
|
package/dist/server/index.js
CHANGED
|
@@ -1,42 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
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
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.startServer = startServer;
|
|
37
|
-
const http_1 = require("http");
|
|
38
|
-
const path_1 = require("path");
|
|
39
|
-
const scannerConfig_1 = require("../utils/scannerConfig");
|
|
1
|
+
import { createServer as createHttpServer, } from 'http';
|
|
2
|
+
import { resolve, dirname } from 'path';
|
|
3
|
+
import { fileURLToPath } from 'url';
|
|
4
|
+
import { getScanData } from '../utils/scannerConfig.js';
|
|
5
|
+
// ESM equivalent of __dirname
|
|
6
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
7
|
+
const __dirname = dirname(__filename);
|
|
40
8
|
/**
|
|
41
9
|
* Get the path to the UI directory.
|
|
42
10
|
* Works both in development (src/) and production (dist/)
|
|
@@ -46,32 +14,32 @@ function getUiRoot() {
|
|
|
46
14
|
// UI is always at project-root/ui
|
|
47
15
|
const currentDir = __dirname;
|
|
48
16
|
// Go up from server/ to src/ or dist/, then up to project root, then into ui/
|
|
49
|
-
return
|
|
17
|
+
return resolve(currentDir, '../../ui');
|
|
50
18
|
}
|
|
51
19
|
/**
|
|
52
20
|
* Start the HTTP server using Polka with Vite middleware mode
|
|
53
21
|
* (similar approach to Storybook's builder-vite)
|
|
54
22
|
*/
|
|
55
|
-
async function startServer(port) {
|
|
23
|
+
export async function startServer(port) {
|
|
56
24
|
// Dynamically import Vite to create dev server in middleware mode
|
|
57
|
-
const { createServer: createViteServer } = await
|
|
25
|
+
const { createServer: createViteServer } = await import('vite');
|
|
58
26
|
const uiRoot = getUiRoot();
|
|
59
27
|
const vite = await createViteServer({
|
|
60
28
|
root: uiRoot,
|
|
61
|
-
configFile:
|
|
29
|
+
configFile: resolve(uiRoot, 'vite.config.ts'),
|
|
62
30
|
server: {
|
|
63
31
|
middlewareMode: true,
|
|
64
32
|
},
|
|
65
33
|
appType: 'spa',
|
|
66
34
|
});
|
|
67
35
|
// Create HTTP server with manual routing
|
|
68
|
-
const server = (
|
|
36
|
+
const server = createHttpServer(async (req, res) => {
|
|
69
37
|
const url = req.url || '';
|
|
70
38
|
// Handle API routes FIRST - before Vite middleware
|
|
71
39
|
if (url === '/api/scan-data' || url.startsWith('/api/scan-data?')) {
|
|
72
40
|
res.setHeader('Content-Type', 'application/json');
|
|
73
41
|
res.setHeader('Cache-Control', 'no-cache');
|
|
74
|
-
const result = await
|
|
42
|
+
const result = await getScanData();
|
|
75
43
|
res.end(JSON.stringify(result));
|
|
76
44
|
return;
|
|
77
45
|
}
|
package/dist/server/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/config.js
CHANGED
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
function createReactScannerConfig() {
|
|
7
|
-
const configPath = (0, path_1.join)(process.cwd(), 'react-scanner.config.js');
|
|
8
|
-
if ((0, fs_1.existsSync)(configPath)) {
|
|
1
|
+
import { writeFileSync, existsSync } from 'fs';
|
|
2
|
+
import { join } from 'path';
|
|
3
|
+
export function createReactScannerConfig() {
|
|
4
|
+
const configPath = join(process.cwd(), 'react-scanner.config.js');
|
|
5
|
+
if (existsSync(configPath)) {
|
|
9
6
|
console.log('react-scanner.config.js already exists.');
|
|
10
7
|
return;
|
|
11
8
|
}
|
|
@@ -19,7 +16,7 @@ function createReactScannerConfig() {
|
|
|
19
16
|
};
|
|
20
17
|
`;
|
|
21
18
|
try {
|
|
22
|
-
|
|
19
|
+
writeFileSync(configPath, configContent);
|
|
23
20
|
console.log('Created react-scanner.config.js');
|
|
24
21
|
}
|
|
25
22
|
catch (error) {
|
package/dist/utils/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,MAAM,UAAU,wBAAwB;IACtC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,yBAAyB,CAAC,CAAC;IAElE,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;QACvD,OAAO;IACT,CAAC;IAED,MAAM,aAAa,GAAG;;;;;;;;CAQvB,CAAC;IAEA,IAAI,CAAC;QACH,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IACjD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,0CAA0C,EAAE,KAAK,CAAC,CAAC;IACnE,CAAC;AACH,CAAC"}
|
|
@@ -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":"AAQA,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"}
|
|
@@ -1,13 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const child_process_1 = require("child_process");
|
|
9
|
-
const readline_1 = require("readline");
|
|
10
|
-
function isReactScannerInstalled() {
|
|
1
|
+
import { existsSync, readFileSync } from 'fs';
|
|
2
|
+
import { execSync } from 'child_process';
|
|
3
|
+
import { createInterface } from 'readline';
|
|
4
|
+
import { createRequire } from 'module';
|
|
5
|
+
// ESM equivalent of require.resolve
|
|
6
|
+
const require = createRequire(import.meta.url);
|
|
7
|
+
export function isReactScannerInstalled() {
|
|
11
8
|
try {
|
|
12
9
|
require.resolve('react-scanner');
|
|
13
10
|
return true;
|
|
@@ -16,7 +13,7 @@ function isReactScannerInstalled() {
|
|
|
16
13
|
return false;
|
|
17
14
|
}
|
|
18
15
|
}
|
|
19
|
-
function checkPeerDependency() {
|
|
16
|
+
export function checkPeerDependency() {
|
|
20
17
|
if (!isReactScannerInstalled()) {
|
|
21
18
|
console.error('Error: react-scanner is not installed.');
|
|
22
19
|
console.error('Please install it by running:');
|
|
@@ -27,8 +24,8 @@ function checkPeerDependency() {
|
|
|
27
24
|
}
|
|
28
25
|
return true;
|
|
29
26
|
}
|
|
30
|
-
async function promptInstallReactScanner() {
|
|
31
|
-
const rl =
|
|
27
|
+
export async function promptInstallReactScanner() {
|
|
28
|
+
const rl = createInterface({
|
|
32
29
|
input: process.stdin,
|
|
33
30
|
output: process.stdout,
|
|
34
31
|
});
|
|
@@ -39,13 +36,13 @@ async function promptInstallReactScanner() {
|
|
|
39
36
|
});
|
|
40
37
|
});
|
|
41
38
|
}
|
|
42
|
-
function installReactScanner() {
|
|
39
|
+
export function installReactScanner() {
|
|
43
40
|
console.log('Installing react-scanner...');
|
|
44
41
|
try {
|
|
45
|
-
const useYarn =
|
|
42
|
+
const useYarn = existsSync('yarn.lock');
|
|
46
43
|
let isWorkspace = false;
|
|
47
|
-
if (
|
|
48
|
-
const packageContent =
|
|
44
|
+
if (existsSync('package.json')) {
|
|
45
|
+
const packageContent = readFileSync('package.json', 'utf-8');
|
|
49
46
|
const packageJson = JSON.parse(packageContent);
|
|
50
47
|
if (packageJson.workspaces) {
|
|
51
48
|
isWorkspace = true;
|
|
@@ -58,7 +55,7 @@ function installReactScanner() {
|
|
|
58
55
|
else {
|
|
59
56
|
command = 'npm install react-scanner --save-dev';
|
|
60
57
|
}
|
|
61
|
-
|
|
58
|
+
execSync(command, { stdio: 'inherit' });
|
|
62
59
|
console.log('react-scanner installed successfully!');
|
|
63
60
|
}
|
|
64
61
|
catch {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../../src/utils/dependencies.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../../src/utils/dependencies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEvC,oCAAoC;AACpC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE/C,MAAM,UAAU,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,MAAM,UAAU,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;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB;IAC7C,MAAM,EAAE,GAAG,eAAe,CAAC;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,MAAM,UAAU,mBAAmB;IACjC,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAC3C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;QACxC,IAAI,WAAW,GAAG,KAAK,CAAC;QAExB,IAAI,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YAC/B,MAAM,cAAc,GAAG,YAAY,CAAC,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,QAAQ,CAAC,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"}
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -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.js';
|
|
2
|
+
export { createReactScannerConfig } from './config.js';
|
|
3
|
+
export { getServerPort, isPortAvailable } from './port.js';
|
|
4
|
+
export type { PortOptions } from './port.js';
|
|
5
|
+
export { readScannerConfig, readScanData, getScanData, } from './scannerConfig.js';
|
|
6
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC3D,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,WAAW,GACZ,MAAM,oBAAoB,CAAC"}
|
package/dist/utils/index.js
CHANGED
|
@@ -1,18 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "isReactScannerInstalled", { enumerable: true, get: function () { return dependencies_1.isReactScannerInstalled; } });
|
|
6
|
-
Object.defineProperty(exports, "checkPeerDependency", { enumerable: true, get: function () { return dependencies_1.checkPeerDependency; } });
|
|
7
|
-
Object.defineProperty(exports, "promptInstallReactScanner", { enumerable: true, get: function () { return dependencies_1.promptInstallReactScanner; } });
|
|
8
|
-
Object.defineProperty(exports, "installReactScanner", { enumerable: true, get: function () { return dependencies_1.installReactScanner; } });
|
|
9
|
-
var config_1 = require("./config");
|
|
10
|
-
Object.defineProperty(exports, "createReactScannerConfig", { enumerable: true, get: function () { return config_1.createReactScannerConfig; } });
|
|
11
|
-
var port_1 = require("./port");
|
|
12
|
-
Object.defineProperty(exports, "getServerPort", { enumerable: true, get: function () { return port_1.getServerPort; } });
|
|
13
|
-
Object.defineProperty(exports, "isPortAvailable", { enumerable: true, get: function () { return port_1.isPortAvailable; } });
|
|
14
|
-
var scannerConfig_1 = require("./scannerConfig");
|
|
15
|
-
Object.defineProperty(exports, "readScannerConfig", { enumerable: true, get: function () { return scannerConfig_1.readScannerConfig; } });
|
|
16
|
-
Object.defineProperty(exports, "readScanData", { enumerable: true, get: function () { return scannerConfig_1.readScanData; } });
|
|
17
|
-
Object.defineProperty(exports, "getScanData", { enumerable: true, get: function () { return scannerConfig_1.getScanData; } });
|
|
1
|
+
export { isReactScannerInstalled, checkPeerDependency, promptInstallReactScanner, installReactScanner, } from './dependencies.js';
|
|
2
|
+
export { createReactScannerConfig } from './config.js';
|
|
3
|
+
export { getServerPort, isPortAvailable } from './port.js';
|
|
4
|
+
export { readScannerConfig, readScanData, getScanData, } from './scannerConfig.js';
|
|
18
5
|
//# sourceMappingURL=index.js.map
|
package/dist/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE3D,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,WAAW,GACZ,MAAM,oBAAoB,CAAC"}
|
package/dist/utils/port.js
CHANGED
|
@@ -1,19 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.getServerPort = getServerPort;
|
|
7
|
-
exports.isPortAvailable = isPortAvailable;
|
|
8
|
-
const detect_port_1 = __importDefault(require("detect-port"));
|
|
1
|
+
import detectPort from 'detect-port';
|
|
9
2
|
/**
|
|
10
3
|
* Get an available server port using detect-port (same approach as Storybook)
|
|
11
4
|
* If the requested port is busy, it will find the next available port
|
|
12
5
|
* unless exactPort is set to true, in which case it will exit
|
|
13
6
|
*/
|
|
14
|
-
async function getServerPort(port = 3000, { exactPort } = {}) {
|
|
7
|
+
export async function getServerPort(port = 3000, { exactPort } = {}) {
|
|
15
8
|
try {
|
|
16
|
-
const freePort = await (
|
|
9
|
+
const freePort = await detectPort(port);
|
|
17
10
|
if (freePort !== port && exactPort) {
|
|
18
11
|
console.error(`Error: Port ${port} is not available.`);
|
|
19
12
|
process.exit(1);
|
|
@@ -28,9 +21,9 @@ async function getServerPort(port = 3000, { exactPort } = {}) {
|
|
|
28
21
|
/**
|
|
29
22
|
* Check if a port is available
|
|
30
23
|
*/
|
|
31
|
-
async function isPortAvailable(port) {
|
|
24
|
+
export async function isPortAvailable(port) {
|
|
32
25
|
try {
|
|
33
|
-
const freePort = await (
|
|
26
|
+
const freePort = await detectPort(port);
|
|
34
27
|
return freePort === port;
|
|
35
28
|
}
|
|
36
29
|
catch {
|
package/dist/utils/port.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"port.js","sourceRoot":"","sources":["../../src/utils/port.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"port.js","sourceRoot":"","sources":["../../src/utils/port.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,aAAa,CAAC;AAMrC;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAAe,IAAI,EACnB,EAAE,SAAS,KAAkB,EAAE;IAE/B,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QAExC,IAAI,QAAQ,KAAK,IAAI,IAAI,SAAS,EAAE,CAAC;YACnC,OAAO,CAAC,KAAK,CAAC,eAAe,IAAI,oBAAoB,CAAC,CAAC;YACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;QACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAAY;IAChD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACxC,OAAO,QAAQ,KAAK,IAAI,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
|
|
@@ -1,56 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.readScannerConfig = readScannerConfig;
|
|
37
|
-
exports.getOutputFile = getOutputFile;
|
|
38
|
-
exports.readScanData = readScanData;
|
|
39
|
-
exports.getScanData = getScanData;
|
|
40
|
-
const fs_1 = require("fs");
|
|
41
|
-
const path_1 = require("path");
|
|
1
|
+
import { existsSync, readFileSync } from 'fs';
|
|
2
|
+
import { join, resolve } from 'path';
|
|
42
3
|
/**
|
|
43
4
|
* Read and parse the react-scanner.config.js file
|
|
44
5
|
*/
|
|
45
|
-
async function readScannerConfig() {
|
|
46
|
-
const configPath =
|
|
47
|
-
if (!
|
|
6
|
+
export async function readScannerConfig() {
|
|
7
|
+
const configPath = join(process.cwd(), 'react-scanner.config.js');
|
|
8
|
+
if (!existsSync(configPath)) {
|
|
48
9
|
console.error('react-scanner.config.js not found. Run `react-scanner-ui init` first.');
|
|
49
10
|
return null;
|
|
50
11
|
}
|
|
51
12
|
try {
|
|
52
13
|
// Use dynamic import for ES modules
|
|
53
|
-
const config = await
|
|
14
|
+
const config = await import(configPath);
|
|
54
15
|
return config.default || config;
|
|
55
16
|
}
|
|
56
17
|
catch (error) {
|
|
@@ -61,7 +22,7 @@ async function readScannerConfig() {
|
|
|
61
22
|
/**
|
|
62
23
|
* Get the output file path from the scanner config
|
|
63
24
|
*/
|
|
64
|
-
function getOutputFile(config) {
|
|
25
|
+
export function getOutputFile(config) {
|
|
65
26
|
if (!config.processors || !Array.isArray(config.processors)) {
|
|
66
27
|
return null;
|
|
67
28
|
}
|
|
@@ -77,15 +38,15 @@ function getOutputFile(config) {
|
|
|
77
38
|
/**
|
|
78
39
|
* Read and parse the scan data from a JSON file
|
|
79
40
|
*/
|
|
80
|
-
function readScanData(filePath) {
|
|
81
|
-
const absolutePath =
|
|
82
|
-
if (!
|
|
41
|
+
export function readScanData(filePath) {
|
|
42
|
+
const absolutePath = resolve(process.cwd(), filePath);
|
|
43
|
+
if (!existsSync(absolutePath)) {
|
|
83
44
|
console.error(`Scan data file not found: ${absolutePath}`);
|
|
84
45
|
console.error('Run react-scanner first to generate scan data.');
|
|
85
46
|
return null;
|
|
86
47
|
}
|
|
87
48
|
try {
|
|
88
|
-
const content =
|
|
49
|
+
const content = readFileSync(absolutePath, 'utf-8');
|
|
89
50
|
return JSON.parse(content);
|
|
90
51
|
}
|
|
91
52
|
catch (error) {
|
|
@@ -96,7 +57,7 @@ function readScanData(filePath) {
|
|
|
96
57
|
/**
|
|
97
58
|
* Get the scan data from the react-scanner output
|
|
98
59
|
*/
|
|
99
|
-
async function getScanData() {
|
|
60
|
+
export async function getScanData() {
|
|
100
61
|
const config = await readScannerConfig();
|
|
101
62
|
if (!config) {
|
|
102
63
|
return { data: null, error: 'Could not read react-scanner.config.js' };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scannerConfig.js","sourceRoot":"","sources":["../../src/utils/scannerConfig.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"scannerConfig.js","sourceRoot":"","sources":["../../src/utils/scannerConfig.ts"],"names":[],"mappings":"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"}
|
package/docs/index.md
CHANGED
|
Binary file
|
|
Binary file
|
package/logo.png
ADDED
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-scanner-ui",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.14",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|
|
7
7
|
"react-scanner-ui": "dist/index.js"
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
"url": "git+https://github.com/vimalmunjani/react-scanner-ui.git"
|
|
12
12
|
},
|
|
13
13
|
"homepage": "https://vimalmunjani.github.io/react-scanner-ui/",
|
|
14
|
+
"logo": "logo.png",
|
|
14
15
|
"author": "Vimal Munjani <vimal.j.munjani@gmail.com>",
|
|
15
16
|
"license": "MIT",
|
|
16
17
|
"publishConfig": {
|