text-dep

0.2.2 • Public • Published

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
  1. sourceDir must point to where your js/css/txt/etc... files will be.
  2. This path must be relative to settings.yml path.
  3. port defines where the HTTP server will be listening for requests.
  4. 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 load my-file.css, subdir/other-file.css and all their dependencies (as defined in dependencies.yml) concatened in one response.

Have Questions?

Please, if you have any questions, suggestions, doubts, etc.. Don't hesitate to open issues.

Thanks!

Package Sidebar

Install

npm i text-dep

Weekly Downloads

2

Version

0.2.2

License

ISC

Unpacked Size

9.35 kB

Total Files

4

Last publish

Collaborators

  • gcsboss