@secretlint/config-loader
Config loader for secretlint.
Install
Install with npm:
npm install @secretlint/config-loader
Usage
API Interface
import { SecretLintConfigDescriptor, SecretLintCoreDescriptor } from "@secretlint/types";
export declare type SecretLintConfigLoaderOptions = {
cwd?: string;
};
export declare type SecretLintConfigLoaderResult = {
ok: true;
configFilePath: string;
config: SecretLintCoreDescriptor;
} | {
ok: false;
configFilePath: null;
config: null;
errors: Error[];
};
export declare type SecretLintConfigLoaderRawResult = {
ok: true;
configFilePath: string;
config: SecretLintConfigDescriptor;
} | {
ok: false;
errors: Error[];
};
export declare const loadConfig: (options: SecretLintConfigLoaderOptions) => SecretLintConfigLoaderResult;
export declare const loadConfigRaw: (options: SecretLintConfigLoaderOptions) => SecretLintConfigLoaderRawResult;
Example
impor { loadConfig } from "@secretlint/config-loader";
const { ok, config, configFilePath, errors } = loadConfig({ cwd: process.cwd() });
if(ok) {
console.log("load from configFile:" + configFilePath);
console.log("config", config);
} else{
console.error(errors);
}
Terminology
- ConfigDescriptor: config file literal that is not loaded yet
- Config: loaded object
Workflow
- Validate
ConfigDescriptor
- Load
ConfigDescriptor
and create Config
object - imports each rule modules - Validate Loaded
Config
with ConfigDescriptor
- Invalid option, Invalid allowMessageIds, Invalid id specify for a preset
- If all validation is passed, get a Config.
Changelog
See Releases page.
Running tests
Install devDependencies and Run npm test
:
npm test
Contributing
Pull requests and stars are always welcome.
For bugs and feature requests, please create an issue.
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request :D
Author
License
MIT © azu