Skip to content

Commit 5217971

Browse files
committed
chore: Move core's postcss plugin to test helpers.
1 parent 91f7acf commit 5217971

13 files changed

+46
-54
lines changed

packages/@css-blocks/core/src/cssBlocks.ts

-33
This file was deleted.

packages/@css-blocks/core/src/index.ts

-5
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,10 @@ export * from "./BlockTree";
22
export * from "./errors";
33
export * from "./SourceLocation";
44
export * from "./configuration";
5-
export * from "./BlockParser";
65
export * from "./BlockCompiler";
76
export * from "./BlockParser";
87
export * from "./errors";
98
export * from "./importing";
109
export * from "./Analyzer";
1110
export * from "./TemplateRewriter";
1211
export * from "./configuration";
13-
14-
import cssBlocks = require("./cssBlocks");
15-
// tslint:disable-next-line:no-default-export
16-
export default cssBlocks;

packages/@css-blocks/core/test/attribute-container-test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@ import { assert } from "chai";
33
import { suite, test } from "mocha-typescript";
44
import { postcss } from "opticss";
55

6-
import cssBlocks = require("../src/cssBlocks");
76
import { AttrValue } from "../src/index";
87

98
import { BEMProcessor } from "./util/BEMProcessor";
9+
import cssBlocks = require("./util/postcss-helper");
1010
import { setupImporting } from "./util/setupImporting";
1111

1212
@suite("Attribute container")

packages/@css-blocks/core/test/block-factory-test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { assert } from "chai";
22
import { suite, test } from "mocha-typescript";
33
import { postcss } from "opticss";
44

5-
import cssBlocks from "../src";
5+
import * as cssBlocks from "../src";
66

77
import { BEMProcessor } from "./util/BEMProcessor";
88
import { setupImporting } from "./util/setupImporting";

packages/@css-blocks/core/test/block-interface-test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { assert } from "chai";
22
import { suite, test } from "mocha-typescript";
33
import { postcss } from "opticss";
44

5-
import cssBlocks = require("../src/cssBlocks");
5+
import cssBlocks = require("./util/postcss-helper");
66

77
import { BEMProcessor } from "./util/BEMProcessor";
88
import { setupImporting } from "./util/setupImporting";

packages/@css-blocks/core/test/global-states-test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { assert } from "chai";
22
import { suite, test } from "mocha-typescript";
33

4-
import cssBlocks = require("../src/cssBlocks");
4+
import cssBlocks = require("./util/postcss-helper");
55

66
import { assertError } from "./util/assertError";
77
import { BEMProcessor } from "./util/BEMProcessor";

packages/@css-blocks/core/test/local-scope-test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { assert } from "chai";
22
import { suite, test } from "mocha-typescript";
33
import { postcss } from "opticss";
44

5-
import cssBlocks = require("../src/cssBlocks");
5+
import cssBlocks = require("./util/postcss-helper");
66

77
import { BEMProcessor } from "./util/BEMProcessor";
88
import { setupImporting } from "./util/setupImporting";

packages/@css-blocks/core/test/plugin-api-test.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@ import { suite, test } from "mocha-typescript";
33
import { postcss } from "opticss";
44

55
import { resolveConfiguration } from "../src/configuration";
6-
import cssBlocks = require("../src/cssBlocks");
6+
7+
import cssBlocks = require("./util/postcss-helper");
78

89
@suite("Setting up")
910
export class SetupTests {

packages/@css-blocks/core/test/resolution-test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { assert } from "chai";
22
import { skip, suite, test } from "mocha-typescript";
33

4-
import cssBlocks = require("../src/cssBlocks");
4+
import cssBlocks = require("./util/postcss-helper");
55

66
import { assertError } from "./util/assertError";
77
import { BEMProcessor } from "./util/BEMProcessor";

packages/@css-blocks/core/test/syntax-test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { assert } from "chai";
22
import { skip, suite, test } from "mocha-typescript";
33

4-
import cssBlocks = require("../src/cssBlocks");
4+
import cssBlocks = require("./util/postcss-helper");
55

66
import { assertError } from "./util/assertError";
77
import { BEMProcessor } from "./util/BEMProcessor";

packages/@css-blocks/core/test/util/BEMProcessor.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { postcss } from "opticss";
22
import * as perfectionist from "perfectionist";
33

44
import { Options } from "../../src/configuration";
5-
import cssBlocks = require("../../src/cssBlocks");
5+
import cssBlocks = require(".././util/postcss-helper");
66

77
export class BEMProcessor {
88
process(filename: string, contents: string, cssBlocksOpts?: Options) {

packages/@css-blocks/core/test/util/assertError.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { whatever } from "@opticss/util";
22
import { assert } from "chai";
33
import { postcss } from "opticss";
44

5-
import cssBlocks from "../../src/cssBlocks";
5+
import cssBlocks from ".././util/postcss-helper";
66

77
export function assertError(errorType: typeof cssBlocks.CssBlockError, message: string, promise: postcss.LazyResult) {
88
return promise.then(

packages/@css-blocks/core/src/Plugin.ts renamed to packages/@css-blocks/core/test/util/postcss-helper.ts

+35-6
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
import { postcss } from "opticss";
22

3-
import { BlockCompiler } from "./BlockCompiler";
4-
import { BlockFactory } from "./BlockParser";
5-
import { Options, ResolvedConfiguration, resolveConfiguration } from "./configuration";
6-
import * as errors from "./errors";
3+
import { BlockCompiler } from "../../src/BlockCompiler";
4+
import { BlockFactory } from "../../src/BlockParser";
5+
import { Configuration, OutputMode } from "../../src/configuration";
6+
import { Options, ResolvedConfiguration, resolveConfiguration } from "../../src/configuration";
7+
import * as errors from "../../src/errors";
78

89
/**
910
* CSS Blocks PostCSS plugin.
1011
*/
11-
export class Plugin {
12+
class Plugin {
1213
private config: ResolvedConfiguration;
1314
private postcss: typeof postcss;
1415

@@ -22,7 +23,7 @@ export class Plugin {
2223
}
2324

2425
/**
25-
* Main processing entrypoint for PostCSS Plugin
26+
* Main processing entry point for PostCSS Plugin
2627
* @param root PostCSS AST
2728
* @param result Provides the result of the PostCSS transformations
2829
*/
@@ -48,3 +49,31 @@ export class Plugin {
4849
}
4950

5051
}
52+
53+
// This is ugly but it's the only thing I have been able to make work.
54+
// I welcome a patch that cleans this up.
55+
56+
type temp = {
57+
(postcssImpl: typeof postcss): (config?: Partial<Readonly<Configuration>>) => postcss.Plugin<Partial<Readonly<Configuration>>>;
58+
OutputMode: typeof OutputMode;
59+
CssBlockError: typeof errors.CssBlockError;
60+
InvalidBlockSyntax: typeof errors.InvalidBlockSyntax;
61+
MissingSourcePath: typeof errors.MissingSourcePath;
62+
};
63+
64+
function makeApi(): temp {
65+
let cssBlocks: temp;
66+
cssBlocks = <temp>function(postcssImpl: typeof postcss) {
67+
return (config?: Partial<Readonly<Configuration>>) => {
68+
let plugin = new Plugin(postcssImpl, config);
69+
return plugin.process.bind(plugin);
70+
};
71+
};
72+
cssBlocks.OutputMode = OutputMode;
73+
cssBlocks.CssBlockError = errors.CssBlockError;
74+
cssBlocks.InvalidBlockSyntax = errors.InvalidBlockSyntax;
75+
cssBlocks.MissingSourcePath = errors.MissingSourcePath;
76+
return cssBlocks;
77+
}
78+
79+
export = makeApi();

0 commit comments

Comments
 (0)