@putout/operator-declare v9.0.2
@putout/operator-declare
πPutout operator adds ability to declare variables that has references with no definitions. Most likely you prefer using Declarator plugin type based on current Operator.
Install
npm i putout @putout/operator-declare
API
If you want to create πPutout plugin
that will declare variables according to your needs just:
const {operator} = require('putout');
const {declare} = operator;
module.exports = declare({
fs: `import fs from 'fs/promises'`,
});
Dual packages
When you need different declarations for ESM
and CommonJS
you can use:
const {operator} = require('putout');
const {declare} = operator;
module.exports = declare({
fs: {
esm: `import fs from 'fs/promises'`,
comomnjs: `const fs = require('fs')`, // drop when not needed
},
});
Configuration
Plugin supports options, so you can pass it in .putout.json
:
{
"rules": {
"putout/declare": ["on", {
"declarations": {
"fs": "import fs from 'fs/promises'"
}
}]
}
}
If for some reason you don't need some kind of declaration, add dismiss
field and it will be ignored:
{
"rules": {
"putout/declare": ["on", {
"declarations": {
"fs": "import fs from 'fs/promises'"
},
"dismiss": ["fs"]
}]
}
}
Used in
- β declare
- β tape/declare
- β putout/declare
- β nodejs/declare
- β react-hooks/declare
- β try-catch/declare
- β montag/declare
- β madrun/declare
- β maybe/declare
Evaluate
Can be used with ESLint's putout/evaluate:
{
"rules": {
"putout/declare": ["on", {
"declarations": {
"superMethod": "import superMethod from '__putout_evaluate: join(`./`, basename(__filename), `.js`)'"
}
}]
}
}
If you have a file index.spec.js
:
+ import superMethod from './index.js'
superMethod();
License
MIT
5 months ago
5 months ago
5 months ago
10 months ago
10 months ago
10 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
8 months ago
8 months ago
8 months ago
11 months ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago