-
Notifications
You must be signed in to change notification settings - Fork 61
chore: add configs private package #3534
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
base: main
Are you sure you want to change the base?
Conversation
6b427a9 to
93cd13f
Compare
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.
Pull request overview
This PR introduces a new internal shared configuration package @kintone/configs to centralize configuration files (ESLint, TypeScript, Renovate, license-manager, and commitlint) across the js-sdk monorepo. This consolidation reduces duplication and provides a single source of truth for development tool configurations.
Key changes:
- Created new internal package
@kintone/configswith shared configurations for all development tools - Updated root configuration files to reference the new shared package
- Added comprehensive documentation including ADRs explaining design decisions
Reviewed changes
Copilot reviewed 27 out of 29 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
packages/configs/package.json |
Defines the new shared configs package with proper exports for each configuration type |
packages/configs/tsconfig/tsconfig.json |
Provides modern TypeScript configuration with ES2024 target and node16 module resolution |
packages/configs/eslint/config.js |
Centralizes ESLint rules based on @cybozu/eslint-config with project-specific customizations |
packages/configs/renovate/default.json5 |
Shares Renovate settings including automerge rules and security practices for GitHub Actions |
packages/configs/license-manager/base.cjs |
Consolidates allowed licenses and override configurations for OSS license validation |
packages/configs/commitlint/config.cjs |
Enforces Semantic Commit Messages with conventional commits format |
packages/configs/scripts/init.js |
Provides CLI tool to initialize configuration files in new projects |
tsconfig.json |
Updated to extend shared config while overriding for legacy CommonJS compatibility |
eslint.config.mjs |
Simplified by importing shared config with js-sdk specific overrides |
renovate.json5 |
Now extends shared config with project-specific settings |
license-manager.config.js |
Uses shared license lists from configs package |
pnpm-lock.yaml |
Adds workspace dependency and new transitive dependencies |
__tests__/lib/workspace.ts |
Excludes configs package from workspace tests |
| Various README and ADR files | Comprehensive documentation of configurations and design decisions |
Files not reviewed (1)
- pnpm-lock.yaml: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| "dependencies": { | ||
| "@cybozu/eslint-config": "^24.3.0", | ||
| "eslint-plugin-package-json": "^0.29.1", | ||
| "globals": "^16.4.0" |
Copilot
AI
Dec 23, 2025
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.
The package.json specifies "globals": "^16.4.0", but the lockfile resolves this to version 16.5.0. While this is within the semver range, for consistency and reproducibility, consider updating the package.json to specify "^16.5.0" to match the resolved version.
| "globals": "^16.4.0" | |
| "globals": "^16.5.0" |
Why
Configuration files for ESLint, TypeScript, Renovate, license-manager, and commitlint were scattered across the js-sdk monorepo, leading to duplicated settings in each project.
Centralizing these configurations provides the following benefits:
What
Added a new internal shared configuration package @kintone/configs.
Note: This is an internal package for the kintone development team. It is not intended for public use, and breaking changes may occur without notice.
Included configurations
Updated root configuration files
How to test
Checklist
pnpm lintandpnpm teston the root directory.