diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index c4e4b8b..0000000 --- a/.gitmodules +++ /dev/null @@ -1,6 +0,0 @@ -[submodule "gmusicprocurator/static/vendor/aurora.js"] - path = gmusicprocurator/static/vendor/aurora.js - url = https://github.com/audiocogs/aurora.js.git -[submodule "gmusicprocurator/static/vendor/mp3.js"] - path = gmusicprocurator/static/vendor/mp3.js - url = https://github.com/audiocogs/mp3.js.git diff --git a/INSTALL.rst b/INSTALL.rst index 6481b77..55e1c0a 100644 --- a/INSTALL.rst +++ b/INSTALL.rst @@ -21,7 +21,7 @@ Frontend * Bower (``npm install -g bower``) * CoffeeScript (``npm install -g coffee-script``) * UglifyJS2 (``npm install -g uglify-js``) -* importer (``npm install -g importer``) +* Browserify and related dependencies (``npm install -g browserify coffeeify browserify-shim``) .. _libsass-python: http://dahlia.kr/libsass-python/ .. _Sass: http://sass-lang.com/ diff --git a/bower.json b/bower.json index 9172e85..c28ce79 100644 --- a/bower.json +++ b/bower.json @@ -26,6 +26,8 @@ "normalize-css": "~3.0.1", "lodash": "~2.4.1", "backbone.localstorage": "~1.1.7", - "html5-desktop-notifications": "malept/HTML5-Desktop-Notifications#firefox-mobile" + "html5-desktop-notifications": "malept/HTML5-Desktop-Notifications#firefox-mobile", + "aurora.js": "malept/aurora.js#global-browserify", + "mp3.js": "audiocogs/mp3.js#~0.1.0" } } diff --git a/gmusicprocurator/assets.py b/gmusicprocurator/assets.py index 1e4dec4..3575e06 100644 --- a/gmusicprocurator/assets.py +++ b/gmusicprocurator/assets.py @@ -52,33 +52,38 @@ def input(self, _in, out, **kw): register_filter(LibSassFilter) -class ImporterFilter(ExternalTool): +class BrowserifyFilter(ExternalTool): """ - webassets_ filter for Importer_. + webassets_ filter for Browserify_. .. _webassets: https://webassets.readthedocs.org/ - .. _Importer: https://github.com/devongovett/importer + .. _Browserify: http://browserify.org """ - name = 'importer_js' + name = 'browserify' method = 'open' options = { - 'binary': 'IMPORTERJS_BIN', - 'extra_args': 'IMPORTERJS_EXTRA_ARGS', + 'binary': 'BROWSERIFY_BIN', + 'coffeescript': 'BROWSERIFY_COFFEESCRIPT', + 'extra_args': 'BROWSERIFY_EXTRA_ARGS', } def setup(self): - """Set up Importer CLI args.""" + """Set up Browserify CLI args.""" self.argv = [ - self.binary or 'importer', + self.binary or 'browserify', '{1}', # source_path + '-o', '{{output}}', ] + if self.coffeescript: + self.argv.extend(['--transform', 'coffeeify', + '--extension', '.coffee']) if self.extra_args: self.argv.extend(self.extra_args) -register_filter(ImporterFilter) +register_filter(BrowserifyFilter) def bundlify(fmt, modules, **kwargs): @@ -105,9 +110,12 @@ def bundlify(fmt, modules, **kwargs): output='all.min.css') assets.register('css', css) -aurora = Bundle('vendor/aurora.js/browser_slim.coffee', filters='importer_js', +aurora_b_ify = BrowserifyFilter(coffeescript=True, + extra_args=['--standalone', 'AV']) +aurora = Bundle('vendor/aurora.js/browser_slim.coffee', filters=aurora_b_ify, output='vendor/aurora.built.js') -mp3 = Bundle('vendor/mp3.js/mp3.js', filters='importer_js', +mp3_b_ify = BrowserifyFilter(extra_args=['--transform', 'browserify-shim']) +mp3 = Bundle('vendor/mp3.js/index.js', filters=mp3_b_ify, output='vendor/mp3.built.js') aurora_mp3 = Bundle(aurora, mp3, filters='uglifyjs', output='auroramp3.min.js') assets.register('aurora_mp3', aurora_mp3) diff --git a/salt/roots/assets.sls b/salt/roots/assets.sls index f87c026..aa610f3 100644 --- a/salt/roots/assets.sls +++ b/salt/roots/assets.sls @@ -2,8 +2,10 @@ assets-deps: npm.installed: - names: - bower + - browserify + - browserify-shim + - coffeeify - coffee-script - - importer - uglify-js gem.installed: - names: