mirror of
https://github.com/TryGhost/Ghost.git
synced 2025-02-10 23:36:14 -05:00
build member-attribution.js at build time
This commit is contained in:
parent
cb8a176cdb
commit
4a9f2305f6
8 changed files with 6 additions and 65 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -123,7 +123,7 @@ test/functional/*.png
|
||||||
/ghost/core/core/built
|
/ghost/core/core/built
|
||||||
/ghost/core/core/frontend/public/ghost.min.css
|
/ghost/core/core/frontend/public/ghost.min.css
|
||||||
/ghost/core/core/frontend/public/comment-counts.min.js
|
/ghost/core/core/frontend/public/comment-counts.min.js
|
||||||
|
/ghost/core/core/frontend/public/member-attribution.min.js
|
||||||
# Caddyfile - for local development with ssl + caddy
|
# Caddyfile - for local development with ssl + caddy
|
||||||
Caddyfile
|
Caddyfile
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,7 @@ const logging = require('@tryghost/logging');
|
||||||
const tpl = require('@tryghost/tpl');
|
const tpl = require('@tryghost/tpl');
|
||||||
const themeEngine = require('./frontend/services/theme-engine');
|
const themeEngine = require('./frontend/services/theme-engine');
|
||||||
const appService = require('./frontend/services/apps');
|
const appService = require('./frontend/services/apps');
|
||||||
const {adminAuthAssets, cardAssets, memberAttributionAssets} = require('./frontend/services/assets-minification');
|
const {adminAuthAssets, cardAssets} = require('./frontend/services/assets-minification');
|
||||||
const routerManager = require('./frontend/services/routing').routerManager;
|
const routerManager = require('./frontend/services/routing').routerManager;
|
||||||
const settingsCache = require('./shared/settings-cache');
|
const settingsCache = require('./shared/settings-cache');
|
||||||
const urlService = require('./server/services/url');
|
const urlService = require('./server/services/url');
|
||||||
|
@ -73,7 +73,6 @@ class Bridge {
|
||||||
// TODO: is this in the right place?
|
// TODO: is this in the right place?
|
||||||
// rebuild asset files
|
// rebuild asset files
|
||||||
adminAuthAssets.invalidate();
|
adminAuthAssets.invalidate();
|
||||||
memberAttributionAssets.invalidate();
|
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
logging.error(new errors.InternalServerError({
|
logging.error(new errors.InternalServerError({
|
||||||
message: tpl(messages.activateFailed, {theme: loadedTheme.name}),
|
message: tpl(messages.activateFailed, {theme: loadedTheme.name}),
|
||||||
|
|
|
@ -1,45 +0,0 @@
|
||||||
const Minifier = require('@tryghost/minifier');
|
|
||||||
const path = require('path');
|
|
||||||
const config = require('../../../shared/config');
|
|
||||||
const AssetsMinificationBase = require('./AssetsMinificationBase');
|
|
||||||
|
|
||||||
module.exports = class MemberAttributionAssets extends AssetsMinificationBase {
|
|
||||||
constructor(options = {}) {
|
|
||||||
super(options);
|
|
||||||
|
|
||||||
/** @private */
|
|
||||||
this.src = options.src || path.join(config.get('paths').assetSrc, 'member-attribution');
|
|
||||||
/** @private */
|
|
||||||
this.dest = options.dest || config.getContentPath('public');
|
|
||||||
|
|
||||||
this.minifier = new Minifier({src: this.src, dest: this.dest});
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @override
|
|
||||||
*/
|
|
||||||
generateGlobs() {
|
|
||||||
return {
|
|
||||||
'member-attribution.min.js': '*.js'
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @private
|
|
||||||
*/
|
|
||||||
generateReplacements() {
|
|
||||||
return {};
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Minify, move into the destination directory, and clear existing asset files.
|
|
||||||
*
|
|
||||||
* @override
|
|
||||||
* @returns {Promise<void>}
|
|
||||||
*/
|
|
||||||
async load() {
|
|
||||||
const globs = this.generateGlobs();
|
|
||||||
const replacements = this.generateReplacements();
|
|
||||||
await this.minify(globs, {replacements});
|
|
||||||
}
|
|
||||||
};
|
|
|
@ -1,13 +1,10 @@
|
||||||
const AdminAuthAssets = require('./AdminAuthAssets');
|
const AdminAuthAssets = require('./AdminAuthAssets');
|
||||||
const CardAssets = require('./CardAssets');
|
const CardAssets = require('./CardAssets');
|
||||||
const MemberAttributionAssets = require('./MemberAttributionAssets');
|
|
||||||
|
|
||||||
const adminAuthAssets = new AdminAuthAssets();
|
const adminAuthAssets = new AdminAuthAssets();
|
||||||
const cardAssets = new CardAssets();
|
const cardAssets = new CardAssets();
|
||||||
const memberAttributionAssets = new MemberAttributionAssets();
|
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
adminAuthAssets,
|
adminAuthAssets,
|
||||||
cardAssets,
|
cardAssets
|
||||||
memberAttributionAssets
|
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,10 +0,0 @@
|
||||||
{
|
|
||||||
"extends": "../../../../.eslintrc.js",
|
|
||||||
"env": {
|
|
||||||
"browser": true,
|
|
||||||
"node": false
|
|
||||||
},
|
|
||||||
"rules": {
|
|
||||||
"no-console": "off"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -16,7 +16,7 @@ const membersService = require('../../server/services/members');
|
||||||
const offersService = require('../../server/services/offers');
|
const offersService = require('../../server/services/offers');
|
||||||
const customRedirects = require('../../server/services/custom-redirects');
|
const customRedirects = require('../../server/services/custom-redirects');
|
||||||
const linkRedirects = require('../../server/services/link-redirection');
|
const linkRedirects = require('../../server/services/link-redirection');
|
||||||
const {cardAssets, memberAttributionAssets} = require('../services/assets-minification');
|
const {cardAssets} = require('../services/assets-minification');
|
||||||
const siteRoutes = require('./routes');
|
const siteRoutes = require('./routes');
|
||||||
const shared = require('../../server/web/shared');
|
const shared = require('../../server/web/shared');
|
||||||
const errorHandler = require('@tryghost/mw-error-handler');
|
const errorHandler = require('@tryghost/mw-error-handler');
|
||||||
|
@ -80,7 +80,7 @@ module.exports = function setupSiteApp(routerConfig) {
|
||||||
siteApp.use(mw.servePublicFile('static', 'public/comment-counts.min.js', 'application/javascript', config.get('caching:publicAssets:maxAge')));
|
siteApp.use(mw.servePublicFile('static', 'public/comment-counts.min.js', 'application/javascript', config.get('caching:publicAssets:maxAge')));
|
||||||
|
|
||||||
// Member attribution
|
// Member attribution
|
||||||
siteApp.use(memberAttributionAssets.serveMiddleware(), mw.servePublicFile('built', 'public/member-attribution.min.js', 'application/javascript', config.get('caching:publicAssets:maxAge')));
|
siteApp.use(mw.servePublicFile('static', 'public/member-attribution.min.js', 'application/javascript', config.get('caching:publicAssets:maxAge')));
|
||||||
|
|
||||||
// Serve site images using the storage adapter
|
// Serve site images using the storage adapter
|
||||||
siteApp.use(STATIC_IMAGE_URL_PREFIX, mw.handleImageSizes, storage.getStorage('images').serve());
|
siteApp.use(STATIC_IMAGE_URL_PREFIX, mw.handleImageSizes, storage.getStorage('images').serve());
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
"archive": "npm pack",
|
"archive": "npm pack",
|
||||||
"dev": "node --watch index.js",
|
"dev": "node --watch index.js",
|
||||||
"build:assets:css": "postcss core/frontend/public/ghost.css --no-map --use cssnano -o core/frontend/public/ghost.min.css",
|
"build:assets:css": "postcss core/frontend/public/ghost.css --no-map --use cssnano -o core/frontend/public/ghost.min.css",
|
||||||
"build:assets:js": "../minifier/bin/minify core/frontend/public/comment-counts.js core/frontend/public/comment-counts.min.js",
|
"build:assets:js": "../minifier/bin/minify core/frontend/public/comment-counts.js core/frontend/public/comment-counts.min.js && ../minifier/bin/minify core/frontend/public/member-attribution.js core/frontend/public/member-attribution.min.js",
|
||||||
"build:assets": "yarn build:assets:css && yarn build:assets:js",
|
"build:assets": "yarn build:assets:css && yarn build:assets:js",
|
||||||
"test": "yarn test:unit",
|
"test": "yarn test:unit",
|
||||||
"test:base": "mocha --reporter dot --require=./test/utils/overrides.js --exit --trace-warnings --recursive --extension=test.js",
|
"test:base": "mocha --reporter dot --require=./test/utils/overrides.js --exit --trace-warnings --recursive --extension=test.js",
|
||||||
|
|
Loading…
Add table
Reference in a new issue