doc-detective 1.3.1 → 2.9.0-dev.0

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.
Files changed (44) hide show
  1. package/.github/FUNDING.yml +14 -0
  2. package/.github/dependabot.yml +11 -0
  3. package/.github/workflows/docker-image.yml +19 -0
  4. package/.github/workflows/electron-publish.yml +17 -0
  5. package/.github/workflows/npm-test.yaml +50 -0
  6. package/LICENSE +20 -20
  7. package/README.md +109 -42
  8. package/dev/dev.spec.json +62 -0
  9. package/dev/index.js +6 -0
  10. package/icon.png +0 -0
  11. package/index.js +1 -129
  12. package/package.json +43 -44
  13. package/samples/config.json +89 -0
  14. package/samples/doc-content-inline-tests.md +28 -0
  15. package/samples/doc-content.md +9 -0
  16. package/samples/reference.png +0 -0
  17. package/samples/screenshot.png +0 -0
  18. package/samples/tests.spec.json +70 -0
  19. package/samples/variables.env +5 -0
  20. package/src/index.js +44 -0
  21. package/src/utils.js +157 -1084
  22. package/test/artifacts/config.json +46 -0
  23. package/test/artifacts/doc-content.md +18 -0
  24. package/test/artifacts/test.spec.json +71 -0
  25. package/test/runCoverage.test.js +18 -0
  26. package/test/runTests.test.js +22 -0
  27. package/test/test-config.json +10 -0
  28. package/test/test-results.json +125 -0
  29. package/test/utils.test.js +204 -0
  30. package/.github/workflows/npm-publish.yml +0 -33
  31. package/config.json +0 -215
  32. package/src/analysis.js +0 -278
  33. package/src/analytics.js +0 -499
  34. package/src/coverage.js +0 -54
  35. package/src/install-mouse-helper.js +0 -72
  36. package/src/sanitize.js +0 -23
  37. package/src/suggest.js +0 -751
  38. package/src/tests/goTo.js +0 -39
  39. package/src/tests/httpRequest.js +0 -373
  40. package/src/tests/moveMouse.js +0 -91
  41. package/src/tests/record.js +0 -251
  42. package/src/tests/screenshot.js +0 -145
  43. package/src/tests/scroll.js +0 -32
  44. package/src/tests.js +0 -604
@@ -0,0 +1,14 @@
1
+ # These are supported funding model platforms
2
+
3
+ github: [doc-detective] # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
4
+ patreon: # Replace with a single Patreon username
5
+ open_collective: doc-detective # Replace with a single Open Collective username
6
+ ko_fi: # Replace with a single Ko-fi username
7
+ tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
8
+ community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
9
+ liberapay: # Replace with a single Liberapay username
10
+ issuehunt: # Replace with a single IssueHunt username
11
+ otechie: # Replace with a single Otechie username
12
+ lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
13
+ polar: # Replace with a single Polar username
14
+ custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
@@ -0,0 +1,11 @@
1
+ # To get started with Dependabot version updates, you'll need to specify which
2
+ # package ecosystems to update and where the package manifests are located.
3
+ # Please see the documentation for all configuration options:
4
+ # https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
5
+
6
+ version: 2
7
+ updates:
8
+ - package-ecosystem: "npm" # See documentation for possible values
9
+ directory: "/" # Location of package manifests
10
+ schedule:
11
+ interval: "weekly"
@@ -0,0 +1,19 @@
1
+ name: Docker Image CI
2
+
3
+ on:
4
+ push:
5
+ branches: [ "main" ]
6
+ pull_request:
7
+ branches: [ "main" ]
8
+ workflow_dispatch:
9
+
10
+ jobs:
11
+
12
+ build:
13
+
14
+ runs-on: macos-latest
15
+
16
+ steps:
17
+ - uses: actions/checkout@v3
18
+ - name: Build the Docker image
19
+ run: npm run docker:build:multiarch
@@ -0,0 +1,17 @@
1
+ name: Build and publish Electron bundles
2
+
3
+ on:
4
+ # push:
5
+ # branches:
6
+ # - main
7
+ workflow_dispatch:
8
+
9
+ jobs:
10
+ build:
11
+ runs-on: macos-latest
12
+ steps:
13
+ - uses: actions/checkout@v3
14
+ - uses: actions/setup-node@v3
15
+ - run: cd frontend && npm i
16
+ - run: cd ../electron && npm i
17
+ - run: npm run publish
@@ -0,0 +1,50 @@
1
+ # This workflow will run tests using node and then publish a package to GitHub Packages when a release is created
2
+
3
+ # For more information see: https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages
4
+
5
+ name: Run tests
6
+
7
+ on:
8
+
9
+ push:
10
+
11
+ branches:
12
+
13
+ - main
14
+
15
+ pull_request:
16
+
17
+ types: [opened, reopened, synchronize]
18
+
19
+ workflow_dispatch:
20
+
21
+ jobs:
22
+
23
+ build:
24
+
25
+ runs-on: ${{ matrix.os }}
26
+
27
+ strategy:
28
+
29
+ matrix:
30
+
31
+ os:
32
+ - ubuntu-latest
33
+ - windows-latest
34
+ - macos-latest
35
+
36
+ node: [18, 20]
37
+
38
+ steps:
39
+
40
+ - uses: actions/checkout@v3
41
+
42
+ - uses: actions/setup-node@v3
43
+
44
+ with:
45
+
46
+ node-version: ${{ matrix.node }}
47
+
48
+ - run: npm i
49
+
50
+ - run: npm test
package/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- The MIT License
2
-
3
- Copyright (c) 2021- Manny Silva
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in
13
- all copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
1
+ The MIT License
2
+
3
+ Copyright (c) 2021- Manny Silva
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
21
  THE SOFTWARE.
package/README.md CHANGED
@@ -1,42 +1,109 @@
1
- # Doc Detective Core
2
-
3
- ![Current version](https://img.shields.io/github/package-json/v/doc-detective/doc-detective-core?color=orange)
4
- [![NPM Shield](https://img.shields.io/npm/v/doc-detective)](https://www.npmjs.com/package/doc-detective)
5
- [![Discord Shield](https://img.shields.io/badge/chat-on%20discord-purple)](https://discord.gg/mSCCRAhH)
6
-
7
- Low-code documentation testing embedded in your project via [NPM](https://www.npmjs.com/package/doc-detective).
8
-
9
- For pre-built implementations, see [Doc Detective](https://github.com/doc-detective/doc-detective).
10
-
11
- ## Install
12
-
13
- ```bash
14
- npm i doc-detective
15
- ```
16
-
17
- ## Init
18
-
19
- ```javascript
20
- const { test, coverage, suggest } = require("doc-detective");
21
- ```
22
-
23
- ## Methods
24
-
25
- ### `test(config, argv)`
26
-
27
- Run tests. Recursively parses files in the `config.input` path for tests to perform. Returns a test report object.
28
-
29
- ### `coverage(config, argv)`
30
-
31
- Run test coverage analysis on the specified source documents. Identifies uncovered markup based on regular expressions in `config.fileTypes.markup`. Returns a coverage report object.
32
-
33
- ### `suggest(config, argv)`
34
-
35
- Interactively build tests for uncovered markup in the specified source documents. Identifies uncovered markup based on regular expressions in `config.fileTypes.markup`. Writes tests to file and returns a suggestions object.
36
-
37
-
38
- ## Objects
39
-
40
- ### `config`
41
-
42
- Settings for your documentation source files and Doc Detective tests. See a sample config object in the [Doc Detective](https://github.com/doc-detective/doc-detective/blob/main/sample/config.json) repo.
1
+ # <img src="https://github.com/doc-detective/doc-detective/blob/main/icon.png" width=50 style="vertical-align:middle;margin-bottom:7px"/> Doc Detective: The Documentation Testing Framework
2
+
3
+ ![Current version](https://img.shields.io/github/package-json/v/doc-detective/doc-detective?color=orange)
4
+ [![Discord Shield](https://img.shields.io/badge/chat-on%20discord-purple)](https://discord.gg/2M7wXEThfF)
5
+ [![Docs Shield](https://img.shields.io/badge/docs-doc--detective.com-blue)](https://doc-detective.com)
6
+
7
+ Doc Detective is an open-source documentation testing framework that makes it easy to keep your docs accurate and up-to-date. You write low-code (soon no-code) tests, and Doc Detective runs them directly against your product to make sure your docs match your user experience. Whether it’s a UI-based process or a series of API calls, Doc Detective can help you find doc bugs before your users do.
8
+
9
+ Doc Detective ingests test specifications and text files, parses them for testable actions, then executes those actions in a browser. The results (PASS/FAIL and context) are output as a JSON object so that other pieces of infrastructure can parse and manipulate them as needed.
10
+
11
+ This project handles test parsing and web-based UI testing--it doesn't support results reporting or notifications. This framework is a part of testing infrastructures and needs to be complemented by other components.
12
+
13
+ ## Components
14
+
15
+ Doc Detective has multiple components to integrate with your workflows as you need it to:
16
+
17
+ - Doc Detective (this repo): A standalone tool that enables testing.
18
+ - [Doc Detective Core](https://github.com/doc-detective/doc-detective-core): An NPM package that provides the core testing functionality.
19
+ - [Doc Detective Docs](https://github.com/doc-detective/doc-detective.github.io): Source files for [doc-detective.com](https://doc-detective.com).
20
+
21
+ ## Install
22
+
23
+ > The following sections cover running Doc Detective as a CLI tool. To use Doc Detective via another interface (like as an NPM package), [see the docs](https://doc-detective.com).
24
+
25
+ You can run Doc Detective as a CLI tool with Node:
26
+
27
+ 0. Install prerequisites:
28
+
29
+ - [Node.js](https://nodejs.org/) (tested on v18 and v20)
30
+
31
+ 1. In a terminal, clone the repo and install dependencies:
32
+
33
+ ```bash
34
+ npm i -g doc-detective
35
+ ```
36
+
37
+ ## Run tests
38
+
39
+ To run your tests, use the `runTests` command and specify your test file with the `--input` argument. For example, to run tests in a file named `doc-content.md` in the `samples` directory (like in this repo!), run the following command:
40
+
41
+ ```bash
42
+ npm run runTests -- --input ./samples/doc-content.md
43
+ ```
44
+
45
+ To customize your test, file type, and directory options, create a [`config.json`](https://doc-detective.com/reference/schemas/config.html) file and reference it with the `--config` argument.
46
+
47
+ ```bash
48
+ npm run runTests -- --config ./samples/config.json
49
+ ```
50
+
51
+ You can override `config.json` options with command-line arguments. For example, to run tests in a file named `tests.spec.json` in the `samples` directory, run the following command:
52
+
53
+ ```bash
54
+ npm run runTests -- --config ./samples/config.json --input ./samples/tests.spec.json
55
+ ```
56
+
57
+ To see all available options, use the `--help` argument:
58
+
59
+ ```bash
60
+ npm run runTests -- --help
61
+ ```
62
+
63
+ ## Check your test coverage
64
+
65
+ You can check the test coverage of your documentation source files with the `runCoverage` command, specifying the source file or directory of source files with the `--input` argument. Doc Detective identifies potential areas of test coverage with file-format-specific regex, and supports CommonMark syntax natively. If you want to test coverage of a file with different syntax, update your the `fileTypes` object of your [`config.json`](https://doc-detective.com/reference/schemas/config.html) file accordingly.
66
+
67
+
68
+ ```bash
69
+ npm run runCoverage -- --config ./samples/config.json --input ./samples/doc-content.md
70
+ ```
71
+
72
+ To see all available options, use the `--help` argument:
73
+
74
+ ```bash
75
+ npm run runCoverage -- --help
76
+ ```
77
+
78
+ ## Suggest tests for coverage gaps (Experimental)
79
+
80
+ The `suggestTests` command provides experimental support for suggesting tests for coverage gaps identifying during test coverage analysis. However, the `suggestTests` command is highly experimental, so usage of the command is left as an exercise for the user.
81
+
82
+ ## Concepts
83
+
84
+ - [**Test specification**](https://doc-detective.com/reference/schemas/specification.html): A group of tests to run in one or more contexts. Conceptually parallel to a document.
85
+ - [**Test**](https://doc-detective.com/reference/schemas/test.html): A sequence of steps to perform. Conceptually parallel to a procedure.
86
+ - **Step**: A portion of a test that includes a single action. Conceptually parallel to a step in a procedure.
87
+ - **Action**: The task a performed in a step. Doc Detective supports a variety of actions:
88
+ - [**checkLink**](https://doc-detective.com/reference/schemas/checkLink.html): Check if a URL returns an acceptable status code from a GET request.
89
+ - [**find**](https://doc-detective.com/reference/schemas/find.html): Check if an element exists with the specified selector.
90
+ - [**goTo**](https://doc-detective.com/reference/schemas/goTo.html): Navigate to a specified URL.
91
+ - [**httpRequest**](https://doc-detective.com/reference/schemas/httpRequest.html): Perform a generic HTTP request, for example to an API.
92
+ - [**runShell**](https://doc-detective.com/reference/schemas/runShell.html): Perform a native shell command.
93
+ - [**saveScreenshot**](https://doc-detective.com/reference/schemas/saveScreenshot.html): Take a screenshot in PNG format.
94
+ - [**setVariables**](https://doc-detective.com/reference/schemas/setVariables.html): Load environment variables from a `.env` file.
95
+ - [**startRecording**](https://doc-detective.com/reference/schemas/startRecording.html) and [**stopRecording**](https://doc-detective.com/reference/schemas/stopRecording.html): Capture a video of test execution.
96
+ - [**typeKeys**](https://doc-detective.com/reference/schemas/typeKeys.html): Type keys. To type special keys, begin and end the string with `$` and use the special key’s enum. For example, to type the Escape key, enter `$ESCAPE$`.
97
+ - [**wait**](https://doc-detective.com/reference/schemas/wait.html): Pause before performing the next action.
98
+ - [**Context**](https://doc-detective.com/reference/schemas/context.html): An application and platforms that support the tests.
99
+
100
+ ## Roadmap
101
+
102
+ Future updates may include support for the following items:
103
+
104
+ - Apps: iOS Safari, Android Chrome, native Windows, native macOS, native Linux
105
+ - Platforms: iOS, Android
106
+ - Commands: `suggestTests` stable release
107
+ ## License
108
+
109
+ This project uses the [MIT license](https://github.com/doc-detective/doc-detective/blob/master/LICENSE).
@@ -0,0 +1,62 @@
1
+ {
2
+ "id": "Do all the things! - Spec",
3
+ "tests": [
4
+ {
5
+ "id": "Do all the things! - Test",
6
+ "description": "This test includes nearly every property across all actions.",
7
+ "steps": [
8
+ {
9
+ "action": "setVariables",
10
+ "path": ".env"
11
+ },
12
+ {
13
+ "action": "runShell",
14
+ "command": "echo",
15
+ "args": ["$USER"]
16
+ },
17
+ {
18
+ "action": "checkLink",
19
+ "url": "https://www.duckduckgo.com"
20
+ },
21
+ {
22
+ "action": "httpRequest",
23
+ "url": "https://reqres.in/api/users",
24
+ "method": "post",
25
+ "requestData": {
26
+ "name": "morpheus",
27
+ "job": "leader"
28
+ },
29
+ "responseData": {
30
+ "name": "morpheus",
31
+ "job": "leader"
32
+ },
33
+ "statusCodes": [200, 201]
34
+ },
35
+ {
36
+ "action": "goTo",
37
+ "url": "https://www.google.com"
38
+ },
39
+ {
40
+ "action": "startRecording",
41
+ "path": "test.mp4"
42
+ },
43
+ {
44
+ "action": "find",
45
+ "selector": "[title=Search]",
46
+ "timeout": 10000,
47
+ "moveTo": true,
48
+ "click": true,
49
+ "typeKeys": {
50
+ "keys": ["shorthair cat", "$ENTER$"]
51
+ }
52
+ },
53
+ {
54
+ "action": "wait"
55
+ },
56
+ {
57
+ "action": "stopRecording"
58
+ }
59
+ ]
60
+ }
61
+ ]
62
+ }
package/dev/index.js ADDED
@@ -0,0 +1,6 @@
1
+ const { setArgs, setConfig } = require("../src/utils");
2
+
3
+ // Test that arguments are parsed correctly
4
+ json = {
5
+ }
6
+ console.log(setConfig(json,setArgs(process.argv)))
package/icon.png ADDED
Binary file
package/index.js CHANGED
@@ -1,129 +1 @@
1
- const {
2
- setArgs,
3
- setConfig,
4
- setFiles,
5
- parseTests,
6
- outputResults,
7
- log,
8
- } = require("./src/utils");
9
- const { sendAnalytics } = require("./src/analytics.js");
10
- const { runTests } = require("./src/tests");
11
- const { checkTestCoverage, checkMarkupCoverage } = require("./src/analysis");
12
- const { reportCoverage } = require("./src/coverage");
13
- const { suggestTests, runSuggestions } = require("./src/suggest");
14
- const { exit } = require("process");
15
-
16
- exports.test = test;
17
- exports.coverage = coverage;
18
- exports.suggest = suggest;
19
-
20
- async function test(config, argv) {
21
- // Set args
22
- argv = setArgs(argv);
23
- log(config, "debug", `ARGV:`);
24
- log(config, "debug", argv);
25
-
26
- // Set config
27
- config = setConfig(config, argv);
28
- log(config, "debug", `CONFIG:`);
29
- log(config, "debug", config);
30
-
31
- // Set files
32
- const files = setFiles(config);
33
- log(config, "debug", `FILES:`);
34
- log(config, "debug", files);
35
-
36
- // Set tests
37
- const tests = parseTests(config, files);
38
- if (config.logLevel === "debug") {
39
- console.log("(DEBUG) TESTS:");
40
- tests.tests.forEach((test) => {
41
- console.log(test);
42
- });
43
- }
44
-
45
- // Run tests
46
- const results = await runTests(config, tests);
47
-
48
- // Output
49
- outputResults(config.output, results, config);
50
- if (config.analytics.send) {
51
- // sendAnalytics(config, results);
52
- }
53
-
54
- return results;
55
- }
56
-
57
- async function coverage(config, argv) {
58
- // Set args
59
- argv = setArgs(argv);
60
- log(config, "debug", `ARGV:`);
61
- log(config, "debug", argv);
62
-
63
- // Set config
64
- config = setConfig(config, argv);
65
- log(config, "debug", `CONFIG:`);
66
- log(config, "debug", config);
67
-
68
- // Set files
69
- const files = setFiles(config);
70
- log(config, "debug", `FILES:`);
71
- log(config, "debug", files);
72
-
73
- const testCoverage = checkTestCoverage(config, files);
74
- log(config, "debug", "TEST COVERAGE:");
75
- log(config, "debug", testCoverage);
76
-
77
- const markupCoverage = checkMarkupCoverage(config, testCoverage);
78
- log(config, "debug", "MARKUP COVERAGE:");
79
- log(config, "debug", markupCoverage);
80
-
81
- const coverageReport = reportCoverage(config, markupCoverage);
82
- log(config, "debug", "COVERAGE REPORT:");
83
- log(config, "debug", coverageReport);
84
-
85
- // Output
86
- outputResults(config.coverageOutput, coverageReport, config);
87
-
88
- return coverageReport;
89
- }
90
-
91
- async function suggest(config, argv) {
92
- // Set args
93
- argv = setArgs(argv);
94
- log(config, "debug", `ARGV:`);
95
- log(config, "debug", argv);
96
-
97
- // Set config
98
- config = setConfig(config, argv);
99
- log(config, "debug", `CONFIG:`);
100
- log(config, "debug", config);
101
-
102
- // Set files
103
- const files = setFiles(config);
104
- log(config, "debug", `FILES:`);
105
- log(config, "debug", files);
106
-
107
- const testCoverage = checkTestCoverage(config, files);
108
- log(config, "debug", "TEST COVERAGE:");
109
- log(config, "debug", testCoverage);
110
-
111
- const markupCoverage = checkMarkupCoverage(config, testCoverage);
112
- log(config, "debug", "MARKUP COVERAGE:");
113
- log(config, "debug", markupCoverage);
114
-
115
- const suggestionReport = suggestTests(config, markupCoverage);
116
- log(config, "debug", "TEST SUGGESTIONS:");
117
- log(config, "debug", suggestionReport);
118
-
119
- await runSuggestions(config, suggestionReport);
120
-
121
- // Output
122
- outputResults(
123
- config.testSuggestions.reportOutput,
124
- suggestionReport,
125
- config
126
- );
127
-
128
- return suggestionReport;
129
- }
1
+ console.log("Here there be dragons.")
package/package.json CHANGED
@@ -1,44 +1,43 @@
1
- {
2
- "name": "doc-detective",
3
- "version": "1.3.1",
4
- "description": "The documentation testing framework.",
5
- "main": "index.js",
6
- "scripts": {
7
- "test": "echo \"Error: no test specified\" && exit 0"
8
- },
9
- "repository": {
10
- "type": "git",
11
- "url": "git+https://github.com/doc-detective/doc-detective-core.git"
12
- },
13
- "keywords": [
14
- "documentation",
15
- "test",
16
- "doc",
17
- "docs"
18
- ],
19
- "author": "Manny Silva",
20
- "license": "MIT",
21
- "bugs": {
22
- "url": "https://github.com/doc-detective/doc-detective-core/issues"
23
- },
24
- "homepage": "https://github.com/doc-detective/doc-detective-core#readme",
25
- "dependencies": {
26
- "@ffmpeg-installer/ffmpeg": "^1.1.0",
27
- "axios": "^0.27.2",
28
- "dotenv": "^16.0.2",
29
- "git": "^0.1.5",
30
- "gnumake": "^0.3.5",
31
- "n-readlines": "^1.0.1",
32
- "node-jq": "^2.3.4",
33
- "pixelmatch": "^5.3.0",
34
- "pngjs": "^6.0.0",
35
- "prompt-sync": "^4.2.0",
36
- "puppeteer": "^13.7.0",
37
- "puppeteer-screen-recorder": "^2.0.2",
38
- "uuid": "^8.3.2",
39
- "yargs": "^17.4.1"
40
- },
41
- "devDependencies": {
42
- "make": "^0.8.1"
43
- }
44
- }
1
+ {
2
+ "name": "doc-detective",
3
+ "version": "2.9.0-dev.0",
4
+ "description": "Unit test documentation (and record videos of those tests).",
5
+ "bin": {
6
+ "doc-detective": "node ./src/index.js"
7
+ },
8
+ "scripts": {
9
+ "mocha": "mocha",
10
+ "postinstall": "node ./node_modules/doc-detective-core/scripts/postinstall.js",
11
+ "test": "mocha test/*.test.js",
12
+ "runTests": "node ./src/index.js runTests",
13
+ "runCoverage": "node ./src/index.js runCoverage",
14
+ "dev": "node ./dev"
15
+ },
16
+ "repository": {
17
+ "type": "git",
18
+ "url": "git+https://github.com/hawkeyexl/doc-detective.git"
19
+ },
20
+ "keywords": [
21
+ "documentation",
22
+ "unit",
23
+ "test",
24
+ "doc",
25
+ "docs"
26
+ ],
27
+ "author": "Manny Silva",
28
+ "license": "MIT",
29
+ "bugs": {
30
+ "url": "https://github.com/doc-detective/doc-detective/issues"
31
+ },
32
+ "homepage": "https://github.com/doc-detective/doc-detective#readme",
33
+ "dependencies": {
34
+ "doc-detective-common": "^1.13.0",
35
+ "doc-detective-core": "^2.9.3",
36
+ "prompt-sync": "^4.2.0",
37
+ "yargs": "^17.7.2"
38
+ },
39
+ "devDependencies": {
40
+ "chai": "^4.3.10",
41
+ "mocha": "^10.3.0"
42
+ }
43
+ }