Uploaded Entire Project
This commit is contained in:
16
package.json
Normal file
16
package.json
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"name": "crawler-es6",
|
||||
"version": "1.0.0",
|
||||
"description": "Automated flow and selector crawler using ES6 modules",
|
||||
"type": "module",
|
||||
"main": "src/pipeline.js",
|
||||
"scripts": {
|
||||
"crawl-flows": "node src/pipeline.js crawl-flows",
|
||||
"crawl-selectors": "node src/pipeline.js crawl-selectors",
|
||||
"generate-tests": "node src/pipeline.js generate-tests",
|
||||
"run-tests": "node src/pipeline.js run-tests",
|
||||
"generate-graph": "node src/pipeline.js generate-graph"
|
||||
},
|
||||
"author": "",
|
||||
"license": "MIT"
|
||||
}
|
||||
5
src/flows/FlowGenerator.js
Normal file
5
src/flows/FlowGenerator.js
Normal file
@@ -0,0 +1,5 @@
|
||||
import { runFlowGenerator } from './flowGeneratorImpl.js';
|
||||
|
||||
export default class FlowGenerator {
|
||||
run = runFlowGenerator;
|
||||
}
|
||||
4
src/flows/flowGeneratorImpl.js
Normal file
4
src/flows/flowGeneratorImpl.js
Normal file
@@ -0,0 +1,4 @@
|
||||
export async function runFlowGenerator() {
|
||||
console.log("Flow generator placeholder.");
|
||||
// TODO: generate flows.json
|
||||
}
|
||||
5
src/graph/GraphGenerator.js
Normal file
5
src/graph/GraphGenerator.js
Normal file
@@ -0,0 +1,5 @@
|
||||
import { runGraphGenerator } from './graphGeneratorImpl.js';
|
||||
|
||||
export default class GraphGenerator {
|
||||
run = runGraphGenerator;
|
||||
}
|
||||
4
src/graph/graphGeneratorImpl.js
Normal file
4
src/graph/graphGeneratorImpl.js
Normal file
@@ -0,0 +1,4 @@
|
||||
export async function runGraphGenerator() {
|
||||
console.log("Graph generator placeholder.");
|
||||
// TODO: read flows.json + status.json and generate graph data
|
||||
}
|
||||
46
src/pipeline.js
Normal file
46
src/pipeline.js
Normal file
@@ -0,0 +1,46 @@
|
||||
import FlowGenerator from './flows/FlowGenerator.js';
|
||||
import SelectorCrawler from './selectors/SelectorCrawler.js';
|
||||
import TestGenerator from './tests/TestGenerator.js';
|
||||
import TestExecutor from './tests/TestExecutor.js';
|
||||
import GraphGenerator from './graph/GraphGenerator.js';
|
||||
|
||||
const command = process.argv[2];
|
||||
|
||||
if (!command) {
|
||||
console.log(`
|
||||
Usage: node src/pipeline.js <command>
|
||||
|
||||
Available commands:
|
||||
crawl-flows Generate flows.json
|
||||
crawl-selectors Crawl selectors using flows.json
|
||||
generate-tests Generate test files
|
||||
run-tests Execute generated tests
|
||||
generate-graph Produce graph data from results
|
||||
`);
|
||||
process.exit(0);
|
||||
}
|
||||
|
||||
switch (command) {
|
||||
case 'crawl-flows':
|
||||
await new FlowGenerator().run();
|
||||
break;
|
||||
|
||||
case 'crawl-selectors':
|
||||
await new SelectorCrawler().run();
|
||||
break;
|
||||
|
||||
case 'generate-tests':
|
||||
await new TestGenerator().run();
|
||||
break;
|
||||
|
||||
case 'run-tests':
|
||||
await new TestExecutor().run();
|
||||
break;
|
||||
|
||||
case 'generate-graph':
|
||||
await new GraphGenerator().run();
|
||||
break;
|
||||
|
||||
default:
|
||||
console.log(`Unknown command: ${command}`);
|
||||
}
|
||||
5
src/selectors/SelectorCrawler.js
Normal file
5
src/selectors/SelectorCrawler.js
Normal file
@@ -0,0 +1,5 @@
|
||||
import { runSelectorCrawler } from './selectorCrawlerImpl.js';
|
||||
|
||||
export default class SelectorCrawler {
|
||||
run = runSelectorCrawler;
|
||||
}
|
||||
4
src/selectors/selectorCrawlerImpl.js
Normal file
4
src/selectors/selectorCrawlerImpl.js
Normal file
@@ -0,0 +1,4 @@
|
||||
export async function runSelectorCrawler() {
|
||||
console.log("Selector crawler placeholder.");
|
||||
// TODO: read flows.json and crawl selectors
|
||||
}
|
||||
5
src/tests/TestExecutor.js
Normal file
5
src/tests/TestExecutor.js
Normal file
@@ -0,0 +1,5 @@
|
||||
import { runTestExecutor } from './testExecutorImpl.js';
|
||||
|
||||
export default class TestExecutor {
|
||||
run = runTestExecutor;
|
||||
}
|
||||
5
src/tests/TestGenerator.js
Normal file
5
src/tests/TestGenerator.js
Normal file
@@ -0,0 +1,5 @@
|
||||
import { runTestGenerator } from './testGeneratorImpl.js';
|
||||
|
||||
export default class TestGenerator {
|
||||
run = runTestGenerator;
|
||||
}
|
||||
4
src/tests/testExecutorImpl.js
Normal file
4
src/tests/testExecutorImpl.js
Normal file
@@ -0,0 +1,4 @@
|
||||
export async function runTestExecutor() {
|
||||
console.log("Test executor placeholder.");
|
||||
// TODO: run tests and write status.json
|
||||
}
|
||||
4
src/tests/testGeneratorImpl.js
Normal file
4
src/tests/testGeneratorImpl.js
Normal file
@@ -0,0 +1,4 @@
|
||||
export async function runTestGenerator() {
|
||||
console.log("Test generator placeholder.");
|
||||
// TODO: read flows.json + selectors.json and generate tests
|
||||
}
|
||||
Reference in New Issue
Block a user