diff --git a/Gruntfile.js b/Gruntfile.js index 68fe95d9fe..946c1fe6d0 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -4,6 +4,7 @@ var semver = require('semver'); var jasmineCfg = require('./lib/build/tasks/jasmine.js'); var shrinkwrapDependencies = require('./lib/build/tasks/shrinkwrap-dependencies.js'); var webpackTask = null; +var EDITOR_ASSETS_VERSION = require('./config/editor_assets_version.json').version; var REQUIRED_NODE_VERSION = '6.9.2'; var REQUIRED_NPM_VERSION = '3.10.9'; @@ -110,6 +111,7 @@ module.exports = function (grunt) { var PUBLIC_DIR = './public/'; var ROOT_ASSETS_DIR = './public/assets/'; var ASSETS_DIR = './public/assets/<%= pkg.version %>'; + var EDITOR_ASSETS_DIR = `./public/assets/editor/${EDITOR_ASSETS_VERSION}`; /** * this is being used by `grunt --environment=production release` @@ -138,6 +140,8 @@ module.exports = function (grunt) { public_dir: PUBLIC_DIR, assets_dir: ASSETS_DIR, + editor_assets_dir: EDITOR_ASSETS_DIR, + editor_assets_version: EDITOR_ASSETS_VERSION, root_assets_dir: ROOT_ASSETS_DIR, // Concat task @@ -387,6 +391,10 @@ module.exports = function (grunt) { 'invalidate' ]); + grunt.registerTask('release_editor_assets', 'builds & uploads editor assets', [ + 'build-editor' + ]); + grunt.registerTask('generate_builder_specs', 'Generate only builder specs', function (option) { requireWebpackTask().affected.call(this, option, grunt); }); diff --git a/config/editor_assets_version.json b/config/editor_assets_version.json new file mode 100644 index 0000000000..6e713f4910 --- /dev/null +++ b/config/editor_assets_version.json @@ -0,0 +1,3 @@ +{ + "version": "elsa" +} diff --git a/lib/build/files/css_files.js b/lib/build/files/css_files.js index 8f19f85c46..71d732fb77 100644 --- a/lib/build/files/css_files.js +++ b/lib/build/files/css_files.js @@ -1,129 +1,129 @@ var css_files; module.exports = css_files = { cdb: [ - '<%= assets_dir %>/stylesheets/map/leaflet.css', - '<%= assets_dir %>/stylesheets/vendor/cartodb.css' + '<%= editor_assets_dir %>/stylesheets/map/leaflet.css', + '<%= editor_assets_dir %>/stylesheets/vendor/cartodb.css' ], old_common: [ - '<%= assets_dir %>/stylesheets/old_common/**/*.css', - '<%= assets_dir %>/stylesheets/old_elements/**/*.css', - '<%= assets_dir %>/stylesheets/plugins/**/*.css', - '!<%= assets_dir %>/stylesheets/old_common/upload.css' + '<%= editor_assets_dir %>/stylesheets/old_common/**/*.css', + '<%= editor_assets_dir %>/stylesheets/old_elements/**/*.css', + '<%= editor_assets_dir %>/stylesheets/plugins/**/*.css', + '!<%= editor_assets_dir %>/stylesheets/old_common/upload.css' ], old_common_without_core: [ - '<%= assets_dir %>/stylesheets/old_common/**/*.css', - '<%= assets_dir %>/stylesheets/old_elements/**/*.css', - '<%= assets_dir %>/stylesheets/plugins/**/*.css', + '<%= editor_assets_dir %>/stylesheets/old_common/**/*.css', + '<%= editor_assets_dir %>/stylesheets/old_elements/**/*.css', + '<%= editor_assets_dir %>/stylesheets/plugins/**/*.css', // Core is replaced by a retrofitted set of styles, to make the old core styles work with new_common/default - '!<%= assets_dir %>/stylesheets/old_common/core.css', - '!<%= assets_dir %>/stylesheets/old_common/upload.css' + '!<%= editor_assets_dir %>/stylesheets/old_common/core.css', + '!<%= editor_assets_dir %>/stylesheets/old_common/upload.css' ], common: [ - '<%= assets_dir %>/stylesheets/old_common/video_player.css', - '<%= assets_dir %>/stylesheets/common/utilities.css', - '<%= assets_dir %>/stylesheets/common/icon-font-specials.css', - '<%= assets_dir %>/stylesheets/common/**/*.css', - '<%= assets_dir %>/stylesheets/cartoassets/entry.css', - '<%= assets_dir %>/stylesheets/client/**/*.css' + '<%= editor_assets_dir %>/stylesheets/old_common/video_player.css', + '<%= editor_assets_dir %>/stylesheets/common/utilities.css', + '<%= editor_assets_dir %>/stylesheets/common/icon-font-specials.css', + '<%= editor_assets_dir %>/stylesheets/common/**/*.css', + '<%= editor_assets_dir %>/stylesheets/cartoassets/entry.css', + '<%= editor_assets_dir %>/stylesheets/client/**/*.css' ], password_protected: [ - '<%= assets_dir %>/stylesheets/public/password_protected.css', - '<%= assets_dir %>/stylesheets/cartoassets/entry.css' + '<%= editor_assets_dir %>/stylesheets/public/password_protected.css', + '<%= editor_assets_dir %>/stylesheets/cartoassets/entry.css' ], public_dashboard: [ - '<%= assets_dir %>/stylesheets/public_dashboard/**/*.css', - '<%= assets_dir %>/stylesheets/public_map/public_map_buttons.css', - '<%= assets_dir %>/stylesheets/public_map/public_map_footer.css', - '<%= assets_dir %>/stylesheets/cartoassets/entry.css' + '<%= editor_assets_dir %>/stylesheets/public_dashboard/**/*.css', + '<%= editor_assets_dir %>/stylesheets/public_map/public_map_buttons.css', + '<%= editor_assets_dir %>/stylesheets/public_map/public_map_footer.css', + '<%= editor_assets_dir %>/stylesheets/cartoassets/entry.css' ], public_table: [ - '<%= assets_dir %>/stylesheets/table/table.css', - '<%= assets_dir %>/stylesheets/old_elements/modal.css', - '<%= assets_dir %>/stylesheets/old_elements/dialog_small_edit.css', - '<%= assets_dir %>/stylesheets/old_elements/dropdown.css', - '<%= assets_dir %>/stylesheets/public/public_map_wrapper.css', - '<%= assets_dir %>/stylesheets/public/public_table_wrapper.css', - '<%= assets_dir %>/stylesheets/public/public_map_data.css', - '<%= assets_dir %>/stylesheets/public/public_map_body.css', - '<%= assets_dir %>/stylesheets/public/public_map_info.css', - '<%= assets_dir %>/stylesheets/public/public_export.css', - '<%= assets_dir %>/stylesheets/public_table/**/*.css', - '<%= assets_dir %>/stylesheets/public/public_map_fullscreen.css', - '<%= assets_dir %>/stylesheets/map/**/*.css', - '<%= assets_dir %>/stylesheets/cartoassets/entry.css' + '<%= editor_assets_dir %>/stylesheets/table/table.css', + '<%= editor_assets_dir %>/stylesheets/old_elements/modal.css', + '<%= editor_assets_dir %>/stylesheets/old_elements/dialog_small_edit.css', + '<%= editor_assets_dir %>/stylesheets/old_elements/dropdown.css', + '<%= editor_assets_dir %>/stylesheets/public/public_map_wrapper.css', + '<%= editor_assets_dir %>/stylesheets/public/public_table_wrapper.css', + '<%= editor_assets_dir %>/stylesheets/public/public_map_data.css', + '<%= editor_assets_dir %>/stylesheets/public/public_map_body.css', + '<%= editor_assets_dir %>/stylesheets/public/public_map_info.css', + '<%= editor_assets_dir %>/stylesheets/public/public_export.css', + '<%= editor_assets_dir %>/stylesheets/public_table/**/*.css', + '<%= editor_assets_dir %>/stylesheets/public/public_map_fullscreen.css', + '<%= editor_assets_dir %>/stylesheets/map/**/*.css', + '<%= editor_assets_dir %>/stylesheets/cartoassets/entry.css' ], public_map: [ - '<%= assets_dir %>/stylesheets/public_map/**/*.css', - '<%= assets_dir %>/stylesheets/cartoassets/entry.css' + '<%= editor_assets_dir %>/stylesheets/public_map/**/*.css', + '<%= editor_assets_dir %>/stylesheets/cartoassets/entry.css' ], embed_map: [ - '<%= assets_dir %>/stylesheets/embed/**/*.css' + '<%= editor_assets_dir %>/stylesheets/embed/**/*.css' ], explore: [ - '<%= assets_dir %>/stylesheets/explore/**/*.css', - '<%= assets_dir %>/stylesheets/public_map/public_map_buttons.css', - '<%= assets_dir %>/stylesheets/public_map/public_map_footer.css', - '<%= assets_dir %>/stylesheets/cartoassets/entry.css' + '<%= editor_assets_dir %>/stylesheets/explore/**/*.css', + '<%= editor_assets_dir %>/stylesheets/public_map/public_map_buttons.css', + '<%= editor_assets_dir %>/stylesheets/public_map/public_map_footer.css', + '<%= editor_assets_dir %>/stylesheets/cartoassets/entry.css' ], user_feed: [ - '<%= assets_dir %>/stylesheets/user_feed/**/*.css' + '<%= editor_assets_dir %>/stylesheets/user_feed/**/*.css' ], leaflet: [ - '<%= assets_dir %>/stylesheets/map/leaflet.css' + '<%= editor_assets_dir %>/stylesheets/map/leaflet.css' ], map: [ - '<%= assets_dir %>/stylesheets/map/**/*.css' + '<%= editor_assets_dir %>/stylesheets/map/**/*.css' ], cartodb: [ - '<%= assets_dir %>/stylesheets/vendor/cartodb.css' + '<%= editor_assets_dir %>/stylesheets/vendor/cartodb.css' ], table: [ - '<%= assets_dir %>/stylesheets/vendor/codemirror.css', - '<%= assets_dir %>/stylesheets/vendor/show-hint.css', - '<%= assets_dir %>/stylesheets/vendor/cartodb.css', - '<%= assets_dir %>/stylesheets/table/**/*.css' + '<%= editor_assets_dir %>/stylesheets/vendor/codemirror.css', + '<%= editor_assets_dir %>/stylesheets/vendor/show-hint.css', + '<%= editor_assets_dir %>/stylesheets/vendor/cartodb.css', + '<%= editor_assets_dir %>/stylesheets/table/**/*.css' ], editor: [ - '<%= assets_dir %>/stylesheets/editor/core_retrofit.css', + '<%= editor_assets_dir %>/stylesheets/editor/core_retrofit.css', // From table bundle - '<%= assets_dir %>/stylesheets/vendor/codemirror.css', - '<%= assets_dir %>/stylesheets/vendor/show-hint.css', - '<%= assets_dir %>/stylesheets/table/**/*.css', + '<%= editor_assets_dir %>/stylesheets/vendor/codemirror.css', + '<%= editor_assets_dir %>/stylesheets/vendor/show-hint.css', + '<%= editor_assets_dir %>/stylesheets/table/**/*.css', // New styles - '<%= assets_dir %>/stylesheets/dashboard/delete-items.css', + '<%= editor_assets_dir %>/stylesheets/dashboard/delete-items.css', // Overrides for older styles, to work as expected with new_common/default - '<%= assets_dir %>/stylesheets/editor/**/*.css' + '<%= editor_assets_dir %>/stylesheets/editor/**/*.css' ], front: [ - '<%= assets_dir %>/stylesheets/front/*.css' + '<%= editor_assets_dir %>/stylesheets/front/*.css' ], deep_insights: [ - '<%= assets_dir %>/stylesheets/deep-insights/entry.css', - '<%= assets_dir %>/stylesheets/cartodbjs_v4/entry.css' + '<%= editor_assets_dir %>/stylesheets/deep-insights/entry.css', + '<%= editor_assets_dir %>/stylesheets/cartodbjs_v4/entry.css' ], api_keys: [ - '<%= assets_dir %>/stylesheets/api_keys/*.css' + '<%= editor_assets_dir %>/stylesheets/api_keys/*.css' ] }; diff --git a/lib/build/tasks/browserify.js b/lib/build/tasks/browserify.js index 61d81a1213..63f5021ceb 100644 --- a/lib/build/tasks/browserify.js +++ b/lib/build/tasks/browserify.js @@ -52,7 +52,7 @@ module.exports = { cfg[name] = { src: bundle.src, - dest: bundle.dest || ('<%= assets_dir %>/javascripts/' + name + '.js'), + dest: bundle.dest || ('<%= editor_assets_dir %>/javascripts/' + name + '.js'), options: options }; } diff --git a/lib/build/tasks/clean.js b/lib/build/tasks/clean.js index 9e49cc6fba..a175be45a0 100644 --- a/lib/build/tasks/clean.js +++ b/lib/build/tasks/clean.js @@ -12,7 +12,8 @@ exports.task = function () { '.sass-cache', 'tmp/sass', 'lib/build/app_config.js', - '<%= assets_dir %>' + '<%= assets_dir %>', + '<%= editor_assets_dir %>' ] }; }; diff --git a/lib/build/tasks/compass.js b/lib/build/tasks/compass.js index 6f59339bb5..ed8d69111b 100644 --- a/lib/build/tasks/compass.js +++ b/lib/build/tasks/compass.js @@ -10,14 +10,14 @@ exports.task = function () { 'tmp/sass/cartoassets' ], sassDir: 'tmp/sass/editor', - cssDir: '<%= assets_dir %>/stylesheets', - fontsDir: '<%= assets_dir %>/fonts', - httpFontsPath: '<%= env.http_path_prefix %>/assets/<%= pkg.version %>/fonts', + cssDir: '<%= editor_assets_dir %>/stylesheets', + fontsDir: '<%= editor_assets_dir %>/fonts', + httpFontsPath: '<%= env.http_path_prefix %>/editor/<%= editor_assets_version %>/fonts', imagesDir: 'app/assets/images/', - generatedImagesDir: '<%= assets_dir %>/images/', - httpImagesPath: '<%= env.http_path_prefix %>/assets/<%= pkg.version %>/images/', - httpGeneratedImagesPath: '<%= env.http_path_prefix %>/assets/<%= pkg.version %>/images/', + generatedImagesDir: '<%= editor_assets_dir %>/images/', + httpImagesPath: '<%= env.http_path_prefix %>/editor/<%= editor_assets_version %>/images/', + httpGeneratedImagesPath: '<%= env.http_path_prefix %>/editor/<%= editor_assets_version %>/images/', environment: 'production', outputStyle: 'compressed', diff --git a/lib/build/tasks/concat.js b/lib/build/tasks/concat.js index a56e0d5089..14d46912af 100644 --- a/lib/build/tasks/concat.js +++ b/lib/build/tasks/concat.js @@ -15,10 +15,10 @@ var srcToDestHash = function (files, basePath, fileExt) { exports.task = function () { return { js: { - files: srcToDestHash(require('../files/js_files'), '<%= assets_dir %>/javascripts/', '.js') + files: srcToDestHash(require('../files/js_files'), '<%= editor_assets_dir %>/javascripts/', '.js') }, css: { - files: srcToDestHash(require('../files/css_files'), '<%= assets_dir %>/stylesheets/', '.css') + files: srcToDestHash(require('../files/css_files'), '<%= editor_assets_dir %>/stylesheets/', '.css') } }; }; diff --git a/lib/build/tasks/copy.js b/lib/build/tasks/copy.js index 05ead57b74..8678472c4f 100644 --- a/lib/build/tasks/copy.js +++ b/lib/build/tasks/copy.js @@ -28,7 +28,7 @@ exports.task = function (grunt) { dot: true, cwd: 'node_modules/cartoassets/src/fonts', src: '**/*.*', - dest: '<%= assets_dir %>/fonts/' + dest: '<%= editor_assets_dir %>/fonts/' }, { expand: true, cwd: 'node_modules/cartoassets/src/scss/', @@ -56,7 +56,7 @@ exports.task = function (grunt) { expand: true, cwd: 'lib/assets/javascripts/cdb/themes/css/', src: ['cartodb.css'], - dest: '<%= assets_dir %>/stylesheets/tmp/embeds/', + dest: '<%= editor_assets_dir %>/stylesheets/tmp/embeds/', rename: function (dest, src) { return dest + src.replace(/\.css$/, '.scss'); } @@ -73,7 +73,7 @@ exports.task = function (grunt) { expand: true, cwd: 'app/assets/images/', src: ['**/*'], - dest: '<%= assets_dir %>/images/' + dest: '<%= editor_assets_dir %>/images/' }, { // Some images should be placed in a unversioned folder expand: true, @@ -85,37 +85,37 @@ exports.task = function (grunt) { expand: true, cwd: 'lib/assets/javascripts/cdb/themes/img/', src: ['**/*'], - dest: '<%= assets_dir %>/images/themes/' + dest: '<%= editor_assets_dir %>/images/themes/' }, { // Fonts expand: true, cwd: 'app/assets/fonts/', src: ['*.{svg,ttf,eot,woff,woff2}'], - dest: '<%= assets_dir %>/fonts/' + dest: '<%= editor_assets_dir %>/fonts/' }, { // Client fonts expand: true, cwd: 'app/assets/client/fonts/', src: ['*.{svg,ttf,eot,woff,woff2}'], - dest: '<%= assets_dir %>/fonts/' + dest: '<%= editor_assets_dir %>/fonts/' }, { // Flash expand: true, cwd: 'app/assets/flash/', src: ['**/*'], - dest: '<%= assets_dir %>/flash/' + dest: '<%= editor_assets_dir %>/flash/' }, { // Favicons expand: true, cwd: 'public/favicons/', src: ['**/*'], - dest: '<%= assets_dir %>/favicons/' + dest: '<%= editor_assets_dir %>/favicons/' }, { // Client favicons expand: true, cwd: 'app/assets/client/favicons/', src: ['**/*'], - dest: '<%= assets_dir %>/favicons/' + dest: '<%= editor_assets_dir %>/favicons/' }] }, @@ -178,9 +178,9 @@ exports.task = function (grunt) { js: { files: [{ expand: true, - cwd: '<%= assets_dir %>/javascripts/', + cwd: '<%= editor_assets_dir %>/javascripts/', src: ['**/*.js'], - dest: '<%= assets_dir %>/javascripts/', + dest: '<%= editor_assets_dir %>/javascripts/', rename: function (dest, src) { return dest + src.replace(/\.js$/, '.uncompressed.js'); } diff --git a/lib/build/tasks/exorcise.js b/lib/build/tasks/exorcise.js index 736409668b..7311d11645 100644 --- a/lib/build/tasks/exorcise.js +++ b/lib/build/tasks/exorcise.js @@ -17,7 +17,7 @@ exports.task = function () { for (var bundleName in browserifyBundles) { if (!_.contains(excludedBundles, bundleName)) { - var filePath = '<%= assets_dir %>/javascripts/' + bundleName + '.uncompressed.js'; + var filePath = '<%= editor_assets_dir %>/javascripts/' + bundleName + '.uncompressed.js'; files[filePath + '.map'] = filePath; } } diff --git a/lib/build/tasks/jasmine.js b/lib/build/tasks/jasmine.js index 9490c0eb1d..24a5b63304 100644 --- a/lib/build/tasks/jasmine.js +++ b/lib/build/tasks/jasmine.js @@ -23,8 +23,8 @@ module.exports = { cartodbui: { src: js_files.all.concat([ 'lib/build/user_data.js', - '<%= assets_dir %>/javascripts/templates_mustache.js', - '<%= assets_dir %>/javascripts/templates.js', + '<%= editor_assets_dir %>/javascripts/templates_mustache.js', + '<%= editor_assets_dir %>/javascripts/templates.js', 'lib/build/test_init.js']), options: { browser: 'phantomjs', diff --git a/lib/build/tasks/jst.js b/lib/build/tasks/jst.js index 767026a188..d9e50106e8 100644 --- a/lib/build/tasks/jst.js +++ b/lib/build/tasks/jst.js @@ -17,46 +17,46 @@ exports.task = function () { files: [ { src: jsFiles._templates, - dest: '<%= assets_dir %>/javascripts/templates.js' + dest: '<%= editor_assets_dir %>/javascripts/templates.js' }, { src: jsFiles._dashboard_templates, - dest: '<%= assets_dir %>/javascripts/dashboard_templates.js' + dest: '<%= editor_assets_dir %>/javascripts/dashboard_templates.js' }, { src: jsFiles._dashboard_templates_static, - dest: '<%= assets_dir %>/javascripts/dashboard_templates_static.js' + dest: '<%= editor_assets_dir %>/javascripts/dashboard_templates_static.js' }, { src: jsFiles._keys_templates, - dest: '<%= assets_dir %>/javascripts/keys_templates.js' + dest: '<%= editor_assets_dir %>/javascripts/keys_templates.js' }, { src: jsFiles._public_map_templates, - dest: '<%= assets_dir %>/javascripts/public_map_templates.js' + dest: '<%= editor_assets_dir %>/javascripts/public_map_templates.js' }, { src: jsFiles._public_map_templates_static, - dest: '<%= assets_dir %>/javascripts/public_map_templates_static.js' + dest: '<%= editor_assets_dir %>/javascripts/public_map_templates_static.js' }, { src: jsFiles._embed_map_templates_static, - dest: '<%= assets_dir %>/javascripts/embed_map_templates_static.js' + dest: '<%= editor_assets_dir %>/javascripts/embed_map_templates_static.js' }, { src: jsFiles._public_templates, - dest: '<%= assets_dir %>/javascripts/public_templates.js' + dest: '<%= editor_assets_dir %>/javascripts/public_templates.js' }, { src: jsFiles._profile_templates, - dest: '<%= assets_dir %>/javascripts/profile_templates.js' + dest: '<%= editor_assets_dir %>/javascripts/profile_templates.js' }, { src: jsFiles._account_templates, - dest: '<%= assets_dir %>/javascripts/account_templates.js' + dest: '<%= editor_assets_dir %>/javascripts/account_templates.js' }, { src: jsFiles._show_templates_static, - dest: '<%= assets_dir %>/javascripts/show_templates_static.js' + dest: '<%= editor_assets_dir %>/javascripts/show_templates_static.js' }, { src: jsFiles._organization_templates, - dest: '<%= assets_dir %>/javascripts/organization_templates.js' + dest: '<%= editor_assets_dir %>/javascripts/organization_templates.js' }, { src: jsFiles._mobile_apps_templates, - dest: '<%= assets_dir %>/javascripts/mobile_apps_templates.js' + dest: '<%= editor_assets_dir %>/javascripts/mobile_apps_templates.js' }, { src: jsFiles._confirmation_templates, - dest: '<%= assets_dir %>/javascripts/confirmation_templates.js' + dest: '<%= editor_assets_dir %>/javascripts/confirmation_templates.js' } ] }, @@ -76,7 +76,7 @@ exports.task = function () { }, files: [ { - '<%= assets_dir %>/javascripts/templates_mustache.js': jsFiles._templates_mustache + '<%= editor_assets_dir %>/javascripts/templates_mustache.js': jsFiles._templates_mustache } ] } diff --git a/lib/build/tasks/sass.js b/lib/build/tasks/sass.js index 0380efa551..e9a8551235 100644 --- a/lib/build/tasks/sass.js +++ b/lib/build/tasks/sass.js @@ -20,7 +20,7 @@ exports.task = function () { '**/*.scss', '!editor/**/*' ], - dest: '<%= assets_dir %>/stylesheets', + dest: '<%= editor_assets_dir %>/stylesheets', ext: '.css' }] } diff --git a/lib/build/tasks/uglify.js b/lib/build/tasks/uglify.js index 05cc71589b..17e3f20ae6 100644 --- a/lib/build/tasks/uglify.js +++ b/lib/build/tasks/uglify.js @@ -25,7 +25,7 @@ exports.task = function () { var f = files[i]; if (f[0] !== '_' && f !== 'all') { - js['<%= assets_dir %>/javascripts/' + f + '.js'] = ['<%= assets_dir %>/javascripts/' + f + '.uncompressed.js']; + js['<%= editor_assets_dir %>/javascripts/' + f + '.js'] = ['<%= editor_assets_dir %>/javascripts/' + f + '.uncompressed.js']; } } @@ -33,7 +33,7 @@ exports.task = function () { for (bundleName in jsBundles) { var src = jsBundles[bundleName]; if (bundleName[0] !== '_' && bundleName !== 'all') { - js['<%= assets_dir %>/javascripts/' + bundleName + '.js'] = src; + js['<%= editor_assets_dir %>/javascripts/' + bundleName + '.js'] = src; } } @@ -55,7 +55,7 @@ exports.task = function () { for (bundleName in browserifyBundles) { if (!_.contains(excludedBundles, bundleName)) { files = {}; - var basePath = '<%= assets_dir %>/javascripts/' + bundleName; + var basePath = '<%= editor_assets_dir %>/javascripts/' + bundleName; var filePath = basePath + '.uncompressed.js'; files[basePath + '.js'] = [filePath];