Skip to content

feat: skeleton MAPCO-7912 #1

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

Open
wants to merge 19 commits into
base: master
Choose a base branch
from
Open

feat: skeleton MAPCO-7912 #1

wants to merge 19 commits into from

Conversation

CptSchnitz
Copy link
Collaborator

No description provided.

@CptSchnitz CptSchnitz requested review from netanelC and Copilot June 11, 2025 11:59
Copy link

@Copilot Copilot AI left a 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 establishes the skeleton for the MAPCO-7912 project, setting up foundational configurations and workflows for linting, testing, committing, and releasing JavaScript GitHub Actions.

  • Introduces configuration files for lint-staged, eslint, commitlint, and Prettier.
  • Sets up GitHub workflows for releases, pull request validation, and Dependabot updates.
  • Adds documentation and various project configuration files (.nvmrc, .npmrc, .editorconfig, etc.) to ensure consistency.

Reviewed Changes

Copilot reviewed 32 out of 32 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
lint-staged.config.mjs Adds pre-commit scripts to build, verify dist, and log messaging.
eslint.config.mjs Configures ESLint with a TypeScript base config.
commitlint.config.mjs Dynamically generates allowed scopes based on directories in actions.
README.md Updates project title and documentation for newly added actions.
.vscode/settings.json Includes VS Code configuration for TypeScript and Copilot instructions.
.release-please-manifest.json Initializes an empty manifest file for release management.
.prettierrc Uses a shared Prettier configuration.
.prettierignore Defines patterns to ignore during formatting.
.nvmrc Specifies Node version v22 (local config).
.npmrc Enforces engine strict mode.
.licrc Sets up license acceptance rules and dependency checks.
.husky/pre-commit Runs lint-staged and pretty-quick during pre-commit hooks.
.husky/commit-msg Integrates commitlint into commit-msg hook.
.github/workflows/release-please.yaml Automates release tag updates via a GitHub workflow.
.github/workflows/pull-request.yaml Adds workflows for linting, building, and testing pull requests.
.github/dependabot.yaml Configures Dependabot for dependencies and GitHub actions updates.
.github/actions/init-npm/action.yaml Defines a composite GitHub Action for initializing npm and building.
.github/PULL_REQUEST_TEMPLATE.md Provides a template for pull request submissions.
.gitattributes Sets line ending rules for consistent formatting across OSes.
.editorconfig Enforces coding style rules across different editors.

CptSchnitz and others added 2 commits June 11, 2025 15:05
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copy link

@syncush syncush left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. how do we force husky to run since every user need to npm run husky:install
  2. should we add validation on parameters, meaning adding AJV or other validation tool?
  3. overall lgtm

@CptSchnitz
Copy link
Collaborator Author

  1. how do we force husky to run since every user need to npm run husky:install
  2. should we add validation on parameters, meaning adding AJV or other validation tool?
  3. overall lgtm
  1. husky is initialized using the prepare npm lifecycle script which runs when you do a clean npm install with no args.
  2. We might consider doing that, but i think for now its up to each action to decide how to approach the issue.

Copy link

@netanelC netanelC left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. You shouldn't touch the release-please manifest other than initial "{}"
  2. Remove README from prettierignore
  3. Handle the "changelog-sections" in release-please-config.json (seems like all is considered as "require release")
  4. Under the generated action:
    4.1 Why do you need both "example" and "usage" sections?
    4.2 The uses generated in README is "map-colonies" instead of "MapColonies"
    4.3 The generated release-type should be "node" instead of "simple"

@netanelC
Copy link

In addition, use init-npm that exists already in shared-workflows

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants