@roots/bud-build 6.15.2 → 6.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.d.ts CHANGED
@@ -25,8 +25,8 @@ declare module '@roots/bud-framework' {
25
25
  yml: Loader;
26
26
  }
27
27
  interface Items {
28
+ [`css-module`]: Item;
28
29
  css: Item;
29
- cssModule: Item;
30
30
  csv: Item;
31
31
  file: Item;
32
32
  font: Item;
@@ -40,8 +40,8 @@ declare module '@roots/bud-framework' {
40
40
  yml: Item;
41
41
  }
42
42
  interface Rules {
43
+ [`css-module`]: Rule;
43
44
  css: Rule;
44
- cssModule: Rule;
45
45
  csv: Rule;
46
46
  font: Rule;
47
47
  html: Rule;
@@ -2,12 +2,11 @@ import isBoolean from '@roots/bud-support/lodash/isBoolean';
2
2
  /**
3
3
  * CSS loader
4
4
  */
5
- export const css = async ({ makeItem }) => makeItem()
6
- .setIdent(`css`)
7
- .setLoader(`css`)
8
- .setOptions(({ build: { rules }, hooks: { filter } }) => ({
9
- importLoaders: rules.css.getUse().length - 2,
10
- modules: false,
5
+ export const css = async ({ makeItem }) => makeItem({
6
+ ident: `css`,
7
+ loader: `css`,
8
+ options: { modules: false },
9
+ }).setOptions(({ hooks: { filter } }) => ({
11
10
  sourceMap: isBoolean(filter(`build.devtool`, false))
12
11
  ? filter(`build.devtool`, false)
13
12
  : true,
@@ -15,14 +14,14 @@ export const css = async ({ makeItem }) => makeItem()
15
14
  /**
16
15
  * CSS module loader
17
16
  */
18
- export const cssModule = async ({ makeItem }) => makeItem()
19
- .setIdent(`cssModule`)
20
- .setLoader(`css`)
21
- .setOptions(({ build: { rules }, hooks: { filter } }) => ({
22
- importLoaders: rules.cssModule.getUse().length - 2,
23
- modules: true,
24
- sourceMap: isBoolean(filter(`build.devtool`, false))
25
- ? filter(`build.devtool`, false)
17
+ export const cssModule = async ({ makeItem }) => makeItem({
18
+ ident: `css-module`,
19
+ loader: `css`,
20
+ options: { modules: true },
21
+ }).setOptions(({ build, hooks }) => ({
22
+ importLoaders: build.rules[`css-module`].getUse().length - 2,
23
+ sourceMap: isBoolean(hooks.filter(`build.devtool`, false))
24
+ ? hooks.filter(`build.devtool`, false)
26
25
  : true,
27
26
  }));
28
27
  /**
@@ -1,6 +1,7 @@
1
1
  import * as items from '@roots/bud-build/items';
2
2
  import * as loaders from '@roots/bud-build/loaders';
3
3
  import * as rules from '@roots/bud-build/rules';
4
+ import kebabCase from '@roots/bud-support/lodash/kebabCase';
4
5
  /**
5
6
  * Register built-in {@link loaders}, {@link items} and {@link rules}
6
7
  */
@@ -20,7 +21,7 @@ async function register(bud) {
20
21
  /**
21
22
  * Registry factory
22
23
  */
23
- const makeRegister = ({ build, hooks, isProduction, module: { resolve }, path }, setRule) => async ([key, factory]) => setRule(key, await factory({
24
+ const makeRegister = ({ build, hooks, isProduction, module: { resolve }, path }, setRule) => async ([key, factory]) => setRule(kebabCase(key), await factory({
24
25
  filter: hooks.filter,
25
26
  isProduction,
26
27
  makeItem: build.makeItem,
@@ -1,5 +1,5 @@
1
1
  const cssModule = async ({ filter, makeRule, path }) => makeRule()
2
2
  .setTest(filter(`pattern.cssModule`))
3
3
  .setInclude([() => path(`@src`)])
4
- .setUse([`precss`, `cssModule`]);
4
+ .setUse([`precss`, `css-module`]);
5
5
  export { cssModule as default };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@roots/bud-build",
3
- "version": "6.15.2",
3
+ "version": "6.16.0",
4
4
  "description": "bud.js core module",
5
5
  "engines": {
6
6
  "node": ">=16"
@@ -169,15 +169,15 @@
169
169
  "types": "./lib/index.d.ts",
170
170
  "module": "./lib/index.js",
171
171
  "devDependencies": {
172
- "@roots/bud-api": "6.15.2",
173
- "@roots/bud-hooks": "6.15.2",
172
+ "@roots/bud-api": "6.16.0",
173
+ "@roots/bud-hooks": "6.16.0",
174
174
  "@skypack/package-check": "0.2.2",
175
- "@types/node": "18.17.5"
175
+ "@types/node": "18.17.9"
176
176
  },
177
177
  "dependencies": {
178
- "@roots/bud-framework": "6.15.2",
179
- "@roots/bud-support": "6.15.2",
180
- "tslib": "2.6.1"
178
+ "@roots/bud-framework": "6.16.0",
179
+ "@roots/bud-support": "6.16.0",
180
+ "tslib": "2.6.2"
181
181
  },
182
182
  "volta": {
183
183
  "extends": "../../../package.json"
package/src/index.ts CHANGED
@@ -32,8 +32,8 @@ declare module '@roots/bud-framework' {
32
32
  }
33
33
 
34
34
  interface Items {
35
+ [`css-module`]: Item
35
36
  css: Item
36
- cssModule: Item
37
37
  csv: Item
38
38
  file: Item
39
39
  font: Item
@@ -48,8 +48,8 @@ declare module '@roots/bud-framework' {
48
48
  }
49
49
 
50
50
  interface Rules {
51
+ [`css-module`]: Rule
51
52
  css: Rule
52
- cssModule: Rule
53
53
  csv: Rule
54
54
  font: Rule
55
55
  html: Rule
@@ -7,31 +7,30 @@ import isBoolean from '@roots/bud-support/lodash/isBoolean'
7
7
  * CSS loader
8
8
  */
9
9
  export const css: Factory<Item> = async ({makeItem}) =>
10
- makeItem()
11
- .setIdent(`css`)
12
- .setLoader(`css`)
13
- .setOptions(({build: {rules}, hooks: {filter}}) => ({
14
- importLoaders: rules.css.getUse().length - 2,
15
- modules: false,
16
- sourceMap: isBoolean(filter(`build.devtool`, false))
17
- ? filter(`build.devtool`, false)
18
- : true,
19
- }))
10
+ makeItem({
11
+ ident: `css`,
12
+ loader: `css`,
13
+ options: {modules: false},
14
+ }).setOptions(({hooks: {filter}}) => ({
15
+ sourceMap: isBoolean(filter(`build.devtool`, false))
16
+ ? filter(`build.devtool`, false)
17
+ : true,
18
+ }))
20
19
 
21
20
  /**
22
21
  * CSS module loader
23
22
  */
24
23
  export const cssModule: Factory<Item> = async ({makeItem}) =>
25
- makeItem()
26
- .setIdent(`cssModule`)
27
- .setLoader(`css`)
28
- .setOptions(({build: {rules}, hooks: {filter}}) => ({
29
- importLoaders: rules.cssModule.getUse().length - 2,
30
- modules: true,
31
- sourceMap: isBoolean(filter(`build.devtool`, false))
32
- ? filter(`build.devtool`, false)
33
- : true,
34
- }))
24
+ makeItem({
25
+ ident: `css-module`,
26
+ loader: `css`,
27
+ options: {modules: true},
28
+ }).setOptions(({build, hooks}) => ({
29
+ importLoaders: build.rules[`css-module`].getUse().length - 2,
30
+ sourceMap: isBoolean(hooks.filter(`build.devtool`, false))
31
+ ? hooks.filter(`build.devtool`, false)
32
+ : true,
33
+ }))
35
34
 
36
35
  /**
37
36
  * CSV loader
@@ -4,6 +4,7 @@ import type {Bud} from '@roots/bud-framework'
4
4
  import * as items from '@roots/bud-build/items'
5
5
  import * as loaders from '@roots/bud-build/loaders'
6
6
  import * as rules from '@roots/bud-build/rules'
7
+ import kebabCase from '@roots/bud-support/lodash/kebabCase'
7
8
 
8
9
  interface Props {
9
10
  filter: Bud[`hooks`][`filter`]
@@ -58,7 +59,7 @@ const makeRegister: makeRegister =
58
59
  ({build, hooks, isProduction, module: {resolve}, path}, setRule) =>
59
60
  async ([key, factory]) =>
60
61
  setRule(
61
- key,
62
+ kebabCase(key),
62
63
  await factory({
63
64
  filter: hooks.filter,
64
65
  isProduction,
@@ -4,6 +4,6 @@ const cssModule: Factory = async ({filter, makeRule, path}) =>
4
4
  makeRule()
5
5
  .setTest(filter(`pattern.cssModule`))
6
6
  .setInclude([() => path(`@src`)])
7
- .setUse([`precss`, `cssModule`])
7
+ .setUse([`precss`, `css-module`])
8
8
 
9
9
  export {cssModule as default}