-
Notifications
You must be signed in to change notification settings - Fork 37
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: use runscript v2 #61
Conversation
WalkthroughThe changes in this pull request involve updates to various GitHub Actions workflows, modifications to the Changes
Poem
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
Removed dependencies detected. Learn more about Socket for GitHub ↗︎ 🚮 Removed packages: npm/coffee@5.5.1, npm/common-bin@3.0.1, npm/egg-bin@5.18.1, npm/egg@3.29.0, npm/eslint-config-egg@12.3.1, npm/eslint@8.57.1, npm/mm@3.4.0, npm/runscript@1.6.0, npm/source-map-support@0.5.21, npm/typescript@4.9.5 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🧹 Outside diff range and nitpick comments (1)
lib/cmd/start.js (1)
Line range hint
229-237
: Duplicate methodgetRevert
identical togetFrameworkName
The method
getRevert
is identical togetFrameworkName
, resulting in duplicated code. Consider removing the redundantgetRevert
method or refactoring to eliminate duplication.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (8)
.github/workflows/codeql-analysis.yml
(0 hunks).github/workflows/nodejs.yml
(1 hunks).github/workflows/release.yml
(0 hunks).gitignore
(1 hunks)README.md
(1 hunks)lib/cmd/start.js
(2 hunks)lib/helper.js
(1 hunks)package.json
(1 hunks)
💤 Files with no reviewable changes (2)
- .github/workflows/release.yml
- .github/workflows/codeql-analysis.yml
✅ Files skipped from review due to trivial changes (2)
- .gitignore
- README.md
🔇 Additional comments (2)
.github/workflows/nodejs.yml (1)
14-14
: Verify availability of Node.js version '22' in GitHub Actions
Ensure that Node.js version '22' is available in the GitHub Actions environment. If it's not yet released or supported, the workflow may fail.
lib/helper.js (1)
1-1
: Update import for runScript
with runscript
v2
With the upgrade to runscript
version ^2.0.1
, runScript
is now a named export. Ensure that all usages of runScript
in this file are updated accordingly to prevent any runtime errors.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 3
🧹 Outside diff range and nitpick comments (3)
.github/workflows/nodejs.yml (1)
14-14
: Document Node.js version support policyConsider adding documentation about:
- Supported Node.js versions
- Version deprecation timeline
- Testing strategy for pre-release Node.js versions
Would you like me to help draft a Node.js version support policy document?
lib/cmd/start.js (1)
Line range hint
64-83
: Refactor duplicate logic ingetFrameworkName
andgetRevert
methods.The methods
getFrameworkName
andgetRevert
contain similar logic for retrieving the framework's name frompackage.json
. Consider refactoring this into a shared utility function to adhere to the DRY (Don't Repeat Yourself) principle.Suggested refactor:
async getFrameworkName(framework) { return this._getFrameworkNameFromPackage(framework); } async getRevert(framework) { return this._getFrameworkNameFromPackage(framework); } +async _getFrameworkNameFromPackage(framework) { + const pkgPath = path.join(framework, 'package.json'); + let name = 'egg'; + try { + const pkg = require(pkgPath); + /* istanbul ignore else */ + if (pkg.name) name = pkg.name; + } catch (_) { + /* istanbul next */ + } + return name; +}test/start.test.js (1)
726-729
: Remove debug logging comment.The commented
console.log(fileList)
line should be removed as it's not providing value.- // console.log(fileList); assert(fileList.some(name => name.match(/master-stdout\.log\.\d+\.\d+/)));
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (12)
.github/workflows/codeql-analysis.yml
(0 hunks).github/workflows/nodejs.yml
(1 hunks).github/workflows/release.yml
(0 hunks).gitignore
(1 hunks)README.md
(1 hunks)lib/cmd/start.js
(2 hunks)lib/helper.js
(1 hunks)package.json
(1 hunks)test/start.test.js
(19 hunks)test/stop.test.js
(4 hunks)test/ts.test.js
(4 hunks)test/utils.js
(1 hunks)
💤 Files with no reviewable changes (2)
- .github/workflows/release.yml
- .github/workflows/codeql-analysis.yml
✅ Files skipped from review due to trivial changes (2)
- .gitignore
- README.md
🔇 Additional comments (12)
.github/workflows/nodejs.yml (1)
14-14
: Verify Node.js 22 compatibility considerations
Adding Node.js 22 (currently in development) to the test matrix is forward-thinking but requires careful consideration:
- Node.js 22 is currently in development/alpha stage
- May encounter instability in CI pipeline
- Could help identify compatibility issues early
lib/cmd/start.js (2)
2-2
: Verify the replacement of debug
with util.debuglog
.
The debug
module offers dynamic enabling of debug logs via environment variables and has additional features like namespaces. Replacing it with util.debuglog
may change how debug logging is configured and used. Ensure that this change does not affect the ability to enable or disable debug logs as needed.
292-293
: Confirm correct usage of getDateStringParts
for timestamp formatting.
The usage of getDateStringParts
replaces the previous timestamp generation logic. Verify that the returned date parts are correctly ordered and formatted to match the expected timestamp pattern used in log rotation.
lib/helper.js (1)
1-1
: Update import to destructured assignment for runScript
.
The change to const { runScript } = require('runscript');
reflects the updated export structure in runscript
v2. This ensures compatibility with the newer version and follows best practices for importing named exports.
package.json (4)
13-13
: Confirm compatibility with egg-utils
version update.
Updating egg-utils
to ^2.5.0
may introduce new features or deprecations. Verify that all functionalities dependent on egg-utils
remain intact and adjust the codebase if necessary.
19-19
: Add utility
as a new dependency.
The addition of "utility": "^2.2.0"
brings new utility functions into the project. Ensure that this module is necessary and does not conflict with existing utilities in the codebase.
26-31
: Update development dependencies and verify their impact.
The updates to egg-bin
, eslint-config-egg
, typescript
, and urllib
may affect the development and build processes. Test the development environment to ensure these updates do not introduce any issues.
34-34
: Breaking change: Increase minimum Node.js version to >=16.0.0
.
Raising the Node.js version requirement to >=16.0.0
is a significant change that may affect users running older versions. Ensure that this change is intentional, update the documentation accordingly, and consider a major version bump following semantic versioning practices.
test/utils.js (1)
41-47
: Add function replaceWeakRefMessage
to sanitize stderr output in tests.
Introducing replaceWeakRefMessage
improves test reliability by removing irrelevant messages related to WeakRef
and FinalizationRegistry
. This ensures that test assertions focus on meaningful error output.
test/ts.test.js (1)
48-48
: LGTM! Consistent error message handling.
The changes standardize the way stderr messages are handled across test cases by using utils.replaceWeakRefMessage
. This makes the tests more resilient to WeakRef-related deprecation messages.
Let's verify the implementation of the utility function:
Also applies to: 62-62, 76-76, 105-105
✅ Verification successful
Utility function implementation is correct and appropriate
The implementation of utils.replaceWeakRefMessage
in test/utils.js
correctly handles WeakRef deprecation messages by:
- Checking for the specific message "Using compatibility WeakRef and FinalizationRegistry"
- Removing the message and any associated line breaks if found
- Returning the cleaned stderr output
This matches perfectly with its usage in the test cases to standardize error message assertions.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check the implementation of replaceWeakRefMessage function
rg -A 5 "replaceWeakRefMessage.*=.*function" test/
Length of output: 448
test/stop.test.js (1)
43-43
: LGTM! Systematic update to error message handling.
The changes consistently apply the utils.replaceWeakRefMessage
function across all test cases. This standardization improves test reliability by properly handling WeakRef-related messages.
Also applies to: 151-151, 204-204, 230-230, 256-256, 282-282, 312-312, 338-338, 364-364, 391-391, 482-482, 506-506, 544-544, 573-573, 601-601, 627-627, 659-659
test/start.test.js (1)
630-630
: LGTM! Improved assertion style.
Changed from assert(result.data.toString() === 'hi, egg')
to assert.equal(result.data.toString(), 'hi, egg')
for better error messages in case of failure.
const utils = require('egg-utils'); | ||
const { getDateStringParts } = require('utility'); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Add error handling for the new utility
dependency.
The introduction of const { getDateStringParts } = require('utility');
adds a new dependency. Ensure that the utility
module is properly installed and consider adding error handling in case the module is not found to prevent runtime exceptions.
"mz": "^2.7.0", | ||
"mz-modules": "^2.1.0", | ||
"node-homedir": "^1.1.1", | ||
"runscript": "^1.3.0", | ||
"runscript": "^2.0.1", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ensure compatibility with runscript
v2 changes.
The upgrade to runscript
^2.0.1
introduces breaking changes, such as the shift from default export to named exports. Confirm that all usages of runscript
in the codebase have been updated accordingly to prevent runtime errors.
if (version < 18 || version > 20) return; | ||
if (isWin) return; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Codebase verification
Node.js version requirements need documentation update
The codebase has inconsistent version requirements:
package.json
specifies"node": ">=16.0.0"
in engines field- Test file enforces Node.js 18-20 compatibility with
if (version < 18 || version > 20)
This version constraint should be:
- Updated in
package.json
to match the test requirements - Documented in README.md for users to be aware of the supported Node.js versions
🔗 Analysis chain
Version constraint added for Node.js compatibility.
The test now explicitly checks for Node.js versions between 18 and 20 (inclusive). This helps ensure the test runs only on supported Node.js versions.
Let's verify if this version constraint is documented:
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check for Node.js version requirements in documentation
rg -l "node.*1[89]|node.*20" "*.md" "docs/*.md" "README.md"
Length of output: 164
Script:
#!/bin/bash
# Check the content of README.md for Node.js version requirements
cat README.md
# Search for version checks in test files
rg "version.*[<>]=?\s*\d+" test/
Length of output: 3026
Script:
#!/bin/bash
# Search for Node.js version requirements in package.json
cat package.json
# Search for other version checks in the codebase
rg "process\.version|node.*version" --type js
Length of output: 1483
|
||
exports.replaceWeakRefMessage = function(stderr) { | ||
// Using compatibility WeakRef and FinalizationRegistry\r\n | ||
if (stderr.includes('Using compatibility WeakRef and FinalizationRegistry')) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Outside diff range and nitpick comments (2)
CHANGELOG.md (2)
20-22
: Remove unnecessary empty linesThese empty lines create unnecessary spacing between changelog entries. Consider removing them to maintain consistent spacing throughout the file.
2.17.0 / 2022-04-28 ================== **features** * [[`47f8e82`](http://github.com/eggjs/egg-scripts/commit/47f8e823e01b74028bf8dee7123fc3f9469fb3b6)] - feat: eggScriptsConfig support node-options (#54) (TZ | 天猪 <<atian25@qq.com>>) - - - 2.16.0 / 2022-03-27
Line range hint
1-234
: Consider standardizing markdown formattingThe changelog has inconsistent markdown formatting:
- Mixed heading styles (setext vs atx)
- Inconsistent list indentation
- Using emphasis (
**
) for section headingsConsider adopting a consistent style:
- 2.17.0 / 2022-04-28 - ================== + ## 2.17.0 / 2022-04-28 - **features** + ### Features - * [[`47f8e82`](http://github.com/eggjs/egg-scripts/commit/47f8e823e01b74028bf8dee7123fc3f9469fb3b6)] - feat: eggScriptsConfig support node-options (#54) (TZ | 天猪 <<atian25@qq.com>>) + * [[`47f8e82`](http://github.com/eggjs/egg-scripts/commit/47f8e823e01b74028bf8dee7123fc3f9469fb3b6)] - feat: eggScriptsConfig support node-options (#54) (TZ | 天猪 <<atian25@qq.com>>)🧰 Tools
🪛 Markdownlint (0.35.0)
25-25: Expected: atx; Actual: setext
Heading style(MD003, heading-style)
31-31: Expected: atx; Actual: setext
Heading style(MD003, heading-style)
37-37: Expected: atx; Actual: setext
Heading style(MD003, heading-style)
46-46: Expected: atx; Actual: setext
Heading style(MD003, heading-style)
55-55: Expected: atx; Actual: setext
Heading style(MD003, heading-style)
64-64: Expected: atx; Actual: setext
Heading style(MD003, heading-style)
70-70: Expected: atx; Actual: setext
Heading style(MD003, heading-style)
76-76: Expected: atx; Actual: setext
Heading style(MD003, heading-style)
82-82: Expected: atx; Actual: setext
Heading style(MD003, heading-style)
88-88: Expected: atx; Actual: setext
Heading style(MD003, heading-style)
97-97: Expected: atx; Actual: setext
Heading style(MD003, heading-style)
103-103: Expected: atx; Actual: setext
Heading style(MD003, heading-style)
113-113: Expected: atx; Actual: setext
Heading style(MD003, heading-style)
118-118: Expected: atx; Actual: setext
Heading style(MD003, heading-style)
127-127: Expected: atx; Actual: setext
Heading style(MD003, heading-style)
133-133: Expected: atx; Actual: setext
Heading style(MD003, heading-style)
139-139: Expected: atx; Actual: setext
Heading style(MD003, heading-style)
148-148: Expected: atx; Actual: setext
Heading style(MD003, heading-style)
153-153: Expected: atx; Actual: setext
Heading style(MD003, heading-style)
158-158: Expected: atx; Actual: setext
Heading style(MD003, heading-style)
164-164: Expected: atx; Actual: setext
Heading style(MD003, heading-style)
173-173: Expected: atx; Actual: setext
Heading style(MD003, heading-style)
179-179: Expected: atx; Actual: setext
Heading style(MD003, heading-style)
185-185: Expected: atx; Actual: setext
Heading style(MD003, heading-style)
191-191: Expected: atx; Actual: setext
Heading style(MD003, heading-style)
197-197: Expected: atx; Actual: setext
Heading style(MD003, heading-style)
206-206: Expected: atx; Actual: setext
Heading style(MD003, heading-style)
215-215: Expected: atx; Actual: setext
Heading style(MD003, heading-style)
221-221: Expected: atx; Actual: setext
Heading style(MD003, heading-style)
226-226: Expected: atx; Actual: setext
Heading style(MD003, heading-style)
231-231: Expected: atx; Actual: setext
Heading style(MD003, heading-style)
29-29: Expected: 0; Actual: 2
Unordered list indentation(MD007, ul-indent)
35-35: Expected: 0; Actual: 2
Unordered list indentation(MD007, ul-indent)
41-41: Expected: 0; Actual: 2
Unordered list indentation(MD007, ul-indent)
44-44: Expected: 0; Actual: 2
Unordered list indentation(MD007, ul-indent)
50-50: Expected: 0; Actual: 2
Unordered list indentation(MD007, ul-indent)
53-53: Expected: 0; Actual: 2
Unordered list indentation(MD007, ul-indent)
59-59: Expected: 0; Actual: 2
Unordered list indentation(MD007, ul-indent)
62-62: Expected: 0; Actual: 2
Unordered list indentation(MD007, ul-indent)
68-68: Expected: 0; Actual: 2
Unordered list indentation(MD007, ul-indent)
74-74: Expected: 0; Actual: 2
Unordered list indentation(MD007, ul-indent)
80-80: Expected: 0; Actual: 2
Unordered list indentation(MD007, ul-indent)
86-86: Expected: 0; Actual: 2
Unordered list indentation(MD007, ul-indent)
92-92: Expected: 0; Actual: 2
Unordered list indentation(MD007, ul-indent)
95-95: Expected: 0; Actual: 2
Unordered list indentation(MD007, ul-indent)
100-100: Expected: 0; Actual: 2
Unordered list indentation(MD007, ul-indent)
101-101: Expected: 0; Actual: 2
Unordered list indentation(MD007, ul-indent)
107-107: Expected: 0; Actual: 2
Unordered list indentation(MD007, ul-indent)
110-110: Expected: 0; Actual: 2
Unordered list indentation(MD007, ul-indent)
111-111: Expected: 0; Actual: 2
Unordered list indentation(MD007, ul-indent)
116-116: Expected: 0; Actual: 2
Unordered list indentation(MD007, ul-indent)
122-122: Expected: 0; Actual: 2
Unordered list indentation(MD007, ul-indent)
125-125: Expected: 0; Actual: 2
Unordered list indentation(MD007, ul-indent)
131-131: Expected: 0; Actual: 2
Unordered list indentation(MD007, ul-indent)
137-137: Expected: 0; Actual: 2
Unordered list indentation(MD007, ul-indent)
143-143: Expected: 0; Actual: 2
Unordered list indentation(MD007, ul-indent)
146-146: Expected: 0; Actual: 2
Unordered list indentation(MD007, ul-indent)
151-151: Expected: 0; Actual: 2
Unordered list indentation(MD007, ul-indent)
156-156: Expected: 0; Actual: 2
Unordered list indentation(MD007, ul-indent)
162-162: Expected: 0; Actual: 2
Unordered list indentation(MD007, ul-indent)
168-168: Expected: 0; Actual: 2
Unordered list indentation(MD007, ul-indent)
171-171: Expected: 0; Actual: 2
Unordered list indentation(MD007, ul-indent)
177-177: Expected: 0; Actual: 2
Unordered list indentation(MD007, ul-indent)
183-183: Expected: 0; Actual: 2
Unordered list indentation(MD007, ul-indent)
189-189: Expected: 0; Actual: 2
Unordered list indentation(MD007, ul-indent)
195-195: Expected: 0; Actual: 2
Unordered list indentation(MD007, ul-indent)
201-201: Expected: 0; Actual: 2
Unordered list indentation(MD007, ul-indent)
204-204: Expected: 0; Actual: 2
Unordered list indentation(MD007, ul-indent)
210-210: Expected: 0; Actual: 2
Unordered list indentation(MD007, ul-indent)
213-213: Expected: 0; Actual: 2
Unordered list indentation(MD007, ul-indent)
218-218: Expected: 0; Actual: 2
Unordered list indentation(MD007, ul-indent)
219-219: Expected: 0; Actual: 2
Unordered list indentation(MD007, ul-indent)
224-224: Expected: 0; Actual: 2
Unordered list indentation(MD007, ul-indent)
229-229: Expected: 0; Actual: 2
Unordered list indentation(MD007, ul-indent)
234-234: Expected: 0; Actual: 2
Unordered list indentation(MD007, ul-indent)
28-28: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
34-34: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
40-40: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
43-43: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
49-49: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
52-52: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
58-58: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
61-61: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
67-67: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
73-73: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
79-79: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
85-85: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
91-91: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
94-94: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
106-106: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
109-109: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
121-121: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
124-124: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
130-130: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
136-136: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
142-142: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
145-145: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
161-161: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
167-167: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
170-170: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
176-176: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
182-182: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
188-188: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
194-194: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
200-200: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
203-203: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
209-209: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
212-212: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (3)
CHANGELOG.md
(1 hunks)History.md
(0 hunks)package.json
(1 hunks)
💤 Files with no reviewable changes (1)
- History.md
🚧 Files skipped from review as they are similar to previous changes (1)
- package.json
🧰 Additional context used
🪛 Markdownlint (0.35.0)
CHANGELOG.md
25-25: Expected: atx; Actual: setext
Heading style
(MD003, heading-style)
31-31: Expected: atx; Actual: setext
Heading style
(MD003, heading-style)
37-37: Expected: atx; Actual: setext
Heading style
(MD003, heading-style)
46-46: Expected: atx; Actual: setext
Heading style
(MD003, heading-style)
55-55: Expected: atx; Actual: setext
Heading style
(MD003, heading-style)
64-64: Expected: atx; Actual: setext
Heading style
(MD003, heading-style)
70-70: Expected: atx; Actual: setext
Heading style
(MD003, heading-style)
76-76: Expected: atx; Actual: setext
Heading style
(MD003, heading-style)
82-82: Expected: atx; Actual: setext
Heading style
(MD003, heading-style)
88-88: Expected: atx; Actual: setext
Heading style
(MD003, heading-style)
97-97: Expected: atx; Actual: setext
Heading style
(MD003, heading-style)
103-103: Expected: atx; Actual: setext
Heading style
(MD003, heading-style)
113-113: Expected: atx; Actual: setext
Heading style
(MD003, heading-style)
118-118: Expected: atx; Actual: setext
Heading style
(MD003, heading-style)
127-127: Expected: atx; Actual: setext
Heading style
(MD003, heading-style)
133-133: Expected: atx; Actual: setext
Heading style
(MD003, heading-style)
139-139: Expected: atx; Actual: setext
Heading style
(MD003, heading-style)
148-148: Expected: atx; Actual: setext
Heading style
(MD003, heading-style)
153-153: Expected: atx; Actual: setext
Heading style
(MD003, heading-style)
158-158: Expected: atx; Actual: setext
Heading style
(MD003, heading-style)
164-164: Expected: atx; Actual: setext
Heading style
(MD003, heading-style)
173-173: Expected: atx; Actual: setext
Heading style
(MD003, heading-style)
179-179: Expected: atx; Actual: setext
Heading style
(MD003, heading-style)
185-185: Expected: atx; Actual: setext
Heading style
(MD003, heading-style)
191-191: Expected: atx; Actual: setext
Heading style
(MD003, heading-style)
197-197: Expected: atx; Actual: setext
Heading style
(MD003, heading-style)
206-206: Expected: atx; Actual: setext
Heading style
(MD003, heading-style)
215-215: Expected: atx; Actual: setext
Heading style
(MD003, heading-style)
221-221: Expected: atx; Actual: setext
Heading style
(MD003, heading-style)
226-226: Expected: atx; Actual: setext
Heading style
(MD003, heading-style)
231-231: Expected: atx; Actual: setext
Heading style
(MD003, heading-style)
29-29: Expected: 0; Actual: 2
Unordered list indentation
(MD007, ul-indent)
35-35: Expected: 0; Actual: 2
Unordered list indentation
(MD007, ul-indent)
41-41: Expected: 0; Actual: 2
Unordered list indentation
(MD007, ul-indent)
44-44: Expected: 0; Actual: 2
Unordered list indentation
(MD007, ul-indent)
50-50: Expected: 0; Actual: 2
Unordered list indentation
(MD007, ul-indent)
53-53: Expected: 0; Actual: 2
Unordered list indentation
(MD007, ul-indent)
59-59: Expected: 0; Actual: 2
Unordered list indentation
(MD007, ul-indent)
62-62: Expected: 0; Actual: 2
Unordered list indentation
(MD007, ul-indent)
68-68: Expected: 0; Actual: 2
Unordered list indentation
(MD007, ul-indent)
74-74: Expected: 0; Actual: 2
Unordered list indentation
(MD007, ul-indent)
80-80: Expected: 0; Actual: 2
Unordered list indentation
(MD007, ul-indent)
86-86: Expected: 0; Actual: 2
Unordered list indentation
(MD007, ul-indent)
92-92: Expected: 0; Actual: 2
Unordered list indentation
(MD007, ul-indent)
95-95: Expected: 0; Actual: 2
Unordered list indentation
(MD007, ul-indent)
100-100: Expected: 0; Actual: 2
Unordered list indentation
(MD007, ul-indent)
101-101: Expected: 0; Actual: 2
Unordered list indentation
(MD007, ul-indent)
107-107: Expected: 0; Actual: 2
Unordered list indentation
(MD007, ul-indent)
110-110: Expected: 0; Actual: 2
Unordered list indentation
(MD007, ul-indent)
111-111: Expected: 0; Actual: 2
Unordered list indentation
(MD007, ul-indent)
116-116: Expected: 0; Actual: 2
Unordered list indentation
(MD007, ul-indent)
122-122: Expected: 0; Actual: 2
Unordered list indentation
(MD007, ul-indent)
125-125: Expected: 0; Actual: 2
Unordered list indentation
(MD007, ul-indent)
131-131: Expected: 0; Actual: 2
Unordered list indentation
(MD007, ul-indent)
137-137: Expected: 0; Actual: 2
Unordered list indentation
(MD007, ul-indent)
143-143: Expected: 0; Actual: 2
Unordered list indentation
(MD007, ul-indent)
146-146: Expected: 0; Actual: 2
Unordered list indentation
(MD007, ul-indent)
151-151: Expected: 0; Actual: 2
Unordered list indentation
(MD007, ul-indent)
156-156: Expected: 0; Actual: 2
Unordered list indentation
(MD007, ul-indent)
162-162: Expected: 0; Actual: 2
Unordered list indentation
(MD007, ul-indent)
168-168: Expected: 0; Actual: 2
Unordered list indentation
(MD007, ul-indent)
171-171: Expected: 0; Actual: 2
Unordered list indentation
(MD007, ul-indent)
177-177: Expected: 0; Actual: 2
Unordered list indentation
(MD007, ul-indent)
183-183: Expected: 0; Actual: 2
Unordered list indentation
(MD007, ul-indent)
189-189: Expected: 0; Actual: 2
Unordered list indentation
(MD007, ul-indent)
195-195: Expected: 0; Actual: 2
Unordered list indentation
(MD007, ul-indent)
201-201: Expected: 0; Actual: 2
Unordered list indentation
(MD007, ul-indent)
204-204: Expected: 0; Actual: 2
Unordered list indentation
(MD007, ul-indent)
210-210: Expected: 0; Actual: 2
Unordered list indentation
(MD007, ul-indent)
213-213: Expected: 0; Actual: 2
Unordered list indentation
(MD007, ul-indent)
218-218: Expected: 0; Actual: 2
Unordered list indentation
(MD007, ul-indent)
219-219: Expected: 0; Actual: 2
Unordered list indentation
(MD007, ul-indent)
224-224: Expected: 0; Actual: 2
Unordered list indentation
(MD007, ul-indent)
229-229: Expected: 0; Actual: 2
Unordered list indentation
(MD007, ul-indent)
234-234: Expected: 0; Actual: 2
Unordered list indentation
(MD007, ul-indent)
28-28: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
34-34: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
40-40: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
43-43: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
49-49: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
52-52: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
58-58: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
61-61: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
67-67: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
73-73: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
79-79: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
85-85: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
91-91: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
94-94: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
106-106: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
109-109: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
121-121: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
124-124: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
130-130: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
136-136: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
142-142: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
145-145: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
161-161: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
167-167: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
170-170: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
176-176: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
182-182: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
188-188: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
194-194: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
200-200: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
203-203: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
209-209: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
212-212: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
[skip ci] ## [3.1.0](v3.0.1...v3.1.0) (2024-12-10) ### Features * use runscript v2 ([#61](#61)) ([ebbb7f6](ebbb7f6))
Summary by CodeRabbit
Chores
.package-lock.json
to.gitignore
.Documentation
README.md
to use a dynamic contributors' graph.Dependencies
package.json
and adjusted Node.js version requirement.contributor
script and updated test scripts to include flags.Tests