Skip to content

Commit d0caeb5

Browse files
committed
Merge branch 'release/1.0.9'
2 parents 57915b8 + 309eea5 commit d0caeb5

21 files changed

+9704
-2986
lines changed

.github/workflows/node.js.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ jobs:
1010
strategy:
1111
fail-fast: true
1212
matrix:
13-
node-version: [12.x, 14.x, 15.x]
13+
node-version: [12.x, 14.x, 15.x, 16.x]
1414
steps:
1515
- uses: actions/checkout@v2
1616
- name: Use Node.js ${{ matrix.node-version }}

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ node_modules/
33
yarn-error.log
44
npm-debug.log
55
coverage/
6-
src/__tests__/test_critical.min.css
6+
src/__tests__/**/test_*
77

88
# MISC FILES
99
.cache

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
All notable changes to this project will be documented in this file.
44

5+
## 1.0.9 - 2022.09.13
6+
### Added
7+
* Added support for `inline: true` via ([#5](https://github.com/nystudio107/rollup-plugin-critical/pull/5))
8+
59
## 1.0.8 - 2021.10.15
610
### Changed
711
* Switched to `critical` `^4.0.0` ([#2](https://github.com/nystudio107/rollup-plugin-critical/issues/2))

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
ARG TAG=14-alpine
1+
ARG TAG=16-alpine
22
FROM nystudio107/node-dev-base:$TAG
33

44
WORKDIR /app/

Makefile

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
TAG?=14-alpine
1+
TAG?=16-alpine
22
CONTAINER?=$(shell basename $(CURDIR))
33
DOCKERRUN=docker container run \
44
--name ${CONTAINER} \
@@ -7,23 +7,36 @@ DOCKERRUN=docker container run \
77
-v `pwd`:/app \
88
${CONTAINER}:${TAG}
99

10-
.PHONY: docker build install test update npm
10+
.PHONY: docker build clean install test update npm
1111

12+
# Build the Docker container
1213
docker:
1314
docker build \
1415
. \
1516
-t ${CONTAINER}:${TAG} \
1617
--build-arg TAG=${TAG} \
1718
--no-cache
19+
# Perform a dist build
1820
build: docker install update
1921
${DOCKERRUN} \
2022
run build
23+
# Remove node_modules/ & package-lock.json
24+
clean:
25+
rm -rf node_modules/
26+
rm -f package-lock.json
27+
# Run npm install
2128
install: docker
2229
${DOCKERRUN} \
2330
install
31+
# Perform a dist build, then run npm publish
32+
publish: docker build
33+
${DOCKERRUN} \
34+
publish
35+
# Run tests via npm run test
2436
test: docker install
2537
${DOCKERRUN} \
2638
run test
39+
# Run npm update
2740
update: docker
2841
${DOCKERRUN} \
2942
update

dist/index.js

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/index.js.map

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/index.mjs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,13 +36,13 @@ function PluginCritical(pluginConfig, callback) {
3636
for (const page of pluginConfig.criticalPages) {
3737
const criticalBase = pluginConfig.criticalBase;
3838
const criticalSrc = pluginConfig.criticalUrl + page.uri;
39-
const criticalDest = page.template + criticalSuffix;
39+
const criticalTarget = pluginConfig.criticalConfig && pluginConfig.criticalConfig.inline == true ? page.template + ".html" : page.template + criticalSuffix;
4040
const options = Object.assign({ css }, defaultCriticalConfig, {
4141
base: criticalBase,
4242
src: criticalSrc,
43-
target: criticalDest
43+
target: criticalTarget
4444
}, pluginConfig.criticalConfig);
45-
console.log(`Generating critical CSS from ${criticalSrc} to ${criticalDest}`);
45+
console.log(`Generating critical CSS from ${criticalSrc} to ${criticalTarget}`);
4646
await critical.generate(options, (err) => {
4747
if (err) {
4848
console.error(err);

dist/index.mjs.map

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"version": 3,
33
"sources": ["../src/index.ts"],
4-
"sourcesContent": ["import {Plugin} from 'rollup';\nimport path from 'path';\nimport { CriticalConfig } from './@types/critical';\nimport { CriticalPluginConfig } from './@types/rollup-plugin-critical';\nconst critical = require('critical');\n\nconst criticalSuffix = '_critical.min.css';\n\n/**\n * Default `criticalConfig` passed in to `critical`\n */\nconst defaultCriticalConfig: Partial<CriticalConfig> = {\n inline: false,\n extract: false,\n width: 1200,\n height: 1200,\n penthouse: {\n blockJSRequests: false\n }\n};\n\n/**\n * [Vite.js](https://vitejs.dev/) & [Rollup](https://rollupjs.org/) plugin for generating critical CSS\n * that uses the [critical](https://github.com/addyosmani/critical) generator under the hood.\n *\n * @param {CriticalPluginConfig} pluginConfig - the plugin configuration object\n * @param {Function} callback - callback upon completion of the critical CSS generation\n * @constructor\n */\nfunction PluginCritical(pluginConfig: CriticalPluginConfig, callback?: Function): Plugin {\n return {\n name: 'critical',\n async writeBundle(outputOptions, bundle) {\n const css: Array<string> = [];\n // Find all of the generated CSS assets\n for (const chunk of Object.values(bundle)) {\n if (chunk.type === 'asset' && chunk.fileName.endsWith('.css')) {\n const cssFile = path.join(outputOptions.dir || '', chunk.fileName);\n css.push(cssFile);\n }\n }\n // If we have no CSS, skip bundle\n if (!css.length) {\n return;\n }\n // Iterate through the pages\n for (const page of pluginConfig.criticalPages) {\n const criticalBase = pluginConfig.criticalBase;\n const criticalSrc = pluginConfig.criticalUrl + page.uri;\n const criticalDest = page.template + criticalSuffix;\n // Merge in our options\n const options = Object.assign(\n { css },\n defaultCriticalConfig,\n {\n base: criticalBase,\n src: criticalSrc,\n target: criticalDest,\n },\n pluginConfig.criticalConfig\n );\n // Generate the Critical CSS\n console.log(`Generating critical CSS from ${criticalSrc} to ${criticalDest}`);\n await critical.generate(options, (err: string) => {\n if (err) {\n console.error(err);\n }\n if (callback) {\n callback(err);\n }\n });\n }\n }\n }\n}\n\nexport default PluginCritical;\n"],
5-
"mappings": ";;;;;;;;;AACA;AAGA,IAAM,WAAW,UAAQ;AAEzB,IAAM,iBAAiB;AAKvB,IAAM,wBAAiD;AAAA,EACrD,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,WAAW;AAAA,IACT,iBAAiB;AAAA;AAAA;AAYrB,wBAAwB,cAAoC,UAA6B;AACvF,SAAO;AAAA,IACL,MAAM;AAAA,UACA,YAAY,eAAe,QAAQ;AACvC,YAAM,MAAqB;AAE3B,iBAAW,SAAS,OAAO,OAAO,SAAS;AACzC,YAAI,MAAM,SAAS,WAAW,MAAM,SAAS,SAAS,SAAS;AAC7D,gBAAM,UAAU,KAAK,KAAK,cAAc,OAAO,IAAI,MAAM;AACzD,cAAI,KAAK;AAAA;AAAA;AAIb,UAAI,CAAC,IAAI,QAAQ;AACf;AAAA;AAGF,iBAAW,QAAQ,aAAa,eAAe;AAC7C,cAAM,eAAe,aAAa;AAClC,cAAM,cAAc,aAAa,cAAc,KAAK;AACpD,cAAM,eAAe,KAAK,WAAW;AAErC,cAAM,UAAU,OAAO,OACnB,EAAE,OACF,uBACA;AAAA,UACE,MAAM;AAAA,UACN,KAAK;AAAA,UACL,QAAQ;AAAA,WAEV,aAAa;AAGjB,gBAAQ,IAAI,gCAAgC,kBAAkB;AAC9D,cAAM,SAAS,SAAS,SAAS,CAAC,QAAgB;AAChD,cAAI,KAAK;AACP,oBAAQ,MAAM;AAAA;AAEhB,cAAI,UAAU;AACZ,qBAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQrB,IAAO,cAAQ;",
4+
"sourcesContent": ["import {Plugin} from 'rollup';\nimport path from 'path';\nimport { CriticalConfig } from './@types/critical';\nimport { CriticalPluginConfig } from './@types/rollup-plugin-critical';\nconst critical = require('critical');\n\nconst criticalSuffix = '_critical.min.css';\n\n/**\n * Default `criticalConfig` passed in to `critical`\n */\nconst defaultCriticalConfig: Partial<CriticalConfig> = {\n inline: false,\n extract: false,\n width: 1200,\n height: 1200,\n penthouse: {\n blockJSRequests: false\n }\n};\n\n/**\n * [Vite.js](https://vitejs.dev/) & [Rollup](https://rollupjs.org/) plugin for generating critical CSS\n * that uses the [critical](https://github.com/addyosmani/critical) generator under the hood.\n *\n * @param {CriticalPluginConfig} pluginConfig - the plugin configuration object\n * @param {Function} callback - callback upon completion of the critical CSS generation\n * @constructor\n */\nfunction PluginCritical(pluginConfig: CriticalPluginConfig, callback?: Function): Plugin {\n return {\n name: 'critical',\n async writeBundle(outputOptions, bundle) {\n const css: Array<string> = [];\n // Find all of the generated CSS assets\n for (const chunk of Object.values(bundle)) {\n if (chunk.type === 'asset' && chunk.fileName.endsWith('.css')) {\n const cssFile = path.join(outputOptions.dir || '', chunk.fileName);\n css.push(cssFile);\n }\n }\n // If we have no CSS, skip bundle\n if (!css.length) {\n return;\n }\n // Iterate through the pages\n for (const page of pluginConfig.criticalPages) {\n const criticalBase = pluginConfig.criticalBase;\n const criticalSrc = pluginConfig.criticalUrl + page.uri;\n // If inline is set to true, use HTML as target, otherwise CSS with suffix\n const criticalTarget = (pluginConfig.criticalConfig && pluginConfig.criticalConfig.inline == true) ? page.template + \".html\" : page.template + criticalSuffix;\n // Merge in our options\n const options = Object.assign(\n { css },\n defaultCriticalConfig,\n {\n base: criticalBase,\n src: criticalSrc,\n target: criticalTarget,\n },\n pluginConfig.criticalConfig\n );\n // Generate the Critical CSS\n console.log(`Generating critical CSS from ${criticalSrc} to ${criticalTarget}`);\n await critical.generate(options, (err: string) => {\n if (err) {\n console.error(err);\n }\n if (callback) {\n callback(err);\n }\n });\n }\n }\n }\n}\n\nexport default PluginCritical;\n"],
5+
"mappings": ";;;;;;;;;AACA;AAGA,IAAM,WAAW,UAAQ;AAEzB,IAAM,iBAAiB;AAKvB,IAAM,wBAAiD;AAAA,EACrD,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,WAAW;AAAA,IACT,iBAAiB;AAAA;AAAA;AAYrB,wBAAwB,cAAoC,UAA6B;AACvF,SAAO;AAAA,IACL,MAAM;AAAA,UACA,YAAY,eAAe,QAAQ;AACvC,YAAM,MAAqB;AAE3B,iBAAW,SAAS,OAAO,OAAO,SAAS;AACzC,YAAI,MAAM,SAAS,WAAW,MAAM,SAAS,SAAS,SAAS;AAC7D,gBAAM,UAAU,KAAK,KAAK,cAAc,OAAO,IAAI,MAAM;AACzD,cAAI,KAAK;AAAA;AAAA;AAIb,UAAI,CAAC,IAAI,QAAQ;AACf;AAAA;AAGF,iBAAW,QAAQ,aAAa,eAAe;AAC7C,cAAM,eAAe,aAAa;AAClC,cAAM,cAAc,aAAa,cAAc,KAAK;AAEpD,cAAM,iBAAkB,aAAa,kBAAkB,aAAa,eAAe,UAAU,OAAQ,KAAK,WAAW,UAAU,KAAK,WAAW;AAE/I,cAAM,UAAU,OAAO,OACnB,EAAE,OACF,uBACA;AAAA,UACE,MAAM;AAAA,UACN,KAAK;AAAA,UACL,QAAQ;AAAA,WAEV,aAAa;AAGjB,gBAAQ,IAAI,gCAAgC,kBAAkB;AAC9D,cAAM,SAAS,SAAS,SAAS,CAAC,QAAgB;AAChD,cAAI,KAAK;AACP,oBAAQ,MAAM;AAAA;AAEhB,cAAI,UAAU;AACZ,qBAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQrB,IAAO,cAAQ;",
66
"names": []
77
}

0 commit comments

Comments
 (0)