Skip to content
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

Enhancement: Add GitHub Actions Workflows for CI/CD and Dependency Management #22

Merged
merged 5 commits into from
Sep 2, 2024

Conversation

supitsdu
Copy link
Owner

@supitsdu supitsdu commented Sep 2, 2024

This pull request introduces several GitHub Actions workflows to improve the development and maintenance process of colorus-js.

New Workflows:

  • .github/workflows/code-quality.yml: This workflow focuses on code quality by running linting, formatting, security audits, and other checks.
  • .github/workflows/npm.yml: This workflow automates the process of testing and building the project using NPM.
  • .github/workflows/release.yml: This workflow automates the release process, including version bumping, changelog generation, and publishing to npm.

Additional Changes

  • .github/dependabot.yml: This configuration file enables Dependabot to automatically check for outdated dependencies and create pull requests to update them, enhancing security and maintainability.

Benefits

  • Improved Code Quality: Automated checks and linting ensure consistent code style and help catch potential errors early.
  • Streamlined CI/CD: The NPM and release workflows automate the testing, building, and publishing processes, reducing manual effort and improving efficiency.
  • Enhanced Security: Dependabot proactively addresses security vulnerabilities by keeping dependencies up-to-date.

Additional Notes

I believe these workflows will significantly enhance the development and maintenance experience for colorus-js. I'm open to feedback and suggestions for further improvements!

This PR is part of the issue #19

@supitsdu supitsdu added ✅ Tests Apply this label to PRs or issues related to adding, updating, or fixing tests 📦 Dependency Management Managing project dependencies, including updating dependencies or resolving dependency-related issue ⚙️ Configs Related to the project configs setup 💎 Code Quality Improving code style, maintainability, or performance 🔄 Workflow Changes or updates to project workflows or CI/CD pipelines labels Sep 2, 2024
@supitsdu supitsdu self-assigned this Sep 2, 2024
@supitsdu supitsdu merged commit 3c65a27 into feat/typescript-migration Sep 2, 2024
2 checks passed
@supitsdu supitsdu deleted the update-workflows branch September 2, 2024 00:35
supitsdu added a commit that referenced this pull request Sep 2, 2024
…#23)

* Migrate codebase to TypeScript - initial conversion and type annotations (#18)

* refact!: remove old js files

* feat!: major refactor and introduction of plugin system

- refactor: restructure file organization for improved clarity and maintainability
- feat: implement plugin system with enhanced TypeScript integration
- refactor!: rename Colorus class to Color
- feat: add defineColor helper function for simplified instance creation
- refactor: rename functions and variables for better readability and maintainability
- feat: expose ColorFormatter, parseColor, and isValidColor for public use
- refactor: separate parsing and serialization logic into distinct modules
- refactor: organize conversion functions into separate files based on color space
- refactor: move grayscale, mix, and invert methods into plugins
- feat: expose a few useful typescript types for public use

* refact!: ensure code structure works with new tests

* chore: update Jest config for TypeScript

* test: add new unit test written in TypeScript

* chore: clean up test files (remove unused comments and variables)

* Migrate to Biome and remove ESLint  (#20)

* chore: upload initial biome config

* chore!: remove old .eslintrc.json config

* lint: update files after running new lint config

* Build System Update for Typescript Migration & Plugin Separation (Issue #19) (#21)

* refact!: remove built-in plugins

Remove built-in plugins for the sake of improving separation of concerns, later we will add them as separate packages.

* chore(tsconfig): upload initial tsconfig.json file

* refact: fix issues reported by the new tsconfig.json

* chore: update deps and configs in package.json

* build: update build config

Automatically generate types declaration file, and use esbuild to generate more optimized JS ESNext bundles.

* refact!: clean and update types

* chore: update NPM ignore config file

* build(config): restruct the build process config

* build(tsconfig): improve tsconfig.json

* build: replace plugin to print bundle size

Because of some bugs with the rollup-plugin-output-size, I've decided to
go with a more simple alternative, the rollup-plugin-bundle-size.

* refact!: Replace Color class with dye function

- Improve type safety
- Refact colorFormatter.ts
- Rewrite unit tests
- Add new helper functions

* docs(CONTRIBUTING): add contributing guidelines

* docs: Add comprehensive guide for working with plugins in Colorus.js

* docs: Update README.md with improved structure and examples

* ci: Add code quality workflow using Biome

* ci: Add NPM CI workflow for testing and building

* ci: Add GitHub Actions Workflows for CI/CD and Dependency Management (#22)

* ci: update lint & format configs

* fix: upload linter fixes

* ci: add the Release workflow

* ci: upload dependabout.yml workflow

* ci: move dependabout.yml to .github/ folder

* chore(linter): update biome.js included files prefs

* chore(scripts): improve package.json scripts

* fix: resolve linting errors reported by Biome

* ci: refact CI workflow for build & test

* ci: refact Code Quality workflow

* ci: fix name of linting script

* chore(package.json): bump version and update description

* refact(type): improve DyeReturns type
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
💎 Code Quality Improving code style, maintainability, or performance ⚙️ Configs Related to the project configs setup 📦 Dependency Management Managing project dependencies, including updating dependencies or resolving dependency-related issue ✅ Tests Apply this label to PRs or issues related to adding, updating, or fixing tests 🔄 Workflow Changes or updates to project workflows or CI/CD pipelines
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant