1.0.0 • Published 6 years ago
ember-cli-link-pre v1.0.0
Ember CLI Link Pre
ember-cli-link-pre scans your index.html and looks for <link rel="stylesheet"> and
<script src="..."> tags then creates preconnect and preload links for those assets without
needing to be configured. Even better, this only happens when you ship to production! Plays nicely
with broccoli-asset-rev.
This addon uses broccoli-dom-filter behind the scenes and exposes an instance of jsdom.
Installation
ember install ember-cli-link-preConfiguration
It is possible to configure ember-cli-link-pre to manually inject link tags for either
preconnect or preload. If you have templates that use external assets that aren't part of your
Ember toolchain, you can configure this addon to inject the link tags you need.
Inside of your app's config/environment.js:
'use strict';
module.exports = function(environment) {
let ENV = {
['ember-cli-link-pre']: {
enabled: (environment === 'production'),
preconnect: [
'https://some.preconnect.link',
],
preload: [
'https://another.preload.link/neat-stylesheet.css',
'https://some.preload.link/fantastic-script.js',
],
},
};
return ENV;
};Documentation
config/environment.js ['ember-cli-link-pre'] object
enabled: (boolean) Enabled by default in production.preconnect: (string[] || { url: string, as?: ('script' || 'style'), crossdomain?: ('anonymous' || 'use-credentials') }) An array of URLs. Can be objects if you need to customize crossdomain behavior or if theasattribute cannot be determined from the URL.preload: (string[] || { url: string, as?: ('script' || 'style'), crossdomain?: ('anonymous' || 'use-credentials') }) An array of URLs. Can be objects if you need to customize crossdomain behavior or if theasattribute cannot be determined from the URL.files: (string[] || RegExp[] || Array<function(path: string):boolean>) An array of files that to be scanned by the addon for modification. Defaults toindex.html.processors: (Array<function(jsdom: JSDOM, { preconnect: Link[], preload: Link[] }):JSDOM>) An array of processors that modify any matchedfiles. Will always contain the built-in processor and will append anyprocessorcallbacks that are configured.
Tests
npm install
npm testLicense
This project is licensed under the MIT License.
1.0.0
6 years ago