# node-amd-builder **Repository Path**: mirrors_jquery/node-amd-builder ## Basic Information - **Project Name**: node-amd-builder - **Description**: jQuery Mobile download builder, a Node.js service - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-08-22 - **Last Updated**: 2026-02-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README amd-builder ========== This project aims at providing a Node.s service to build bundles out of AMD projects in a Git repository. This was developed for building jQuery Mobile bundles. Initial checkout as well as workspace creation have to be done manually. * Frontend: * API instance: ## API v1 ### /v1/{project}/{repo} Fetch the latest version of the repo from the default remote. ### /v1/{project}/{repo}/{ref} Force checkout the ref into the {project}/{ref}/{repo} workspace if it exists. ### /v1/dependencies/{project}/{repo}/{ref} Traces 1st level dependencies. URL arguments are: - ```baseUrl```: The baseUrl for module name to file resolution - ```names```: An optional comma separated list of modules to include in the dependency map. If it's not specified, the service will compute the dependency map for all the .js files in the ```baseUrl``` directory. ### /v1/bundle/{project}/{repo}/{ref}/{name}? ```name``` is the name of the file generated it defaults to ```repo```.js 1. ```name``` has extension .js (default) calls require.js to build the js bundle 1. ```name``` has extension .css will resolve css dependencies through the ```//css:``` metadata and return a css bundle 1. ```name``` has extension .zip will do all of the above in both optimize and non-optimized and return a zip file with 4 files in it Builds a bundle for this repository's ref URL arguments are: - ```baseUrl```: The baseUrl for module name to file resolution - ```include```: A comma separated list of modules to include in the bundle - ```exclude```: A comma separated list of modules to exclude from the bundle - ```optimize```: true or false ### Setup an instance for your project Perform all the following operations in the `node-amd-builder` main folder. 1. Clone a bare repo of your project: ``` mkdir repos cd repos git clone --bare git@github.com:yourname/yourproject.git ``` 1. Now create the staging directory: ``` mkdir -p staging ``` 1. Install the dependencies with ```npm install``` 1. Start the service: ``` node server.js -r "$(pwd)/repos" -s "$(pwd)/staging" ``` 1. Add a post_receive hook to the your GitHub repo pointing at ```http://instance:3000/post_receive``` ### Setup an instance for jQuery Migrate Perform all the following operations in the `node-amd-builder` main folder. Make sure you use Node.js v14.14.0 or higher. 1. Install the dependencies with `npm install` 1. Invoke: ``` scripts/setup-mobile.js ``` 1. Start the service: ``` node server.js -r "$(pwd)/repos" -s "$(pwd)/staging" ``` Invoke just `node server.js --help` to see other available options. 1. ~~Add a post_receive hook to the your GitHub repo pointing at `http://instance:3000/post_receive`~~ (only needed if you don't checkout tags manually as described above) ## Author * Ghislain Seguin - [@gseguin](http://twitter.com/gseguin) [![endorse](http://api.coderwall.com/ghislain/endorse.png)](http://coderwall.com/ghislain) ## Credits Thanks to: * [Jive Software](https://jivesoftware.com) - my employer - for letting me work on cool projects like this