mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-12-21 01:41:46 +03:00
9eef2616e4
closes #6102 - removes the `xregexp` dependency - pulls in the non-alphnumeric unicode list directly from the XRegExp library to ensure the word count helper still takes into account unicode strings The XRegExp dependency was breaking as new browsers add more es6 support as evidenced in #6102. Upgrading to version 3.1.0 fixed the Chrome "experimental JS" issue but was still broken in Safari Technology Preview. We only use one feature of `XRegExp` in a single place for a relatively non-critical feature: calculating the word count. As such I figured it may be better to drop the 63KB minified dependency and simply copy the result of the compiled regex directly until such time as XRegExp has native support in our supported browsers.
86 lines
3.5 KiB
JavaScript
86 lines
3.5 KiB
JavaScript
/* jscs:disable */
|
|
/* global require, module */
|
|
|
|
var EmberApp = require('ember-cli/lib/broccoli/ember-app'),
|
|
environment = EmberApp.env(),
|
|
isProduction = environment === 'production',
|
|
mythCompress = isProduction || environment === 'test',
|
|
disabled = {enabled: false},
|
|
assetLocation;
|
|
|
|
assetLocation = function (fileName) {
|
|
if (isProduction) {
|
|
fileName = fileName.replace('.', '.min.');
|
|
}
|
|
return '/assets/' + fileName;
|
|
};
|
|
|
|
module.exports = function (defaults) {
|
|
var app = new EmberApp(defaults, {
|
|
babel: {
|
|
optional: ['es6.spec.symbols'],
|
|
includePolyfill: true
|
|
},
|
|
outputPaths: {
|
|
app: {
|
|
js: assetLocation('ghost.js')
|
|
},
|
|
vendor: {
|
|
js: assetLocation('vendor.js'),
|
|
css: assetLocation('vendor.css')
|
|
}
|
|
},
|
|
mythOptions: {
|
|
source: './app/styles/app.css',
|
|
inputFile: 'app.css',
|
|
browsers: 'last 2 versions',
|
|
// @TODO: enable sourcemaps for development without including them in the release
|
|
sourcemap: false,
|
|
compress: mythCompress,
|
|
outputFile: isProduction ? 'ghost.min.css' : 'ghost.css'
|
|
},
|
|
hinting: false,
|
|
fingerprint: disabled,
|
|
'ember-cli-selectize': {
|
|
theme: false
|
|
}
|
|
});
|
|
|
|
// 'dem Scripts
|
|
app.import('bower_components/validator-js/validator.js');
|
|
app.import('bower_components/rangyinputs/rangyinputs-jquery-src.js');
|
|
app.import('bower_components/showdown-ghost/src/showdown.js');
|
|
app.import('bower_components/showdown-ghost/src/extensions/ghostgfm.js');
|
|
app.import('bower_components/showdown-ghost/src/extensions/ghostimagepreview.js');
|
|
app.import('bower_components/showdown-ghost/src/extensions/footnotes.js');
|
|
app.import('bower_components/showdown-ghost/src/extensions/highlight.js');
|
|
app.import('bower_components/moment/moment.js');
|
|
app.import('bower_components/keymaster/keymaster.js');
|
|
app.import('bower_components/devicejs/lib/device.js');
|
|
app.import('bower_components/jquery-ui/jquery-ui.js');
|
|
app.import('bower_components/jquery-file-upload/js/jquery.fileupload.js');
|
|
app.import('bower_components/blueimp-load-image/js/load-image.all.min.js');
|
|
app.import('bower_components/jquery-file-upload/js/jquery.fileupload-process.js');
|
|
app.import('bower_components/jquery-file-upload/js/jquery.fileupload-image.js');
|
|
app.import('bower_components/google-caja/html-css-sanitizer-bundle.js');
|
|
app.import('bower_components/jqueryui-touch-punch/jquery.ui.touch-punch.js');
|
|
app.import('bower_components/codemirror/lib/codemirror.js');
|
|
app.import('bower_components/codemirror/mode/htmlmixed/htmlmixed.js');
|
|
app.import('bower_components/codemirror/mode/xml/xml.js');
|
|
app.import('bower_components/codemirror/mode/css/css.js');
|
|
app.import('bower_components/codemirror/mode/javascript/javascript.js');
|
|
app.import('bower_components/password-generator/lib/password-generator.js');
|
|
app.import('bower_components/blueimp-md5/js/md5.js');
|
|
|
|
if (app.env === 'test') {
|
|
app.import(app.bowerDirectory + '/jquery.simulate.drag-sortable/jquery.simulate.drag-sortable.js', {type: 'test'});
|
|
app.import(app.bowerDirectory + '/jquery-deparam/jquery-deparam.js', {type: 'test'});
|
|
}
|
|
|
|
// 'dem Styles
|
|
app.import('bower_components/codemirror/lib/codemirror.css');
|
|
app.import('bower_components/codemirror/theme/xq-light.css');
|
|
|
|
return app.toTree();
|
|
};
|