Conversation
Bumps [minimatch](https://github.com/isaacs/minimatch) from 3.1.2 to 3.1.5. - [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md) - [Commits](isaacs/minimatch@v3.1.2...v3.1.5) --- updated-dependencies: - dependency-name: minimatch dependency-version: 3.1.5 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com>
There was a problem hiding this comment.
Pull request overview
Prepares the repository for the v0.1 release cycle by bumping package/version metadata, refreshing tooling dependencies, and migrating ESLint configuration to the new flat-config style.
Changes:
- Bumped package version to
0.1.0-rc4and updated dependencies/devDependencies (notably ESLint/Jest/TypeScript toolchain). - Replaced legacy
.eslintrc.jswitheslint.config.js(flat config) and added.ncurc. - Updated npm publish ignore rules and CI Node.js version.
Reviewed changes
Copilot reviewed 6 out of 7 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| package.json | Version bump + dependency/devDependency upgrades. |
| package-lock.json | Lockfile refresh reflecting upgraded tooling/deps. |
| eslint.config.js | New ESLint flat-config entry (replacing .eslintrc.js). |
| .npmignore | Updated publish ignore patterns for build artifacts/tests/hooks. |
| .ncurc | Config to prevent npm-check-updates from updating @types/node. |
| .github/workflows/pr-ci.yml | CI Node.js version updated to 24.x. |
| .eslintrc.js | Removed legacy ESLint config. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| module.exports = defineConfig([{ | ||
| languageOptions: { | ||
| parser: tsParser, | ||
|
|
||
| globals: { | ||
| ...globals.node, | ||
| ...jest.environments.globals.globals, | ||
| }, | ||
|
|
||
| ecmaVersion: 2020, | ||
| sourceType: "module", | ||
| parserOptions: {}, | ||
| }, | ||
|
|
||
| plugins: { | ||
| jest, | ||
| jsdoc, | ||
| }, | ||
|
|
||
| extends: compat.extends("plugin:@typescript-eslint/recommended", "plugin:jsdoc/recommended"), | ||
|
|
||
| rules: { | ||
| indent: ["error", 4, { | ||
| SwitchCase: 1, | ||
|
|
||
| FunctionExpression: { | ||
| parameters: "first", | ||
| }, | ||
| }], | ||
|
|
||
| "@typescript-eslint/no-explicit-any": ["warn"], | ||
|
|
||
| "jsdoc/tag-lines": 0, | ||
| "padded-blocks": 0, | ||
| "no-constant-condition": 0, | ||
| }, | ||
| }]); |
There was a problem hiding this comment.
eslint.config.js is using the flat-config format, but the config object includes an extends key. Flat config doesn’t support extends inside an entry; FlatCompat outputs config objects that need to be spread into the exported array. As-is, ESLint will treat extends as an unknown key and fail to load the config.
| module.exports = defineConfig([{ | |
| languageOptions: { | |
| parser: tsParser, | |
| globals: { | |
| ...globals.node, | |
| ...jest.environments.globals.globals, | |
| }, | |
| ecmaVersion: 2020, | |
| sourceType: "module", | |
| parserOptions: {}, | |
| }, | |
| plugins: { | |
| jest, | |
| jsdoc, | |
| }, | |
| extends: compat.extends("plugin:@typescript-eslint/recommended", "plugin:jsdoc/recommended"), | |
| rules: { | |
| indent: ["error", 4, { | |
| SwitchCase: 1, | |
| FunctionExpression: { | |
| parameters: "first", | |
| }, | |
| }], | |
| "@typescript-eslint/no-explicit-any": ["warn"], | |
| "jsdoc/tag-lines": 0, | |
| "padded-blocks": 0, | |
| "no-constant-condition": 0, | |
| }, | |
| }]); | |
| module.exports = defineConfig([ | |
| ...compat.extends("plugin:@typescript-eslint/recommended", "plugin:jsdoc/recommended"), | |
| { | |
| languageOptions: { | |
| parser: tsParser, | |
| globals: { | |
| ...globals.node, | |
| ...jest.environments.globals.globals, | |
| }, | |
| ecmaVersion: 2020, | |
| sourceType: "module", | |
| parserOptions: {}, | |
| }, | |
| plugins: { | |
| jest, | |
| jsdoc, | |
| }, | |
| rules: { | |
| indent: ["error", 4, { | |
| SwitchCase: 1, | |
| FunctionExpression: { | |
| parameters: "first", | |
| }, | |
| }], | |
| "@typescript-eslint/no-explicit-any": ["warn"], | |
| "jsdoc/tag-lines": 0, | |
| "padded-blocks": 0, | |
| "no-constant-condition": 0, | |
| }, | |
| } | |
| ]); |
| rules: { | ||
| indent: ["error", 4, { | ||
| SwitchCase: 1, | ||
|
|
||
| FunctionExpression: { | ||
| parameters: "first", | ||
| }, | ||
| }], | ||
|
|
||
| "@typescript-eslint/no-explicit-any": ["warn"], | ||
|
|
||
| "jsdoc/tag-lines": 0, | ||
| "padded-blocks": 0, |
There was a problem hiding this comment.
This config enables the @typescript-eslint/no-explicit-any rule but @typescript-eslint/eslint-plugin is not registered in the plugins map. In flat config, rules must come from plugins that are explicitly provided in the same config entry (or another entry that applies to the same files), otherwise ESLint will error with “Definition for rule … was not found”.
| coverage/* | ||
| hooks/* | ||
| src/* | ||
| tests/* |
There was a problem hiding this comment.
The ignore patterns like src/* and tests/* only ignore immediate children and will still include nested paths (e.g., src/foo/bar.ts) in the published package. Use directory patterns like src/, tests/, etc. (or src/**) so all nested content is excluded as intended.
| coverage/* | |
| hooks/* | |
| src/* | |
| tests/* | |
| coverage/ | |
| hooks/ | |
| src/ | |
| tests/ |
| - name: Setup Node.js | ||
| uses: actions/setup-node@v4 | ||
| with: | ||
| node-version: '20.x' | ||
| node-version: '24.x' | ||
| cache: 'npm' |
There was a problem hiding this comment.
CI is now running on Node 24.x only, but package.json declares support for Node >=20.19.5. Testing only on 24.x can miss breakages for users on the minimum supported runtime; consider using a matrix (e.g., 20.x and 24.x) or aligning engines.node with the CI version.
| { | ||
| "name": "@exoshtw/admob-ssv", | ||
| "version": "0.1.0", | ||
| "version": "0.1.0-rc4", | ||
| "description": "Tool for validate AdMob rewarded ads signatures SSV", |
There was a problem hiding this comment.
PR title indicates a Release v0.1, but the package version is set to a release-candidate (0.1.0-rc4). If this PR is meant to publish the final 0.1.0 release, the version should be non-prerelease; otherwise consider adjusting the PR title/description to reflect the RC intent.
No description provided.