8.2.4 • Published 6 days ago

@secretlint/config-loader v8.2.4

Weekly downloads
3,277
License
MIT
Repository
github
Last release
6 days ago

@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);
}

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.

  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

8.2.4

6 days ago

8.2.3

28 days ago

8.2.2

28 days ago

8.2.1

29 days ago

8.2.0

29 days ago

8.1.2

3 months ago

8.1.1

3 months ago

8.1.0

4 months ago

7.0.0-beta.66

10 months ago

7.0.0-beta.68

10 months ago

7.0.0-beta.65

10 months ago

7.1.0

6 months ago

7.0.8

6 months ago

7.0.7

9 months ago

7.0.6

9 months ago

7.0.5

9 months ago

6.2.4

10 months ago

7.0.0

10 months ago

7.0.4

9 months ago

7.0.3

10 months ago

7.2.0

5 months ago

7.0.2

10 months ago

7.0.1

10 months ago

8.0.0

5 months ago

6.1.0

1 year ago

6.2.1

1 year ago

6.2.0

1 year ago

6.2.3

1 year ago

6.2.2

1 year ago

6.0.1

1 year ago

6.0.2

1 year ago

5.3.0

2 years ago

5.2.4

2 years ago

5.2.1

2 years ago

5.1.3

2 years ago

5.1.2

2 years ago

5.2.0

2 years ago

5.1.1

2 years ago

5.1.0

2 years ago

5.0.1

2 years ago

5.0.0

2 years ago

4.2.0

2 years ago

4.1.3

3 years ago

4.1.1

3 years ago

3.3.1-next.19

3 years ago

4.0.0

3 years ago

3.3.0

3 years ago

3.1.0

3 years ago

3.0.0

3 years ago

2.2.0

3 years ago

2.1.1

3 years ago

2.1.0

4 years ago

2.0.0

4 years ago

1.1.0

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago

0.10.0

4 years ago

0.10.1

4 years ago

0.9.2

4 years ago

0.7.1

4 years ago

0.7.0

4 years ago

0.6.0

4 years ago

0.5.0

4 years ago

0.4.1

4 years ago

0.4.0

4 years ago

0.2.0

4 years ago

0.1.0

4 years ago