create-healix 1.1.3 → 1.1.5
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/create-healix.js +46 -1
- package/package.json +10 -4
- package/src/scaffold.js +87 -1
- package/src/templates.js +270 -1
- package/.obfuscator.json +0 -31
- package/test-args/.mcp.json +0 -13
- package/test-args/healix.agent.json +0 -10
- package/test-args/package.json +0 -27
- package/test-args/test/pageobjects/ExamplePage.page.locators.json +0 -14
- package/test-args/test/pageobjects/ExamplePage.page.ts +0 -11
- package/test-args/test/specs/example.spec.ts +0 -28
- package/test-args/tsconfig.json +0 -22
- package/test-args/wdio.web.conf.ts +0 -54
package/.obfuscator.json
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"compact": true,
|
|
3
|
-
"controlFlowFlattening": true,
|
|
4
|
-
"controlFlowFlatteningThreshold": 0.75,
|
|
5
|
-
"deadCodeInjection": true,
|
|
6
|
-
"deadCodeInjectionThreshold": 0.4,
|
|
7
|
-
"debugProtection": false,
|
|
8
|
-
"disableConsoleOutput": false,
|
|
9
|
-
"identifierNamesGenerator": "hexadecimal",
|
|
10
|
-
"log": false,
|
|
11
|
-
"numbersToExpressions": true,
|
|
12
|
-
"renameGlobals": false,
|
|
13
|
-
"selfDefending": false,
|
|
14
|
-
"simplify": true,
|
|
15
|
-
"splitStrings": true,
|
|
16
|
-
"splitStringsChunkLength": 10,
|
|
17
|
-
"stringArray": true,
|
|
18
|
-
"stringArrayCallsTransform": true,
|
|
19
|
-
"stringArrayCallsTransformThreshold": 0.75,
|
|
20
|
-
"stringArrayEncoding": ["rc4"],
|
|
21
|
-
"stringArrayIndexShift": true,
|
|
22
|
-
"stringArrayRotate": true,
|
|
23
|
-
"stringArrayShuffle": true,
|
|
24
|
-
"stringArrayWrappersCount": 2,
|
|
25
|
-
"stringArrayWrappersChainedCalls": true,
|
|
26
|
-
"stringArrayWrappersParametersMaxCount": 4,
|
|
27
|
-
"stringArrayWrappersType": "function",
|
|
28
|
-
"stringArrayThreshold": 0.75,
|
|
29
|
-
"transformObjectKeys": true,
|
|
30
|
-
"unicodeEscapeSequence": false
|
|
31
|
-
}
|
package/test-args/.mcp.json
DELETED
package/test-args/package.json
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "test-args",
|
|
3
|
-
"version": "1.0.0",
|
|
4
|
-
"description": "test-args — WDIO tests with healix MCP integration",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"scripts": {
|
|
7
|
-
"test": "cross-env NODE_TLS_REJECT_UNAUTHORIZED=0 wdio run wdio.web.conf.ts",
|
|
8
|
-
"test:web": "cross-env NODE_TLS_REJECT_UNAUTHORIZED=0 wdio run wdio.web.conf.ts",
|
|
9
|
-
"test:smoke": "cross-env NODE_TLS_REJECT_UNAUTHORIZED=0 wdio run wdio.web.conf.ts --suite smoke",
|
|
10
|
-
"session:web": "cross-env NODE_TLS_REJECT_UNAUTHORIZED=0 HEALIX_INTERACTIVE=1 wdio run wdio.web.conf.ts --spec test/specs/example.spec.ts"
|
|
11
|
-
},
|
|
12
|
-
"dependencies": {
|
|
13
|
-
"wdio-healix-service": "^0.1.2"
|
|
14
|
-
},
|
|
15
|
-
"devDependencies": {
|
|
16
|
-
"@types/mocha": "^10",
|
|
17
|
-
"@types/node": "^20",
|
|
18
|
-
"@wdio/cli": "^9",
|
|
19
|
-
"@wdio/local-runner": "^9",
|
|
20
|
-
"@wdio/mocha-framework": "^9",
|
|
21
|
-
"@wdio/spec-reporter": "^9",
|
|
22
|
-
"cross-env": "^7",
|
|
23
|
-
"ts-node": "^10",
|
|
24
|
-
"typescript": "^5",
|
|
25
|
-
"webdriverio": "^9"
|
|
26
|
-
}
|
|
27
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { Find, ScaffoldPage } from 'wdio-healix-service';
|
|
2
|
-
|
|
3
|
-
@ScaffoldPage(import.meta.url)
|
|
4
|
-
export class ExamplePage {
|
|
5
|
-
@Find() heading!: WebdriverIO.Element;
|
|
6
|
-
@Find() link!: WebdriverIO.Element;
|
|
7
|
-
|
|
8
|
-
async open(url = process.env.APP_URL || 'https://example.com') {
|
|
9
|
-
await browser.url(url);
|
|
10
|
-
}
|
|
11
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { browser, $ } from '@wdio/globals';
|
|
2
|
-
|
|
3
|
-
describe('Example', () => {
|
|
4
|
-
before(async () => {
|
|
5
|
-
await browser.url(process.env.APP_URL || 'https://example.com');
|
|
6
|
-
});
|
|
7
|
-
|
|
8
|
-
it('should load with correct title', async () => {
|
|
9
|
-
const title = await browser.getTitle();
|
|
10
|
-
console.log('Title:', title);
|
|
11
|
-
expect(title.length).toBeGreaterThan(0);
|
|
12
|
-
});
|
|
13
|
-
|
|
14
|
-
it('should display the main heading', async () => {
|
|
15
|
-
const heading = await $('h1');
|
|
16
|
-
await expect(heading).toBeExisting();
|
|
17
|
-
console.log('Heading:', await heading.getText());
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
// Keep the session alive for interactive MCP testing.
|
|
21
|
-
// Activated by HEALIX_INTERACTIVE=1 (set automatically by session:* scripts).
|
|
22
|
-
after(async () => {
|
|
23
|
-
if (process.env.HEALIX_INTERACTIVE === '1') {
|
|
24
|
-
console.log('[healix] Interactive mode — session open for MCP control. Ctrl+C to exit.');
|
|
25
|
-
await browser.pause(600000);
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
});
|
package/test-args/tsconfig.json
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"compilerOptions": {
|
|
3
|
-
"target": "ES2022",
|
|
4
|
-
"module": "NodeNext",
|
|
5
|
-
"moduleResolution": "NodeNext",
|
|
6
|
-
"strict": true,
|
|
7
|
-
"experimentalDecorators": true,
|
|
8
|
-
"emitDecoratorMetadata": true,
|
|
9
|
-
"outDir": "dist",
|
|
10
|
-
"rootDir": ".",
|
|
11
|
-
"esModuleInterop": true,
|
|
12
|
-
"sourceMap": true
|
|
13
|
-
},
|
|
14
|
-
"include": [
|
|
15
|
-
"test/**/*.ts",
|
|
16
|
-
"*.ts"
|
|
17
|
-
],
|
|
18
|
-
"exclude": [
|
|
19
|
-
"node_modules",
|
|
20
|
-
"dist"
|
|
21
|
-
]
|
|
22
|
-
}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import type { Options } from '@wdio/types';
|
|
2
|
-
|
|
3
|
-
export const config: Options.Testrunner = {
|
|
4
|
-
runner: 'local',
|
|
5
|
-
specs: ['./test/specs/**/*.spec.ts'],
|
|
6
|
-
exclude: [],
|
|
7
|
-
|
|
8
|
-
maxInstances: 1,
|
|
9
|
-
|
|
10
|
-
framework: 'mocha',
|
|
11
|
-
mochaOpts: {
|
|
12
|
-
ui: 'bdd',
|
|
13
|
-
timeout: 300000,
|
|
14
|
-
},
|
|
15
|
-
|
|
16
|
-
reporters: ['spec'],
|
|
17
|
-
|
|
18
|
-
suites: {
|
|
19
|
-
smoke: ['./test/specs/smoke/**/*.spec.ts'],
|
|
20
|
-
full: ['./test/specs/**/*.spec.ts'],
|
|
21
|
-
example: ['./test/specs/example.spec.ts'],
|
|
22
|
-
},
|
|
23
|
-
|
|
24
|
-
capabilities: [{
|
|
25
|
-
maxInstances: 1,
|
|
26
|
-
browserName: 'chrome',
|
|
27
|
-
'goog:chromeOptions': {
|
|
28
|
-
args: ['--no-sandbox', '--disable-dev-shm-usage'],
|
|
29
|
-
},
|
|
30
|
-
}],
|
|
31
|
-
|
|
32
|
-
services: [['healix', {
|
|
33
|
-
api: {
|
|
34
|
-
enabled: true,
|
|
35
|
-
port: 3000,
|
|
36
|
-
watchPageObjects: true,
|
|
37
|
-
},
|
|
38
|
-
gestures: { enabled: false },
|
|
39
|
-
maintenance: { enabled: true, autoHeal: false },
|
|
40
|
-
reporting: {
|
|
41
|
-
suiteReports: {
|
|
42
|
-
enabled: true,
|
|
43
|
-
outputDir: 'reports/suites',
|
|
44
|
-
generateHtml: true,
|
|
45
|
-
},
|
|
46
|
-
},
|
|
47
|
-
}]],
|
|
48
|
-
|
|
49
|
-
waitforTimeout: 10000,
|
|
50
|
-
connectionRetryTimeout: 120000,
|
|
51
|
-
connectionRetryCount: 3,
|
|
52
|
-
|
|
53
|
-
logLevel: 'info',
|
|
54
|
-
};
|