Skip to main content

Auto build JS files using Pyinotify to help during development of JS in projects

Project description

jsautobuild documentation
==========================

This is meant to be used to help you write your own watching js builder
script. It provides the hooks and the pyinotify inclusion. You can tweak it to
your own specific application as required.

Usage
------
You need to build a simple script to use the builder. Below is an example
script that helps copy changed JS files to a build directory.

::

import os

from jsautobuild import YUIBuilder


def lp_path_builder(changed_path, **builder_props):
"""The custom bit of LP code that determines where files get moved to"""
# to start out let's assume your CWD is where we're referencing things from
CWD = os.getcwd()
JSDIR = os.path.join(CWD, builder_props['build_dir'])
RENAME = re.compile("^.*lib/lp/(.*)/javascript")

match = RENAME.search(changed_path)
js_dir = match.groups()[0]
return os.path.join(JSDIR, RENAME.sub(js_dir, changed_path))


if __name__ == "__main__":
build_dir = 'build/js/lp'
meta_name = 'LP_MODULES'
watch_dir = 'lib'

builder = YUIBuilder(lp_path_builder,
build_dir,
watch_dir=watch_dir,
meta_jsmodule=meta_name)

builder.run()

Options
-------
:build_callable:
You need a function that will accept the filename of the JS file that has
changed, and then return back the proper location of that file in the build
directory.

:build_dir:
What is the root directory all build files are heading to. This is also used
for the meta.js generate code. It'll build a list of all modules in this build
directory.

:meta_jsmodule:
What is the Javascript global variable name you want the meta file to be
generated to. You'll use this in your own application to feed the module list
to the YUI combo loader.

:update_metajs:
**default True**
Should we rebuild the meta.js whenever a new .js file is created.

:watch_dir:
**default .**
This is the directory that is watched for all file changes and triggers the
build of js files. By default it'll watch the current working directory and
anything below that.


.. This is your project NEWS file which will contain the release notes.
.. Example: http://www.python.org/download/releases/2.6/NEWS.txt
.. The content of this file, along with README.rst, will appear in your
.. project's PyPI page.

News
====

0.2
---
*Release date: 28-Feb-2012

* Fix the requirements in setup.py


0.1
---

*Release date: 27-Feb-2012*

* Start the project to help build a JS auto building watcher.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jsautobuild-0.2.tar.gz (4.2 kB view details)

Uploaded Source

File details

Details for the file jsautobuild-0.2.tar.gz.

File metadata

  • Download URL: jsautobuild-0.2.tar.gz
  • Upload date:
  • Size: 4.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for jsautobuild-0.2.tar.gz
Algorithm Hash digest
SHA256 720256357eb4e282b539ea8ab803fe770ba3cf65911b71b53e120f4981a6ecd0
MD5 7cca44f2085727a7732909b3a08ee0bd
BLAKE2b-256 ff2350390d61ca1dda2a12bd60831ad3a63a98dccea16494969285a705c7250b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page