Skip to content

Commit 0edd820

Browse files
committed
v2.7.1
1 parent 2a3c216 commit 0edd820

File tree

9 files changed

+180
-232
lines changed

9 files changed

+180
-232
lines changed

CHANGELOG.md

+11
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,17 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
77

88
## [Unreleased]
99

10+
## [2.7.1]
11+
12+
### Fixed
13+
14+
* Exluded some irrelevant paths from test coverage
15+
16+
* `postcss-container-query`
17+
* `watch:build` package script to help development
18+
* testing build files
19+
* Fixed exports (#90)
20+
1021
## [2.7.0]
1122

1223
### Added

package.json

+11-1
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,11 @@
2020
"prettier": "^1.10.2"
2121
},
2222
"scripts": {
23-
"test": "lerna run flow && jest --coverage",
23+
"test": "jest --coverage",
2424
"coveralls": "cat ./coverage/lcov.info | coveralls",
2525
"watch:test": "jest --watch",
2626
"precommit": "lint-staged",
27+
"pretest": "lerna run flow && yarn run build",
2728
"prettify": "prettier --write 'packages/**/*.js'",
2829
"build": "lerna run build",
2930
"bootstrap": "lerna bootstrap"
@@ -33,5 +34,14 @@
3334
"prettier --write",
3435
"git add"
3536
]
37+
},
38+
"jest": {
39+
"coveragePathIgnorePatterns": [
40+
"/node_modules/",
41+
"postcss-container-query/dist/saveMeta.js",
42+
"container-query-meta-builder/dist",
43+
"container-query-meta-builder/src/test",
44+
"postcss-container-query/src/test"
45+
]
3646
}
3747
}

packages/postcss-container-query/package.json

+6-4
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,22 @@
11
{
22
"name": "@zeecoder/postcss-container-query",
3-
"description": "PostCSS processing for container queries, using a media query like syntax.",
3+
"description":
4+
"PostCSS processing for container queries, using a media query like syntax.",
45
"homepage": "https://github.com/ZeeCoder/container-query",
56
"license": "MIT",
67
"version": "2.7.0",
78
"author": "Viktor Hubert <[email protected]>",
89
"engines": {
910
"node": ">=4"
1011
},
11-
"main": "dist/bundle.cjs.js",
12+
"main": "dist/index.js",
1213
"browser": {
1314
"fs": false
1415
},
1516
"scripts": {
1617
"test": "yarn run flow && jest",
1718
"build": "rollup -c",
19+
"watch:build": "rollup -c --watch",
1820
"flow": "flow check",
1921
"prebuild": "yarn run flow",
2022
"prepublish": "yarn build"
@@ -28,8 +30,8 @@
2830
"jest": "^22.4.2",
2931
"rollup": "^0.56.2",
3032
"rollup-plugin-babel": "^3.0.2",
31-
"rollup-plugin-babili": "^3.1.0",
32-
"rollup-plugin-flow": "^1.1.1"
33+
"rollup-plugin-flow": "^1.1.1",
34+
"rollup-plugin-uglify": "^3.0.0"
3335
},
3436
"dependencies": {
3537
"@zeecoder/container-query-meta-builder": "^2.6.0",
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,31 @@
11
import flow from "rollup-plugin-flow";
22
import babel from "rollup-plugin-babel";
3-
import babili from "rollup-plugin-babili";
3+
import uglify from "rollup-plugin-uglify";
44
import fs from "fs";
55

6-
export default {
7-
input: "src/containerQuery.js",
8-
output: [{ file: "dist/bundle.cjs.js", format: "cjs" }],
9-
plugins: [flow(), babel(), babili()],
10-
external: ["postcss", "lodash/trim", "fs"]
11-
};
6+
const generate = ({ input, output }) => ({
7+
input,
8+
output: [{ file: output, format: "cjs" }],
9+
plugins: [flow(), babel(), uglify()],
10+
external: [
11+
"postcss",
12+
"lodash/trim",
13+
"fs",
14+
"@zeecoder/container-query-meta-builder"
15+
]
16+
});
17+
18+
export default [
19+
generate({
20+
input: "src/containerQuery.js",
21+
output: "dist/index.js"
22+
}),
23+
generate({
24+
input: "src/saveMeta.js",
25+
output: "dist/saveMeta.js"
26+
}),
27+
generate({
28+
input: "src/getMetadataFromMessages.js",
29+
output: "dist/getMetadataFromMessages.js"
30+
})
31+
];

packages/postcss-container-query/src/containerQuery.js

-20
Original file line numberDiff line numberDiff line change
@@ -160,24 +160,4 @@ function containerQuery(options = {}) {
160160
};
161161
}
162162

163-
/**
164-
* @param {Array<{plugin: string, type: string, [meta]: {}}>} messages
165-
* @return {null|{}}
166-
*/
167-
export function getMetadataFromMessages(messages) {
168-
const filteredMessages = messages.filter(
169-
message =>
170-
message.plugin === "postcss-container-query" &&
171-
message.type === "metadata"
172-
);
173-
174-
if (!filteredMessages.length) {
175-
return null;
176-
}
177-
178-
return filteredMessages[0].meta;
179-
}
180-
181-
export { saveMeta };
182-
183163
export default postcss.plugin(plugin, containerQuery);

packages/postcss-container-query/src/containerQuery.spec.js

+16-5
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import postcss from "postcss";
2-
import containerQuery, { getMetadataFromMessages } from "./containerQuery";
32
import Root from "../__mocks__/Root";
43
import * as regularTest from "./test/regular";
54
import * as customPropertiesTest from "./test/custom-properties";
@@ -11,7 +10,11 @@ import * as missingDeclarationWithRUnitsTest from "./test/missing-declaration-wi
1110
import * as selfTest from "./test/self";
1211
import * as simpleTest from "./test/simple";
1312

14-
jest.mock("./saveMeta");
13+
const containerQuery = require("../dist");
14+
const getMetadataFromMessages = require("../dist/getMetadataFromMessages");
15+
const saveMeta = require("../dist/saveMeta");
16+
17+
jest.mock("fs");
1518

1619
/**
1720
* @param {string} rawCSS Raw CSS containing container queries
@@ -53,14 +56,22 @@ const assertProcessingResult = async (testObj, options = {}) => {
5356
expect(meta).toEqual(testObj.meta);
5457
};
5558

56-
test("should use the default json saving function if none was supplied", () => {
57-
const saveMeta = require("./saveMeta").default;
59+
test('should avoid accidentally creating ".default" exports', () => {
60+
expect(typeof saveMeta).toBe("function");
61+
expect(typeof getMetadataFromMessages).toBe("function");
62+
expect(typeof containerQuery).toBe("function");
63+
expect(typeof saveMeta.default).toBe("undefined");
64+
expect(typeof getMetadataFromMessages.default).toBe("undefined");
65+
expect(typeof containerQuery.default).toBe("undefined");
66+
});
5867

68+
test("should use the default json saving function if none was supplied", () => {
69+
const fs = require("fs");
5970
const pluginInstance = containerQuery();
6071

6172
pluginInstance(new Root(), { messages: [] });
6273

63-
expect(saveMeta).toHaveBeenCalledTimes(1);
74+
expect(fs.readFile).toHaveBeenCalledTimes(1);
6475
});
6576

6677
test("should throw on missing container declaration", () => {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
/**
2+
* @param {Array<{plugin: string, type: string, [meta]: {}}>} messages
3+
* @return {null|{}}
4+
*/
5+
export default function getMetadataFromMessages(messages) {
6+
const filteredMessages = messages.filter(
7+
message =>
8+
message.plugin === "postcss-container-query" &&
9+
message.type === "metadata"
10+
);
11+
12+
if (!filteredMessages.length) {
13+
return null;
14+
}
15+
16+
return filteredMessages[0].meta;
17+
}

packages/postcss-container-query/src/saveMeta.js

+3-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { readFile, writeFile } from "fs";
22

3-
const saveMeta = (cssFile, meta) =>
4-
new Promise(resolve => {
3+
export default function saveMeta(cssFile, meta) {
4+
return new Promise(resolve => {
55
const stringMeta = JSON.stringify(meta);
66
const jsonFilePath = `${cssFile}.json`;
77

@@ -23,5 +23,4 @@ const saveMeta = (cssFile, meta) =>
2323
}
2424
});
2525
});
26-
27-
export default saveMeta;
26+
}

0 commit comments

Comments
 (0)