Explore the possibilities with Codegen and elevate your development experience with seamless bundling and code generation! 🚀
Codegen is a powerful tool for enabling bundling superpowers through advanced plugins and mechanisms. This repository contains all the libraries, plugins, and utilities you need to integrate code generation seamlessly into your development workflows.
Whether you're using modern bundlers like Webpack, rspack, esbuild, Vite, Rollup, or Parcel, or looking for integration with editors like Visual Studio Code, an integration exists.
-
Bundler Plugins:
-
Editor Plugins:
- Convenience plugins for editor integration.
- Editor-specific tooling, including VS Code.
-
Ease of Use:
- Focused on simplifying code generation in diverse environments.
- Extensible and customizable for various project needs.
- Bundler agnostic - easily swap bundlers.
The plugins for each bundler or editor can be installed via npm, pnpm, or yarn. Below is an example for the Webpack plugin:
npm install parcel-codegen-loader --save-dev
Replace parcel-codegen-loader
with the specific plugin for your bundler or editor as needed.
- Add the plugin to your bundler configuration.
- Configure it as needed to fit your project requirements.
- Benefit from dynamic code generation tailored to your build process.
Example for Webpack:
module.exports = {
module: {
rules: [
{
test: /\.codegen$/i,
use: [
{
loader: 'parcel-codegen-loader',
},
],
},
],
},
};
Follow the instructions in the relevant plugin documentation for integrating with your editor.
Example for VS Code:
- Install the plugin from the marketplace.
- Configure the workspace settings to recognize code generation configurations.
Detailed documentation and examples can be found at dev.to.
Additional resources are provided in the README.md
of the respective plugin or library within this repository.
We welcome contributions! Please follow the steps below to get started:
- Fork the repository.
- Clone the repository locally.
- Install dependencies using
npm install
. - Make your changes and submit a pull request - target the
develop
branch.
Please ensure that all contributions follow our Code of Conduct and Contributing Guidelines.
This project is licensed under the MIT License. See the LICENSE file for details.