asset-pipe-build-server v2.2.0
Usage
Install
npm install asset-pipe-build-serverConfigure
Configuration of the server is done via environment variables.
The following configuration options are available:
| Variable | Description | Options | Default |
|---|---|---|---|
| NODE_ENV | Applicaton environment | development, production | development |
| LOG_LEVEL | Which level the console transport log should log at | debug, info, warn, error | debug |
| PORT | The port the server should bind to | - | 7100 |
Start
asset-pipe-serverOR with configuration options:
PORT=3321 LOG_LEVEL=info NODE_ENV=production asset-pipe-serverEndpoints
The server provides the following endpoints:
| Verb | Endpoint | Description | url params | payload | response |
|---|---|---|---|---|---|
| POST | /feed/js | Upload a javascript asset feed | - | js feed | feed response |
| POST | /feed/css | Upload a css asset feed | - | css feed | feed response |
| GET | /feed/:id | Download an asset feed | feed id | - | feed |
| POST | /bundle/js | Request bundling of a list of js feeds | - | js bundle | bundle response |
| POST | /bundle/css | Request bundling of a list of css feeds | - | css bundle | bundle response |
| GET | /bundle/:id | Download an asset bundle | bundle id | - | bundle |
See below for explanation and additional detail regarding the various url params, payloads and responses.
Url params
feed id
A js or css feed filename. (Depending on endpoint)
Examples
GET /feed/js/acd1ac21dac12dac12dac12dac1d2ac1d2ac1d2a.json
GET /feed/css/bcd1ac21dac12dac12dac12dac1d2ac1d2ac1d2a.jsonbundle id
A js or css bundle filename. (Depending on endpoint)
Examples
GET /bundle/js/acd1ac21dac12dac12dac12dac1d2ac1d2ac1d2a.json
GET /bundle/css/bcd1ac21dac12dac12dac12dac1d2ac1d2ac1d2a.jsonPayloads
js feed
An array of feed objects as produced by asset-pipe-js-writer
Example
[
{
"id":"c645cf572a8f5acf8716e4846b408d3b1ca45c58",
"source":"\"use strict\";module.exports.world=function(){return\"world\"};",
"deps":{},
"file":"./assets/js/bar.js"
}
]css feed
An array of feed objects as produced by asset-pipe-css-writer
Example
[
{
id: '4f32a8e1c6cf6e5885241f3ea5fee583560b2dfde38b21ec3f9781c91d58f42e',
name: 'my-module-1',
version: '1.0.1',
file: 'my-module-1/main.css',
content: '/* ... */'
}
]js bundle
An ordered array of js feed filenames.
Example
[
'acd1ac21dac12dac12dac12dac1d2ac1d2ac1d2a.json',
'acd1ac21dac12dac12dac12dac1d2ac1d2ac1d2a.json',
'acd1ac21dac12dac12dac12dac1d2ac1d2ac1d2a.json'
]css bundle
An ordered array of css feed filenames.
Example
[
'acd1ac21dac12dac12dac12dac1d2ac1d2ac1d2a.json',
'acd1ac21dac12dac12dac12dac1d2ac1d2ac1d2a.json',
'acd1ac21dac12dac12dac12dac1d2ac1d2ac1d2a.json'
]Responses
feed response
After a feed is uploaded, the server will respond with a json body containing the keys file and uri
where file is the name of the feed file that was saved on the server and uri is the same as file but with the server address prepended.
Example
{
file: 'acd1ac21dac12dac12dac12dac1d2ac1d2ac1d2a.json',
uri: 'http://127.0.0.1:7100/acd1ac21dac12dac12dac12dac1d2ac1d2ac1d2a.json'
}feed
Feed is the original js or css feed content that was saved on the server during a feed upload (via POST /feed/js or POST /feed/css)
Example
[
{
"id":"c645cf572a8f5acf8716e4846b408d3b1ca45c58",
"source":"\"use strict\";module.exports.world=function(){return\"world\"};",
"deps":{},
"file":"./assets/js/bar.js"
}
]bundle response
After a bundling is complete, the server will respond with a json body containing the keys file and uri
where file is the name of the file for the bundled content that was saved on the server and uri is the same as file but with the server address prepended.
Example
{
file: 'acd1ac21dac12dac12dac12dac1d2ac1d2ac1d2a.json',
uri: 'http://127.0.0.1:7100/acd1ac21dac12dac12dac12dac1d2ac1d2ac1d2a.json'
}bundle
Bundle is a piece of bundled javascript or css content.
Contributing
The contribution process is as follows:
- Fork this repository.
- Make your changes as desired.
- Run the tests using
npm test. This will also check to ensure that 100% code coverage is maintained. If not you may need to add additional tests. - Stage your changes.
- Run
git commitor, if you are not familiar with semantic commit messages, please runnpm run cmand follow the prompts instead which will help you write a correct semantic commit message. - Push your changes and submit a PR.
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
10 years ago