Skip to content

Commit b422631

Browse files
committed
feat: Rename normalizeOptions to resolveConfiguration.
BREAKING CHANGE: To bring naming inline with the new ResolvedConfiguration type, the normalizeOptions function is now named resolveConfiguration. The module named normalizeOptions has been renamed to resolver in the configuration module folder.
1 parent 08df43c commit b422631

31 files changed

+120
-123
lines changed

packages/css-blocks/src/BlockCompiler/index.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ import {
1010
} from "../BlockSyntax";
1111
import { StyleAnalysis } from "../TemplateAnalysis/StyleAnalysis";
1212
import {
13-
normalizeOptions,
1413
Options,
14+
resolveConfiguration,
1515
ResolvedConfiguration,
1616
} from "../configuration";
1717

@@ -25,7 +25,7 @@ export class BlockCompiler {
2525
private postcss: typeof postcss;
2626

2727
constructor(postcssImpl: typeof postcss, opts?: Options) {
28-
this.config = normalizeOptions(opts);
28+
this.config = resolveConfiguration(opts);
2929
this.postcss = postcssImpl;
3030
}
3131

packages/css-blocks/src/BlockParser/BlockFactory.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@ import * as postcss from "postcss";
55
import { RawSourceMap } from "source-map";
66

77
import { Block } from "../Block";
8-
import { normalizeOptions } from "../configuration/normalizeOptions";
9-
import { Options, ResolvedConfiguration } from "../configuration/types";
8+
import { Options, resolveConfiguration, ResolvedConfiguration } from "../configuration";
109
import { FileIdentifier, ImportedFile, Importer } from "../importing";
1110
import { PromiseQueue } from "../util/PromiseQueue";
1211

@@ -48,7 +47,7 @@ export class BlockFactory {
4847

4948
constructor(options: Options, postcssImpl = postcss) {
5049
this.postcssImpl = postcssImpl;
51-
this.configuration = normalizeOptions(options);
50+
this.configuration = resolveConfiguration(options);
5251
this.importer = this.configuration.importer;
5352
this.preprocessors = this.configuration.preprocessors;
5453
this.parser = new BlockParser(options, this);

packages/css-blocks/src/BlockParser/BlockParser.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
import * as postcss from "postcss";
22

33
import { Block } from "../Block";
4-
import { normalizeOptions } from "../configuration/normalizeOptions";
5-
import { Options, ResolvedConfiguration } from "../configuration/types";
4+
import { Options, resolveConfiguration, ResolvedConfiguration } from "../configuration";
65
import * as errors from "../errors";
76
import { FileIdentifier } from "../importing";
87

@@ -36,7 +35,7 @@ export class BlockParser {
3635
private factory: BlockFactory;
3736

3837
constructor(opts: Options, factory: BlockFactory) {
39-
this.config = normalizeOptions(opts);
38+
this.config = resolveConfiguration(opts);
4039
this.factory = factory;
4140
}
4241

packages/css-blocks/src/Plugin.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@ import * as postcss from "postcss";
22

33
import { BlockCompiler } from "./BlockCompiler";
44
import { BlockFactory } from "./BlockParser";
5-
import { Options, ResolvedConfiguration } from "./configuration";
6-
import { normalizeOptions } from "./configuration/normalizeOptions";
5+
import { Options, resolveConfiguration, ResolvedConfiguration } from "./configuration";
76
import * as errors from "./errors";
87

98
/**
@@ -18,7 +17,7 @@ export class Plugin {
1817
* @param opts Optional plugin config options
1918
*/
2019
constructor(postcssImpl: typeof postcss, opts?: Options) {
21-
this.config = normalizeOptions(opts);
20+
this.config = resolveConfiguration(opts);
2221
this.postcss = postcssImpl;
2322
}
2423

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
export * from "./types";
22
export * from "./OutputMode";
3-
export * from "./normalizeOptions";
3+
export * from "./resolver";

packages/css-blocks/src/configuration/normalizeOptions.ts renamed to packages/css-blocks/src/configuration/resolver.ts

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@ import {
1616
ResolvedConfiguration,
1717
} from "./types";
1818

19-
const CONFIG_OBJECT_KEYS: Array<ConfigurationObjectKeys> = [
19+
const OBJECT_KEYS: Array<ConfigurationObjectKeys> = [
2020
"importerData",
2121
"preprocessors",
2222
];
23-
const CONFIG_SIMPLE_KEYS: Array<ConfigurationSimpleKeys> = [
23+
const SIMPLE_KEYS: Array<ConfigurationSimpleKeys> = [
2424
"outputMode",
2525
"importer",
2626
"rootDir",
@@ -36,31 +36,30 @@ const DEFAULTS: ResolvedConfiguration = {
3636
disablePreprocessChaining: false,
3737
maxConcurrentCompiles: 4,
3838
};
39-
4039
/**
41-
* Provides read-only access to options values. Provides default values if none
42-
* passed.
40+
* Provides read-only access to resolved configuration values.
41+
* Provides default values for any unspecified configuration values.
4342
*/
44-
class OptionsReader implements ResolvedConfiguration {
43+
class Resolver implements ResolvedConfiguration {
4544
private _opts: Configuration;
4645

4746
constructor(options?: Options, defaults?: Options) {
48-
this._opts = {...DEFAULTS};
47+
this._opts = { ...DEFAULTS };
4948
this.setAll(defaults);
5049
this.setAll(options);
5150
}
5251
private setAll(opts: Options | undefined) {
5352
if (opts === undefined) return;
54-
for (let k of CONFIG_SIMPLE_KEYS) {
53+
for (let k of SIMPLE_KEYS) {
5554
let v = opts[k];
5655
if (v !== undefined) {
5756
this._opts[k] = v;
5857
}
5958
}
60-
for (let k of CONFIG_OBJECT_KEYS) {
59+
for (let k of OBJECT_KEYS) {
6160
let v = opts[k];
6261
if (v !== undefined) {
63-
this._opts[k] = {...v};
62+
this._opts[k] = { ...v };
6463
}
6564
}
6665
}
@@ -87,10 +86,14 @@ class OptionsReader implements ResolvedConfiguration {
8786
}
8887
}
8988

90-
export function normalizeOptions(options: Options | undefined, defaults?: Options): ResolvedConfiguration {
91-
if (options instanceof OptionsReader) {
89+
export function resolveConfiguration(
90+
options: Options | undefined,
91+
defaults?: Options,
92+
93+
): ResolvedConfiguration {
94+
if (options instanceof Resolver) {
9295
return options;
9396
} else {
94-
return new OptionsReader(options, defaults);
97+
return new Resolver(options, defaults);
9598
}
9699
}

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

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ import {
77
BlockFactory,
88
} from "../src/BlockParser";
99
import {
10-
normalizeOptions,
11-
} from "../src/configuration/normalizeOptions";
10+
resolveConfiguration,
11+
} from "../src/configuration";
1212
import cssBlocks = require("../src/cssBlocks");
1313
import { AttrValue } from "../src/index";
1414

@@ -39,7 +39,7 @@ export class AttributeContainerTest extends BEMProcessor {
3939
);
4040

4141
let importer = imports.importer();
42-
let options = normalizeOptions({importer});
42+
let options = resolveConfiguration({importer});
4343
let factory = new BlockFactory(options, postcss);
4444

4545
return factory.getBlock(importer.identifier(null, filename, options)).then(block => {
@@ -70,7 +70,7 @@ export class AttributeContainerTest extends BEMProcessor {
7070
);
7171

7272
let importer = imports.importer();
73-
let options = normalizeOptions({importer});
73+
let options = resolveConfiguration({importer});
7474
let factory = new BlockFactory(options, postcss);
7575

7676
return factory.getBlock(importer.identifier(null, filename, options)).then(block => {
@@ -112,7 +112,7 @@ export class AttributeContainerTest extends BEMProcessor {
112112
);
113113

114114
let importer = imports.importer();
115-
let options = normalizeOptions({importer});
115+
let options = resolveConfiguration({importer});
116116
let factory = new BlockFactory(options, postcss);
117117

118118
return factory.getBlock(importer.identifier(null, filename, options)).then(block => {

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import * as postcss from "postcss";
44

55
import cssBlocks, {
66
BlockFactory,
7-
normalizeOptions,
7+
resolveConfiguration,
88
} from "../src";
99

1010
import { BEMProcessor } from "./util/BEMProcessor";
@@ -41,7 +41,7 @@ export class BlockFactoryTests extends BEMProcessor {
4141
:scope { extends: base; color: red; }`,
4242
);
4343
let importer = imports.importer();
44-
let options = normalizeOptions({importer});
44+
let options = resolveConfiguration({importer});
4545
let factory = new BlockFactory(options, postcss);
4646
let extendsBlockPromise = factory.getBlock(importer.identifier(null, extendsFilename, options));
4747
let baseBlockPromise = factory.getBlock(importer.identifier(null, baseFilename, options));
@@ -73,7 +73,7 @@ export class BlockFactoryTests extends BEMProcessor {
7373
`);
7474

7575
let importer = imports.importer();
76-
let options = normalizeOptions({importer});
76+
let options = resolveConfiguration({importer});
7777
let factory = new BlockFactory(options, postcss);
7878

7979
let blockPromise1 = factory.getBlock(importer.identifier(null, blockFilename1, options));

packages/css-blocks/test/importing-test.ts

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,11 @@ import { IHookCallbackContext } from "mocha";
44
import * as path from "path";
55

66
import { Syntax } from "../src/BlockParser";
7-
import {
8-
normalizeOptions,
9-
} from "../src/configuration/normalizeOptions";
107
import {
118
Options,
9+
resolveConfiguration,
1210
ResolvedConfiguration,
13-
} from "../src/configuration/types";
11+
} from "../src/configuration";
1412
import {
1513
filesystemImporter,
1614
Importer,
@@ -22,7 +20,7 @@ const FSI_FIXTURES = path.resolve(FIXTURES, "filesystemImporter");
2220
const ALIAS_FIXTURES = path.resolve(FIXTURES, "pathAliasImporter");
2321

2422
function getOptions(options?: Options): ResolvedConfiguration {
25-
return normalizeOptions(options, {rootDir: path.join(FSI_FIXTURES)});
23+
return resolveConfiguration(options, {rootDir: path.join(FSI_FIXTURES)});
2624
}
2725

2826
function testFSImporter(name: string, importer: Importer) {

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import * as postcss from "postcss";
44

55
import {
66
BlockFactory,
7-
normalizeOptions,
7+
resolveConfiguration,
88
} from "../src";
99
import cssBlocks = require("../src/cssBlocks");
1010

@@ -36,7 +36,7 @@ export class LocalScopeLookupTest extends BEMProcessor {
3636
);
3737

3838
let importer = imports.importer();
39-
let options = normalizeOptions({importer});
39+
let options = resolveConfiguration({importer});
4040
let factory = new BlockFactory(options, postcss);
4141

4242
return factory.getBlock(importer.identifier(null, filename, options)).then(block => {
@@ -72,7 +72,7 @@ export class LocalScopeLookupTest extends BEMProcessor {
7272
);
7373

7474
let importer = imports.importer();
75-
let options = normalizeOptions({importer});
75+
let options = resolveConfiguration({importer});
7676
let factory = new BlockFactory(options, postcss);
7777

7878
return factory.getBlock(importer.identifier(null, filename, options)).then(refblock => {
@@ -113,7 +113,7 @@ export class LocalScopeLookupTest extends BEMProcessor {
113113
);
114114

115115
let importer = imports.importer();
116-
let options = normalizeOptions({importer});
116+
let options = resolveConfiguration({importer});
117117
let factory = new BlockFactory(options, postcss);
118118

119119
return factory.getBlock(importer.identifier(null, filename, options)).then(refblock => {

0 commit comments

Comments
 (0)