text-dep
v0.2.2
Published
A text file dependency calculating merging HTTP server.
Downloads
9
Maintainers
Readme
text-dep
This is a dependency based, text file merging server where you wil define on which files a given, say js, file depends on, so that dependencies will be prepended to the requested file on response.
Obs.: Should not be used for binary files (though it usualy works).
Warning: This was only tested in Windows 10.
Warning: This IS NOT production ready.
Obs.: For commands, be sure to use an elevated console (admin rights).
Prerequisites
- You MUST be running Windows 10 or Linux (untested).
- You MUST have up to date Node JS installed.
- You MUST have up to date NPM installed.
- If running Windows 10, you must run the following command:
npm install --global --production windows-build-tools
. Obs.: It may fail sometimes. - If running Windows 10, you must ensure Phyton 2.7 (installed in the previous item) is in your Path.
Usage
Step 1
Create a YAML file with the name you want. I will call mine: settings.yml
(this one will be used in step 5).
Step 2
In settings.yml
, write the following content:
sourceDir: ./res
port: 8001
sourceDir
must point to where your js/css/txt/etc... files will be.- This path must be relative to
settings.yml
path.port
defines where the HTTP server will be listening for requests.defaultExt
can define a fallback file extension for when no one is found.
Step 3
In source directory, create a file named dependencies.yml
with the following content:
my-file.js:
- parent1.js
- subdir/parent2.js
Step 4
In source directory, create the following files:
// my-file.js
alert('my file running!');
// parent1.js
alert('parent1 running!');
// subdir/parent2.js
alert('parent2 running!');
Step 5
Install the server as a service with the following comands:
npm install -g text-dep
text-dep-service install my-project "/absolute/path/to/my/settings.yml"
Step 6
- On Windows, start the server running:
net start text-dep-my-project
on elevated shell. - On Debian/Ubuntu, start the server running:
sudo service text-dep-my-project start
.
Step 7
In your browser, get http://127.0.0.1:8001/js?my-file and done!
The query string can be composed of multiple entries delimited by &
. And the url path must be a file extension (such as js
).
Eg.:
example.com/css?my-file&subdir/other-file
This will loadmy-file.css
,subdir/other-file.css
and all their dependencies (as defined independencies.yml
) concatened in one response.
Have Questions?
Please, if you have any questions, suggestions, doubts, etc.. Don't hesitate to open issues.
Thanks!