{"id":13498374,"url":"https://github.com/shrynx/nodify","last_synced_at":"2025-03-29T01:30:27.549Z","repository":{"id":143847807,"uuid":"108711151","full_name":"shrynx/nodify","owner":"shrynx","description":"zero-config build tool system for Node.js","archived":true,"fork":false,"pushed_at":"2018-03-15T15:43:57.000Z","size":376,"stargazers_count":9,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-17T19:06:49.025Z","etag":null,"topics":["build-tool","nodejs","rollup","toolkit","zero-configuration"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shrynx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2017-10-29T06:36:01.000Z","updated_at":"2023-03-08T16:44:56.000Z","dependencies_parsed_at":null,"dependency_job_id":"70ffd659-a69e-4d2d-8b63-215866577a06","html_url":"https://github.com/shrynx/nodify","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shrynx%2Fnodify","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shrynx%2Fnodify/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shrynx%2Fnodify/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shrynx%2Fnodify/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shrynx","download_url":"https://codeload.github.com/shrynx/nodify/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246125324,"owners_count":20727408,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["build-tool","nodejs","rollup","toolkit","zero-configuration"],"created_at":"2024-07-31T21:00:26.134Z","updated_at":"2025-03-29T01:30:27.158Z","avatar_url":"https://github.com/shrynx.png","language":"JavaScript","funding_links":[],"categories":["Other"],"sub_categories":[],"readme":"# Nodify\n\n![nodify-status](https://david-dm.org/shrynx/nodify.svg?path=packages/nodify-core)\n[![npm version](https://badge.fury.io/js/nodify-core.svg)](https://badge.fury.io/js/nodify-core)\n\nNodify is a build tool system for Node.js, allowing you to write next-generation\nNode.js applications with zero configuration.\n\n## Getting started\n\n### Assumptions\n\nNodify assumes by default the entry point of your application to be\n`src/index.js` and will put output file in `build/main.js`, although everything\nis customizable.\n\n* * *\n\n### Installation\n\nMain package is named `nodify-core`, install it as a **devDependency** in your\napp.\n\n-   via npm\n\n    ```shell\n    npm i -D nodify-core\n    ```\n\n-   via yarn\n\n    ```shell\n    yarn add -D nodify-core\n    ```\n\n* * *\n\n### Usage\n\nNodify is exposes two cli commands\n\n-   ### **nodify dev**\n\n    Runs nodify in development mode. Allowing you to execute code and reload on\n\n    change, also providing helpful errors.\n    ![errors](https://user-images.githubusercontent.com/4706261/32256050-0fa77fa4-bef0-11e7-9326-e678cf7523ac.png)\n\n    **NOTE**: nodify dev automatically sets `process.env.node` to `development`, \n\n    and generates source map to support debugging.\n\n-   ### **nodify build**\n\n    Builds app ready for production.\n\n    Build version will be outputted in `build/main.js`,\n\n    which you can run directly via node.\n\n    ```shell\n    node ./build/main\n    ```\n\n    **NOTE**: nodify build automatically sets `process.env.node` to `production`, \n\n    and doesn't generate any source maps.\n---\n\nYour `package.json` should look like\n\n```javascript\n{\n  ...\n\n  \"scripts\": {\n    \"dev\": \"nodify dev\",\n    \"build\": \"nodify build\",\n\n    ...\n  }\n\n  ...\n}\n```\n\n## Customization\n\nUnder the hood nodify uses [rollup](https://rollupjs.org/) and\n[babel](https://babeljs.io/), which come pre-configured, but can with be\ncompletely customized.\n\n### Rollup\n\nTo customize rollup config, create a `nodify.config.js` in the root directory of\nyour app.\n\n```javascript\nmodule.exports = {\n  rollup: (config, env) =\u003e {\n    // access the config here\n    // also process.env.NODE_ENV can be accessed using env\n    // and customize it as you wish\n    // finally remember to return the modified config.\n    // by default during dev process.env.NODE_ENV is 'development'\n    // and during build process.env.NODE_ENV is 'production'\n    return config;\n  },\n};\n```\n\nCheckout the example for\n[custom rollup config](https://github.com/shrynx/nodify/tree/master/examples/custom-rollup)\n\n**NOTE**: The default config for rollup can be found [here](https://github.com/shrynx/nodify/blob/master/packages/nodify-core/config/rollup.config.js).\n\n### Babel\n\nTo customize babel plugins and presets configuration, create a `.babelrc` file\nin the root directory of your app.\n\nIf this file exists nodify will rely upon it rather than its internal\nconfiguration, therefore you must use nodify preset in your babelrc file, to\nmake it work with nodify.\n\nYour `.babelrc` should look like\n\n```javascript\n{\n  \"presets\": [\n    \"nodify-core/babel\",\n    // add other presets\n  ],\n  \"plugins\": [\n    // add plugins\n  ]\n  ...\n}\n```\n\nCheckout the example for\n[custom babel config](https://github.com/shrynx/nodify/tree/master/examples/custom-babel)\n\n## Built with\n\n-   [rollup](https://rollupjs.org/)\n-   [babel](https://babeljs.io/)\n-   [nodemon](https://nodemon.io/)\n\n## Examples\n\nPlease refer the\n[examples](https://github.com/shrynx/nodify/tree/master/examples) folder for\nbasic setups with different configurations.\n\n## Acknowledgement\n\n### Prior Art\n\n[Backpack](https://github.com/jaredpalmer/backpack) - Works in same way and uses\n`webpack`.\n\n### Inspiration\n\n-   [backend-with-webpack](http://jlongster.com/Backend-Apps-with-Webpack--Part-I)\n    by [@jlongster](https://github.com/jlongster) for explaining the need of build\n    tools on node backend.\n\n-   [create-react-app](https://github.com/facebookincubator/create-react-app) for\n    popularizing pre-configured tools that help jump start development.\n\n-   [next.js](https://github.com/zeit/next.js) for creating customizable\n    configurations.\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshrynx%2Fnodify","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshrynx%2Fnodify","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshrynx%2Fnodify/lists"}