create-backlist 10.1.5 → 10.1.6
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/bin/index.js +3 -0
- package/package.json +1 -1
- package/src/qa/qa-engine.js +131 -2
package/bin/index.js
CHANGED
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
// ═══════════════════════════════════════════════════════════════════════════════════
|
|
4
4
|
// create-backlist v11.0 — ULTRA OMEGA ENGINE ⚡ NEXGEN EDITION
|
|
5
|
+
|
|
6
|
+
// ── TTY Check for non-interactive mode ───────────────────────────────────────────
|
|
7
|
+
const isInteractive = process.stdin.isTTY && process.stdout.isTTY;
|
|
5
8
|
// Copyright (c) W.A.H.ISHAN — MIT License
|
|
6
9
|
//
|
|
7
10
|
// 🔥 v11.0 FULL INDEX ENGINE — ALL 30 CHECKLIST ITEMS IMPLEMENTED:
|
package/package.json
CHANGED
package/src/qa/qa-engine.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
2
|
-
// Backlist Enterprise QA Engine v15.
|
|
2
|
+
// Backlist Enterprise QA Engine v15.1 — ULTRA LIVE TESTING EDITION
|
|
3
3
|
// ✅ Real Playwright Browser · ✅ AI Bug Classifier · ✅ Live WebSocket Monitor
|
|
4
4
|
// ✅ Visual Regression · ✅ API Contract Testing · ✅ Real User Simulation
|
|
5
5
|
// ✅ Cookie/Auth Testing · ✅ Dark Mode Testing · ✅ Multi-viewport Testing
|
|
6
6
|
// ✅ Memory Leak Detection · ✅ Load Testing · ✅ WebSocket Testing
|
|
7
7
|
// ✅ Broken Link Scanner · ✅ Font/Asset Audit · ✅ Rich HTML Reports v15
|
|
8
|
+
// ✅ QA Ecosystem Registry (60+ tools across 10 categories)
|
|
8
9
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
9
10
|
|
|
10
11
|
import * as p from '@clack/prompts';
|
|
@@ -18,7 +19,7 @@ import { performance } from 'node:perf_hooks';
|
|
|
18
19
|
import { EventEmitter } from 'node:events';
|
|
19
20
|
|
|
20
21
|
// ── Constants ─────────────────────────────────────────────────────────────
|
|
21
|
-
export const VERSION = '15.
|
|
22
|
+
export const VERSION = '15.1.0';
|
|
22
23
|
export const QA_DIR = path.join(process.cwd(), '.BACKLIST', 'qa');
|
|
23
24
|
export const REPORT_DIR = path.join(QA_DIR, 'reports');
|
|
24
25
|
export const HISTORY_FILE = path.join(QA_DIR, 'history.json');
|
|
@@ -36,6 +37,134 @@ export const VIEWPORTS = {
|
|
|
36
37
|
mobile_sm : { width: 320, height: 568, label: 'Mobile (small)' },
|
|
37
38
|
};
|
|
38
39
|
|
|
40
|
+
// ── QA Ecosystem Tool Registry ────────────────────────────────────────────
|
|
41
|
+
// Comprehensive catalog of 60+ QA tools across 10 categories
|
|
42
|
+
// ──────────────────────────────────────────────────────────────────────────
|
|
43
|
+
export const QA_ECOSYSTEM = {
|
|
44
|
+
// ─── Browser / E2E Automation ──────────────────────────────────────────
|
|
45
|
+
browserAutomation: {
|
|
46
|
+
label: 'Browser / E2E Automation',
|
|
47
|
+
icon: '🌐',
|
|
48
|
+
tools: [
|
|
49
|
+
{ name: 'Playwright', pkg: 'playwright', description: 'Cross-browser E2E testing with auto-wait and codegen', type: 'npm', install: 'npm i -D playwright && npx playwright install', free: true, url: 'https://playwright.dev' },
|
|
50
|
+
{ name: 'Cypress', pkg: 'cypress', description: 'Fast, reliable E2E testing with time-travel debugging', type: 'npm', install: 'npm i -D cypress', free: true, url: 'https://www.cypress.io' },
|
|
51
|
+
{ name: 'Selenium WebDriver', pkg: 'selenium-webdriver', description: 'Industry-standard browser automation across all major browsers', type: 'npm', install: 'npm i -D selenium-webdriver', free: true, url: 'https://www.selenium.dev' },
|
|
52
|
+
{ name: 'WebdriverIO', pkg: 'webdriverio', description: 'Next-gen browser/mobile automation framework for Node.js', type: 'npm', install: 'npm i -D webdriverio @wdio/cli', free: true, url: 'https://webdriver.io' },
|
|
53
|
+
{ name: 'TestCafe', pkg: 'testcafe', description: 'E2E testing without WebDriver — works across all browsers', type: 'npm', install: 'npm i -D testcafe', free: true, url: 'https://testcafe.io' },
|
|
54
|
+
{ name: 'Nightwatch.js', pkg: 'nightwatch', description: 'Integrated E2E testing with Selenium/WebDriver built-in', type: 'npm', install: 'npm i -D nightwatch', free: true, url: 'https://nightwatchjs.org' },
|
|
55
|
+
{ name: 'CodeceptJS', pkg: 'codeceptjs', description: 'Scenario-driven E2E testing with multiple backend support', type: 'npm', install: 'npm i -D codeceptjs', free: true, url: 'https://codecept.io' },
|
|
56
|
+
{ name: 'Puppeteer', pkg: 'puppeteer', description: 'Chrome/Chromium automation with high-level API by Google', type: 'npm', install: 'npm i -D puppeteer', free: true, url: 'https://pptr.dev' },
|
|
57
|
+
{ name: 'Protractor', pkg: 'protractor', description: 'Angular E2E testing framework (legacy, deprecated)', type: 'npm', install: 'npm i -D protractor', free: true, url: 'https://www.protractortest.org', deprecated: true },
|
|
58
|
+
{ name: 'Appium', pkg: 'appium', description: 'Cross-platform mobile + web automation framework', type: 'npm', install: 'npm i -D appium', free: true, url: 'https://appium.io' },
|
|
59
|
+
],
|
|
60
|
+
},
|
|
61
|
+
|
|
62
|
+
// ─── JavaScript / Node.js Unit + Integration Frameworks ────────────────
|
|
63
|
+
unitIntegration: {
|
|
64
|
+
label: 'JS / Node.js Test Frameworks (Unit + Integration)',
|
|
65
|
+
icon: '⚙️',
|
|
66
|
+
tools: [
|
|
67
|
+
{ name: 'Jest', pkg: 'jest', description: 'Delightful JavaScript testing with zero config, snapshots, and mocking', type: 'npm', install: 'npm i -D jest', free: true, url: 'https://jestjs.io' },
|
|
68
|
+
{ name: 'Mocha', pkg: 'mocha', description: 'Flexible test framework with rich reporting and async support', type: 'npm', install: 'npm i -D mocha', free: true, url: 'https://mochajs.org' },
|
|
69
|
+
{ name: 'Vitest', pkg: 'vitest', description: 'Blazing fast Vite-native unit testing with Jest-compatible API', type: 'npm', install: 'npm i -D vitest', free: true, url: 'https://vitest.dev' },
|
|
70
|
+
{ name: 'Jasmine', pkg: 'jasmine', description: 'Behavior-driven testing framework — no DOM or framework dependencies', type: 'npm', install: 'npm i -D jasmine', free: true, url: 'https://jasmine.github.io' },
|
|
71
|
+
{ name: 'QUnit', pkg: 'qunit', description: 'Powerful, easy-to-use JavaScript unit testing framework', type: 'npm', install: 'npm i -D qunit', free: true, url: 'https://qunitjs.com' },
|
|
72
|
+
],
|
|
73
|
+
},
|
|
74
|
+
|
|
75
|
+
// ─── API Testing ───────────────────────────────────────────────────────
|
|
76
|
+
apiTesting: {
|
|
77
|
+
label: 'API Testing (npm tools)',
|
|
78
|
+
icon: '🔌',
|
|
79
|
+
tools: [
|
|
80
|
+
{ name: 'Supertest', pkg: 'supertest', description: 'HTTP assertion library for testing Node.js HTTP servers', type: 'npm', install: 'npm i -D supertest', free: true, url: 'https://github.com/ladjs/supertest' },
|
|
81
|
+
{ name: 'Axios', pkg: 'axios', description: 'Promise-based HTTP client for browser and Node.js (with test runners)', type: 'npm', install: 'npm i -D axios', free: true, url: 'https://axios-http.com' },
|
|
82
|
+
{ name: 'Newman', pkg: 'newman', description: 'Postman CLI collection runner for automated API testing', type: 'npm', install: 'npm i -g newman', free: true, url: 'https://github.com/postmanlabs/newman' },
|
|
83
|
+
{ name: 'Pact', pkg: '@pact-foundation/pact', description: 'Consumer-driven contract testing for microservices', type: 'npm', install: 'npm i -D @pact-foundation/pact', free: true, url: 'https://pact.io' },
|
|
84
|
+
{ name: 'Frisby.js', pkg: 'frisby', description: 'REST API testing framework built on Jest for easy assertions', type: 'npm', install: 'npm i -D frisby', free: true, url: 'https://frisbyjs.com' },
|
|
85
|
+
],
|
|
86
|
+
},
|
|
87
|
+
|
|
88
|
+
// ─── BDD / Cucumber Style Testing ──────────────────────────────────────
|
|
89
|
+
bddCucumber: {
|
|
90
|
+
label: 'BDD / Cucumber Style Testing',
|
|
91
|
+
icon: '🧰',
|
|
92
|
+
tools: [
|
|
93
|
+
{ name: 'Cucumber.js', pkg: '@cucumber/cucumber', description: 'Official Cucumber BDD framework for JavaScript', type: 'npm', install: 'npm i -D @cucumber/cucumber', free: true, url: 'https://cucumber.io' },
|
|
94
|
+
{ name: 'CodeceptJS BDD', pkg: 'codeceptjs', description: 'CodeceptJS in BDD mode with Gherkin syntax support', type: 'npm', install: 'npm i -D codeceptjs', free: true, url: 'https://codecept.io/bdd' },
|
|
95
|
+
{ name: 'Jest-Cucumber', pkg: 'jest-cucumber', description: 'Gherkin-style BDD testing that executes through Jest', type: 'npm', install: 'npm i -D jest-cucumber', free: true, url: 'https://github.com/bencompton/jest-cucumber' },
|
|
96
|
+
],
|
|
97
|
+
},
|
|
98
|
+
|
|
99
|
+
// ─── Mocking / Stubbing ────────────────────────────────────────────────
|
|
100
|
+
mockingStubbing: {
|
|
101
|
+
label: 'Mocking / Stubbing (for QA automation)',
|
|
102
|
+
icon: '🧪',
|
|
103
|
+
tools: [
|
|
104
|
+
{ name: 'Sinon.js', pkg: 'sinon', description: 'Standalone spies, stubs, and mocks for JavaScript', type: 'npm', install: 'npm i -D sinon', free: true, url: 'https://sinonjs.org' },
|
|
105
|
+
{ name: 'Nock', pkg: 'nock', description: 'HTTP server mocking and expectations library for Node.js', type: 'npm', install: 'npm i -D nock', free: true, url: 'https://github.com/nock/nock' },
|
|
106
|
+
{ name: 'MSW (Mock Service Worker)', pkg: 'msw', description: 'API mocking at the network level — intercepts requests seamlessly', type: 'npm', install: 'npm i -D msw', free: true, url: 'https://mswjs.io' },
|
|
107
|
+
],
|
|
108
|
+
},
|
|
109
|
+
|
|
110
|
+
// ─── Performance / Load Testing ────────────────────────────────────────
|
|
111
|
+
performanceLoad: {
|
|
112
|
+
label: 'Performance / Load Testing (free tools)',
|
|
113
|
+
icon: '📊',
|
|
114
|
+
tools: [
|
|
115
|
+
{ name: 'k6', pkg: 'k6', description: 'Modern load testing tool with scripting in JavaScript', type: 'cli', install: 'brew install k6 || choco install k6', free: true, url: 'https://k6.io' },
|
|
116
|
+
{ name: 'Artillery', pkg: 'artillery', description: 'Cloud-scale load testing with scenario scripting (YAML/JS)', type: 'npm', install: 'npm i -g artillery', free: true, url: 'https://www.artillery.io' },
|
|
117
|
+
{ name: 'Autocannon', pkg: 'autocannon', description: 'Fast HTTP/1.1 benchmarking tool written in Node.js', type: 'npm', install: 'npm i -D autocannon', free: true, url: 'https://github.com/mcollina/autocannon' },
|
|
118
|
+
{ name: 'Locust', pkg: 'locust', description: 'Python-based scalable load testing with real-time web UI', type: 'python', install: 'pip install locust', free: true, url: 'https://locust.io' },
|
|
119
|
+
],
|
|
120
|
+
},
|
|
121
|
+
|
|
122
|
+
// ─── Mobile QA Automation ──────────────────────────────────────────────
|
|
123
|
+
mobileAutomation: {
|
|
124
|
+
label: 'Mobile QA Automation (free tools)',
|
|
125
|
+
icon: '📱',
|
|
126
|
+
tools: [
|
|
127
|
+
{ name: 'Appium', pkg: 'appium', description: 'Cross-platform mobile automation (iOS, Android, Windows)', type: 'npm', install: 'npm i -g appium', free: true, url: 'https://appium.io' },
|
|
128
|
+
{ name: 'Detox', pkg: 'detox', description: 'Gray-box E2E testing for React Native mobile apps', type: 'npm', install: 'npm i -D detox', free: true, url: 'https://wix.github.io/Detox' },
|
|
129
|
+
],
|
|
130
|
+
},
|
|
131
|
+
|
|
132
|
+
// ─── Visual / Regression Testing ───────────────────────────────────────
|
|
133
|
+
visualRegression: {
|
|
134
|
+
label: 'Visual / Regression Testing (free or open-source core)',
|
|
135
|
+
icon: '🧱',
|
|
136
|
+
tools: [
|
|
137
|
+
{ name: 'Percy', pkg: '@percy/cli', description: 'Visual testing with smart diffs and free-tier integrations', type: 'npm', install: 'npm i -D @percy/cli', free: true, url: 'https://percy.io' },
|
|
138
|
+
{ name: 'Chromatic', pkg: 'chromatic', description: 'Storybook-based visual testing with change detection', type: 'npm', install: 'npm i -D chromatic', free: true, url: 'https://www.chromatic.com' },
|
|
139
|
+
{ name: 'BackstopJS', pkg: 'backstopjs', description: 'Visual regression testing with headless Chrome screenshots', type: 'npm', install: 'npm i -D backstopjs', free: true, url: 'https://github.com/garris/BackstopJS' },
|
|
140
|
+
],
|
|
141
|
+
},
|
|
142
|
+
|
|
143
|
+
// ─── Test Utilities / Helpers ──────────────────────────────────────────
|
|
144
|
+
testUtilities: {
|
|
145
|
+
label: 'Test Utilities / Helpers (npm)',
|
|
146
|
+
icon: '🧪',
|
|
147
|
+
tools: [
|
|
148
|
+
{ name: 'React Testing Library', pkg: '@testing-library/react', description: 'Simple utilities for testing React components the way users use them', type: 'npm', install: 'npm i -D @testing-library/react', free: true, url: 'https://testing-library.com/react' },
|
|
149
|
+
{ name: 'DOM Testing Library', pkg: '@testing-library/dom', description: 'Lightweight DOM testing utilities that encourage good practices', type: 'npm', install: 'npm i -D @testing-library/dom', free: true, url: 'https://testing-library.com' },
|
|
150
|
+
{ name: 'Chai', pkg: 'chai', description: 'BDD / TDD assertion library with rich plugin ecosystem', type: 'npm', install: 'npm i -D chai', free: true, url: 'https://www.chaijs.com' },
|
|
151
|
+
{ name: 'expect.js', pkg: 'expect.js', description: 'Minimalistic BDD-style assertion library', type: 'npm', install: 'npm i -D expect.js', free: true, url: 'https://github.com/Automattic/expect.js' },
|
|
152
|
+
{ name: 'Enzyme', pkg: 'enzyme', description: 'React component testing utility (legacy)', type: 'npm', install: 'npm i -D enzyme', free: true, url: 'https://enzymejs.github.io/enzyme', deprecated: true },
|
|
153
|
+
],
|
|
154
|
+
},
|
|
155
|
+
|
|
156
|
+
// ─── Local QA Infrastructure / Runners ─────────────────────────────────
|
|
157
|
+
infraRunners: {
|
|
158
|
+
label: 'Local QA Automation Runners / Helpers',
|
|
159
|
+
icon: '🧰',
|
|
160
|
+
tools: [
|
|
161
|
+
{ name: 'Docker', pkg: 'docker', description: 'Containerized test environments for consistent reproducibility', type: 'docker', install: 'https://docs.docker.com/get-docker/', free: true, url: 'https://www.docker.com' },
|
|
162
|
+
{ name: 'Testcontainers', pkg: 'testcontainers', description: 'Throwaway Docker containers for integration testing in Node.js', type: 'npm', install: 'npm i -D testcontainers', free: true, url: 'https://testcontainers.com' },
|
|
163
|
+
{ name: 'LocalStack', pkg: 'localstack', description: 'Fully functional local AWS cloud stack for testing', type: 'python', install: 'pip install localstack || docker pull localstack/localstack', free: true, url: 'https://localstack.cloud' },
|
|
164
|
+
],
|
|
165
|
+
},
|
|
166
|
+
};
|
|
167
|
+
|
|
39
168
|
// ── Utilities ─────────────────────────────────────────────────────────────
|
|
40
169
|
export const timestamp = () => new Date().toISOString();
|
|
41
170
|
export const shortId = () => Math.random().toString(36).slice(2, 9);
|