diff --git a/.gitignore b/.gitignore index a03f8035e1..bf60f70f64 100644 --- a/.gitignore +++ b/.gitignore @@ -123,7 +123,7 @@ test/functional/*.png /ghost/core/core/built /ghost/core/core/frontend/public/ghost.min.css /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 diff --git a/ghost/core/core/bridge.js b/ghost/core/core/bridge.js index 6549a15f65..8dd3cf0001 100644 --- a/ghost/core/core/bridge.js +++ b/ghost/core/core/bridge.js @@ -16,7 +16,7 @@ const logging = require('@tryghost/logging'); const tpl = require('@tryghost/tpl'); const themeEngine = require('./frontend/services/theme-engine'); 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 settingsCache = require('./shared/settings-cache'); const urlService = require('./server/services/url'); @@ -73,7 +73,6 @@ class Bridge { // TODO: is this in the right place? // rebuild asset files adminAuthAssets.invalidate(); - memberAttributionAssets.invalidate(); } catch (err) { logging.error(new errors.InternalServerError({ message: tpl(messages.activateFailed, {theme: loadedTheme.name}), diff --git a/ghost/core/core/frontend/src/member-attribution/member-attribution.js b/ghost/core/core/frontend/public/member-attribution.js similarity index 100% rename from ghost/core/core/frontend/src/member-attribution/member-attribution.js rename to ghost/core/core/frontend/public/member-attribution.js diff --git a/ghost/core/core/frontend/services/assets-minification/MemberAttributionAssets.js b/ghost/core/core/frontend/services/assets-minification/MemberAttributionAssets.js deleted file mode 100644 index 33c11e937e..0000000000 --- a/ghost/core/core/frontend/services/assets-minification/MemberAttributionAssets.js +++ /dev/null @@ -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} - */ - async load() { - const globs = this.generateGlobs(); - const replacements = this.generateReplacements(); - await this.minify(globs, {replacements}); - } -}; diff --git a/ghost/core/core/frontend/services/assets-minification/index.js b/ghost/core/core/frontend/services/assets-minification/index.js index 611c9d4845..3a9e37f7a2 100644 --- a/ghost/core/core/frontend/services/assets-minification/index.js +++ b/ghost/core/core/frontend/services/assets-minification/index.js @@ -1,13 +1,10 @@ const AdminAuthAssets = require('./AdminAuthAssets'); const CardAssets = require('./CardAssets'); -const MemberAttributionAssets = require('./MemberAttributionAssets'); const adminAuthAssets = new AdminAuthAssets(); const cardAssets = new CardAssets(); -const memberAttributionAssets = new MemberAttributionAssets(); module.exports = { adminAuthAssets, - cardAssets, - memberAttributionAssets + cardAssets }; diff --git a/ghost/core/core/frontend/src/member-attribution/.eslintrc b/ghost/core/core/frontend/src/member-attribution/.eslintrc deleted file mode 100644 index 097425f5c3..0000000000 --- a/ghost/core/core/frontend/src/member-attribution/.eslintrc +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "../../../../.eslintrc.js", - "env": { - "browser": true, - "node": false - }, - "rules": { - "no-console": "off" - } -} diff --git a/ghost/core/core/frontend/web/site.js b/ghost/core/core/frontend/web/site.js index 934994ae2e..25b776c73b 100644 --- a/ghost/core/core/frontend/web/site.js +++ b/ghost/core/core/frontend/web/site.js @@ -16,7 +16,7 @@ const membersService = require('../../server/services/members'); const offersService = require('../../server/services/offers'); const customRedirects = require('../../server/services/custom-redirects'); 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 shared = require('../../server/web/shared'); 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'))); // 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 siteApp.use(STATIC_IMAGE_URL_PREFIX, mw.handleImageSizes, storage.getStorage('images').serve()); diff --git a/ghost/core/package.json b/ghost/core/package.json index c1173be8f1..af46f1f0f6 100644 --- a/ghost/core/package.json +++ b/ghost/core/package.json @@ -23,7 +23,7 @@ "archive": "npm pack", "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: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", "test": "yarn test:unit", "test:base": "mocha --reporter dot --require=./test/utils/overrides.js --exit --trace-warnings --recursive --extension=test.js",