@secretlint/config-loader

Config loader for secretlint.

Usage no npm install needed!

<script type="module">
  import secretlintConfigLoader from 'https://cdn.skypack.dev/@secretlint/config-loader';
</script>

README

@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[];
};
/**
 * Load config file and return config object that is loaded rule instance. 
 * @param options
 */
export declare const loadConfig: (options: SecretLintConfigLoaderOptions) => SecretLintConfigLoaderResult;
export declare const loadConfigRaw: (options: SecretLintConfigLoaderOptions) => SecretLintConfigLoaderRawResult;

Example

impor { loadConfig } from "@secretlint/config-loader";
// Load <CurrentDir>/.secretlintrc.{json,yml,js}
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);
}

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.

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :D

Author

License

MIT © azu