@bem-transform/ts-computed-name
Compute name of block and elem for BEM components.
Requirement
typescript >= 2.9.0
Installation
npm i -D @bem-transform/ts-computed-name
Configuration
This transform correctly work with ts-loader and awesome-typescript-loader.
const { computeClassBemName } = require('@bem-transform/ts-computed-name')
Need add this transform into getCustomTransformers in before
section.
{
test: /\.tsx?$/,
use: [
{
loader: require.resolve('awesome-typescript-loader'),
options: {
getCustomTransformers: () => ({
before: [
computeClassBemName(options),
],
}),
},
},
},
Options
Property | Type | Default | Description |
---|---|---|---|
availableClassParent |
string[] |
['Block', 'Elem'] |
Will add properties only to classes who have the parents from list. |
availibleBemName |
boolean |
true |
Will add the properties of block and elem based on the location in the fs. |
availibleDisplayName |
boolean |
true |
Will add the static property of displayName based on the location in the fs. (Recommended add only in development mode for debugging)
|
naming |
string |
'origin' |
naming convention that uses at the project, should be origin or react . |
overrideExistingProperties |
boolean |
true |
Overrides existing properties block , elem and displayName . |