A big commit with a bunch of node modules so I could run puppeteer for Walmart. Added some todos and Headway's templates.

This commit is contained in:
Norm Rasmussen
2024-02-28 17:13:10 -05:00
parent dbcdfc8472
commit 1184fe0cd1
1107 changed files with 76526 additions and 8934 deletions

View File

@ -7,7 +7,7 @@ Cosmiconfig searches for and loads configuration for your program.
It features smart defaults based on conventional expectations in the JavaScript ecosystem.
But it's also flexible enough to search wherever you'd like to search, and load whatever you'd like to load.
By default, Cosmiconfig will start where you tell it to start and search up the directory tree for the following:
By default, Cosmiconfig will check the current directory for the following:
- a `package.json` property
- a JSON or YAML, extensionless "rc file"
@ -20,10 +20,11 @@ For example, if your module's name is "myapp", cosmiconfig will search up the di
- a `myapp` property in `package.json`
- a `.myapprc` file in JSON or YAML format
- a `.myapprc.json`, `.myapprc.yaml`, `.myapprc.yml`, `.myapprc.js`, `.myapprc.ts`, `.myapprc.mjs`, or `.myapprc.cjs` file
- a `myapprc`, `myapprc.json`, `myapprc.yaml`, `myapprc.yml`, `myapprc.js`, `myapprc.ts` or `myapprc.cjs` file inside a `.config` subdirectory
- a `myapprc`, `myapprc.json`, `myapprc.yaml`, `myapprc.yml`, `myapprc.js`, `myapprc.ts`, `myapprc.mjs`, or `myapprc.cjs` file inside a `.config` subdirectory
- a `myapp.config.js`, `myapp.config.ts`, `myapp.config.mjs`, or `myapp.config.cjs` file
Cosmiconfig continues to search up the directory tree, checking each of these places in each directory, until it finds some acceptable configuration (or hits the home directory).
Optionally, you can tell it to search up the directory tree using [search strategies],
checking each of these places in each directory, until it finds some acceptable configuration (or hits the home directory).
## Table of contents
@ -45,6 +46,7 @@ Cosmiconfig continues to search up the directory tree, checking each of these pl
- [explorerSync.clearSearchCache()](#explorersyncclearsearchcache)
- [explorerSync.clearCaches()](#explorersyncclearcaches)
- [cosmiconfigOptions](#cosmiconfigoptions)
- [searchStrategy](#searchstrategy)
- [searchPlaces](#searchplaces)
- [loaders](#loaders)
- [packageProp](#packageprop)
@ -56,6 +58,7 @@ Cosmiconfig continues to search up the directory tree, checking each of these pl
- [Caching](#caching)
- [Differences from rc](#differences-from-rc)
- [Usage for end users](#usage-for-end-users)
- [Imports](#imports)
- [Contributing & Development](#contributing--development)
## Installation
@ -93,7 +96,7 @@ explorer.search()
// Load a configuration directly when you know where it should be.
// The result object is the same as for search.
// See documentation for load, below.
explorer.load(pathToConfig).then(..);
explorer.load(pathToConfig).then(/* ... */);
// You can also search and load synchronously.
const explorerSync = cosmiconfigSync(moduleName);
@ -116,7 +119,7 @@ The result object you get from `search` or `load` has the following properties:
```js
const { cosmiconfig } = require('cosmiconfig');
const explorer = cosmiconfig(moduleName[, cosmiconfigOptions])
const explorer = cosmiconfig(moduleName, /* optional */ cosmiconfigOptions)
```
Creates a cosmiconfig instance ("explorer") configured according to the arguments, and initializes its caches.
@ -135,7 +138,7 @@ You may not need them, and should first read about the functions you'll use.
### explorer.search()
```js
explorer.search([searchFrom]).then(result => {..})
explorer.search([searchFrom]).then(result => { /* ... */ })
```
Searches for a configuration file. Returns a Promise that resolves with a [result] or with `null`, if no configuration file is found.
@ -148,13 +151,18 @@ Here's how your default [`search()`] will work:
- Starting from `process.cwd()` (or some other directory defined by the `searchFrom` argument to [`search()`]), look for configuration objects in the following places:
1. A `goldengrahams` property in a `package.json` file.
2. A `.goldengrahamsrc` file with JSON or YAML syntax.
3. A `.goldengrahamsrc.json`, `.goldengrahamsrc.yaml`, `.goldengrahamsrc.yml`, `.goldengrahamsrc.js`, `.goldengrahamsrc.ts`, or `.goldengrahamsrc.cjs` file. (To learn more about how JS files are loaded, see ["Loading JS modules"].)
4. A `goldengrahamsrc`, `goldengrahamsrc.json`, `goldengrahamsrc.yaml`, `goldengrahamsrc.yml`, `goldengrahamsrc.js`, `goldengrahamsrc.ts`, or `goldengrahamsrc.cjs` file in the `.config` subdirectory.
3. A `.goldengrahamsrc.json`, `.goldengrahamsrc.yaml`, `.goldengrahamsrc.yml`, `.goldengrahamsrc.js`, `.goldengrahamsrc.ts`, `.goldengrahamsrc.mjs`, or `.goldengrahamsrc.cjs` file. (To learn more about how JS files are loaded, see ["Loading JS modules"].)
4. A `goldengrahamsrc`, `goldengrahamsrc.json`, `goldengrahamsrc.yaml`, `goldengrahamsrc.yml`, `goldengrahamsrc.js`, `goldengrahamsrc.ts`, `goldengrahamsrc.mjs`, or `goldengrahamsrc.cjs` file in the `.config` subdirectory.
5. A `goldengrahams.config.js`, `goldengrahams.config.ts`, `goldengrahams.config.mjs`, or `goldengrahams.config.cjs` file. (To learn more about how JS files are loaded, see ["Loading JS modules"].)
- If none of those searches reveal a configuration object, move up one directory level and try again.
So the search continues in `./`, `../`, `../../`, `../../../`, etc., checking the same places in each directory.
- Continue searching until arriving at your home directory (or some other directory defined by the cosmiconfig option [`stopDir`]).
- For JS files,
- If none of those searches reveal a configuration object, continue depending on the current search strategy:
- If it's `none` (which is the default if you don't specify a [`stopDir`] option), stop here and return/resolve with `null`.
- If it's `global` (which is the default if you specify a [`stopDir`] option), move up one directory level and try again,
recursing until arriving at the configured [`stopDir`] option, which defaults to the user's home directory.
- After arriving at the [`stopDir`], the global configuration directory (as defined by [`env-paths`] without prefix) is also checked,
looking at the files `config`, `config.json`, `config.yaml`, `config.yml`, `config.js`, `config.ts`, `config.cjs`, and `config.mjs`
in the directory `~/.config/goldengrahams/` (on Linux; see [`env-paths`] documentation for other OSs).
- If it's `project`, check whether a `package.json` file is present in the current directory, and if not,
move up one directory level and try again, recursing until there is one.
- If at any point a parsable configuration is found, the [`search()`] Promise resolves with its [result] \(or, with [`explorerSync.search()`], the [result] is returned).
- If no configuration object is found, the [`search()`] Promise resolves with `null` (or, with [`explorerSync.search()`], `null` is returned).
- If a configuration object is found *but is malformed* (causing a parsing error), the [`search()`] Promise rejects with that error (so you should `.catch()` it). (Or, with [`explorerSync.search()`], the error is thrown.)
@ -178,7 +186,7 @@ If it's a file, the search starts in that file's directory.
### explorer.load()
```js
explorer.load(loadPath).then(result => {..})
explorer.load(loadPath).then(result => { /* ... */ })
```
Loads a configuration file. Returns a Promise that resolves with a [result] or rejects with an error (if the file does not exist or cannot be loaded).
@ -190,6 +198,7 @@ explorer.load('load/this/file.json'); // Tries to load load/this/file.json.
```
If you load a `package.json` file, the result will be derived from whatever property is specified as your [`packageProp`].
`package.yaml` will work as well if you specify these file names in your [`searchPlaces`].
You can do the same thing synchronously with [`explorerSync.load()`].
@ -211,7 +220,7 @@ Performs both [`clearLoadCache()`] and [`clearSearchCache()`].
```js
const { cosmiconfigSync } = require('cosmiconfig');
const explorerSync = cosmiconfigSync(moduleName[, cosmiconfigOptions])
const explorerSync = cosmiconfigSync(moduleName, /* optional */ cosmiconfigOptions)
```
Creates a *synchronous* cosmiconfig instance ("explorerSync") configured according to the arguments, and initializes its caches.
@ -256,6 +265,33 @@ Type: `Object`.
Possible options are documented below.
### searchStrategy
Type: `string`
Default: `global` if [`stopDir`] is specified, `none` otherwise.
The strategy that should be used to determine which directories to check for configuration files.
- `none`: Only checks in the current working directory.
- `project`: Starts in the current working directory, traversing upwards until a `package.{json,yaml}` file is found.
- `global`: Starts in the current working directory, traversing upwards until the configured [`stopDir`]
(or the current user's home directory if none is given). Then, if no configuration is found, also look in the
operating system's default configuration directory (according to [`env-paths`] without prefix),
where a different set of file names is checked:
```js
[
`config`,
`config.json`,
`config.yaml`,
`config.yml`,
`config.js`,
`config.ts`,
`config.cjs`,
`config.mjs`
]
```
### searchPlaces
Type: `Array<string>`.
@ -285,6 +321,7 @@ For the [asynchronous API](#asynchronous-api), these are the default `searchPlac
`.config/${moduleName}rc.yml`,
`.config/${moduleName}rc.js`,
`.config/${moduleName}rc.ts`,
`.config/${moduleName}rc.mjs`,
`.config/${moduleName}rc.cjs`,
`${moduleName}.config.js`,
`${moduleName}.config.ts`,
@ -304,30 +341,41 @@ Read more about [`loaders`] below.
`package.json` is a special value: When it is included in `searchPlaces`, Cosmiconfig will always parse it as JSON and load a property within it, not the whole file.
That property is defined with the [`packageProp`] option, and defaults to your module name.
`package.yaml` (used by pnpm) works the same way.
Examples, with a module named `porgy`:
```js
// Disallow extensions on rc files:
['package.json', '.porgyrc', 'porgy.config.js'][
// Limit the options dramatically:
('package.json', '.porgyrc')
][
// Maybe you want to look for a wide variety of JS flavors:
('porgy.config.js',
['package.json', '.porgyrc', 'porgy.config.js']
```
```js
// Limit the options dramatically:
['package.json', '.porgyrc']
```
```js
// Maybe you want to look for a wide variety of JS flavors:
[
'porgy.config.js',
'porgy.config.mjs',
'porgy.config.ts',
'porgy.config.coffee')
][
// ^^ You will need to designate custom loaders to tell
// Cosmiconfig how to handle `.ts` and `.coffee` files.
'porgy.config.coffee'
]
// ^^ You will need to designate a custom loader to tell
// Cosmiconfig how to handle `.coffee` files.
```
// Look within a .config/ subdirectory of every searched directory:
('package.json',
```js
// Look within a .config/ subdirectory of every searched directory:
[
'package.json',
'.porgyrc',
'.config/.porgyrc',
'.porgyrc.json',
'.config/.porgyrc.json')
];
'.config/.porgyrc.json'
]
```
### loaders
@ -388,24 +436,19 @@ To accomplish that, provide the following `loaders` value:
If you want to load files that are not handled by the loader functions Cosmiconfig exposes, you can write a custom loader function or use one from NPM if it exists.
**Third-party loaders:**
- [cosmiconfig-typescript-loader](https://github.com/codex-/cosmiconfig-typescript-loader)
**Use cases for custom loader function:**
- Allow configuration syntaxes that aren't handled by Cosmiconfig's defaults, like JSON5, INI, or XML.
- Allow ES2015 modules from `.mjs` configuration files.
- Parse JS files with Babel before deriving the configuration.
**Custom loader functions** have the following signature:
```js
```ts
// Sync
(filepath: string, content: string) => Object | null
type SyncLoader = (filepath: string, content: string) => Object | null
// Async
(filepath: string, content: string) => Object | null | Promise<Object | null>
type AsyncLoader = (filepath: string, content: string) => Object | null | Promise<Object | null>
```
Cosmiconfig reads the file when it checks whether the file exists, so it will provide you with both the file's path and its content.
@ -422,24 +465,32 @@ Examples:
```js
// Allow JSON5 syntax:
{
'.json': json5Loader
}
cosmiconfig('foo', {
loaders: {
'.json': json5Loader
}
});
// Allow a special configuration syntax of your own creation:
{
'.special': specialLoader
}
cosmiconfig('foo', {
loaders: {
'.special': specialLoader
}
});
// Allow many flavors of JS, using custom loaders:
{
'.coffee': coffeeScriptLoader
}
cosmiconfig('foo', {
loaders: {
'.coffee': coffeeScriptLoader
}
});
// Allow many flavors of JS but rely on require hooks:
{
'.coffee': defaultLoaders['.js']
}
cosmiconfig('foo', {
loaders: {
'.coffee': defaultLoaders['.js']
}
});
```
### packageProp
@ -447,7 +498,7 @@ Examples:
Type: `string | Array<string>`.
Default: `` `${moduleName}` ``.
Name of the property in `package.json` to look for.
Name of the property in `package.json` (or `package.yaml`) to look for.
Use a period-delimited string or an array of strings to describe a path to nested properties.
@ -456,7 +507,7 @@ For example, the value `'configs.myPackage'` or `['configs', 'myPackage']` will
```json
{
"configs": {
"myPackage": {..}
"myPackage": {"option": "value"}
}
}
```
@ -467,7 +518,7 @@ If nested property names within the path include periods, you need to use an arr
{
"configs": {
"foo.bar": {
"baz": {..}
"baz": {"option": "value"}
}
}
}
@ -575,9 +626,11 @@ package.json
.config/{NAME}rc.yml
.config/{NAME}rc.js
.config/{NAME}rc.ts
.config/{NAME}rc.mjs
.config/{NAME}rc.cjs
{NAME}.config.js
{NAME}.config.ts
{NAME}.config.mjs
{NAME}.config.cjs
```
@ -609,25 +662,30 @@ You can also add a `cosmiconfig` key within your `package.json` file or create o
to configure `cosmiconfig` itself:
```
.config.json
.config.yaml
.config.yml
.config.js
.config.ts
.config.cjs
.config/config.json
.config/config.yaml
.config/config.yml
.config/config.js
.config/config.ts
.config/config.cjs
```
The following property is currently actively supported in these places:
The following properties are currently actively supported in these places:
```yaml
cosmiconfig:
# overrides where configuration files are being searched to enforce a custom naming convention and format
# adds places where configuration files are being searched
searchPlaces:
- .config/{name}.yml
# to enforce a custom naming convention and format, don't merge the above with the tool-defined search places
# (`true` is the default setting)
mergeSearchPlaces: false
```
> **Note:** technically, you can overwrite all options described in [cosmiconfigOptions](#cosmiconfigoptions) here,
> but everything not listed above should be used at your own risk, as it has not been tested explicitly.
> The only exceptions to this are the `loaders` property, which is explicitly not supported at this time,
> and the `searchStrategy` property, which is intentionally disallowed.
You can also add more root properties outside the `cosmiconfig` property
to configure your tools, entirely eliminating the need to look for additional configuration files:
@ -640,6 +698,41 @@ prettier:
semi: true
```
### Imports
Wherever you put your configuration (the package.json file, a root config file or a package-specific config file),
you can use the special `$import` key to import another file as a base.
For example, you can import from an npm package (in this example, `@foocorp/config`).
`.prettierrc.base.yml` in said npm package could define some company-wide defaults:
```yaml
printWidth: 120
semi: true
tabWidth: 2
```
And then, the `.prettierrc.yml` file in the project itself would just reference that file,
optionally overriding the defaults with project-specific settings:
```yaml
$import: node_modules/@foocorp/config/.prettierrc.base.yml
# we want more space!
printWidth: 200
```
It is possible to import multiple base files by specifying an array of paths,
which will be processed in declaration order;
that means that the last entry will win if there are conflicting properties.
It is also possible to import file formats other than the importing format
as long as they are supported by the loaders specified by the developer of the tool you're configuring.
```yaml
$import: [first.yml, second.json, third.config.js]
```
## Contributing & Development
Please note that this project is released with a [Contributor Code of Conduct](CODE_OF_CONDUCT.md). By participating in this project you agree to abide by its terms.
@ -683,3 +776,7 @@ And please do participate!
[`explorer.load()`]: #explorerload
["Loading JS modules"]: #loading-js-modules
[`env-paths`]: https://github.com/sindresorhus/env-paths
[search strategies]: #searchstrategy

View File

@ -6,9 +6,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
exports.Explorer = void 0;
const promises_1 = __importDefault(require("fs/promises"));
const path_1 = __importDefault(require("path"));
const path_type_1 = require("path-type");
const defaults_1 = require("./defaults");
const ExplorerBase_js_1 = require("./ExplorerBase.js");
const loaders_js_1 = require("./loaders.js");
const merge_1 = require("./merge");
const util_js_1 = require("./util.js");
/**
* @internal
@ -33,13 +33,19 @@ class Explorer extends ExplorerBase_js_1.ExplorerBase {
return config;
}
}
const stopDir = path_1.default.resolve(this.config.stopDir);
from = path_1.default.resolve(from);
const dirs = this.#getDirs(from);
const firstDirIter = await dirs.next();
/* istanbul ignore if -- @preserve */
if (firstDirIter.done) {
// this should never happen
throw new Error(`Could not find any folders to iterate through (start from ${from})`);
}
let currentDir = firstDirIter.value;
const search = async () => {
/* istanbul ignore if -- @preserve */
if (await (0, path_type_1.isDirectory)(from)) {
for (const place of this.config.searchPlaces) {
const filepath = path_1.default.join(from, place);
if (await (0, util_js_1.isDirectory)(currentDir.path)) {
for (const filepath of this.getSearchPlacesForDir(currentDir, defaults_1.globalConfigSearchPlaces)) {
try {
const result = await this.#readConfiguration(filepath);
if (result !== null &&
@ -50,18 +56,19 @@ class Explorer extends ExplorerBase_js_1.ExplorerBase {
catch (error) {
if (error.code === 'ENOENT' ||
error.code === 'EISDIR' ||
error.code === 'ENOTDIR') {
error.code === 'ENOTDIR' ||
error.code === 'EACCES') {
continue;
}
throw error;
}
}
}
const dir = path_1.default.dirname(from);
if (from !== stopDir && from !== dir) {
from = dir;
const nextDirIter = await dirs.next();
if (!nextDirIter.done) {
currentDir = nextDirIter.value;
if (this.searchCache) {
return await (0, util_js_1.emplace)(this.searchCache, from, search);
return await (0, util_js_1.emplace)(this.searchCache, currentDir.path, search);
}
return await search();
}
@ -72,31 +79,91 @@ class Explorer extends ExplorerBase_js_1.ExplorerBase {
}
return await search();
}
async #readConfiguration(filepath) {
async #readConfiguration(filepath, importStack = []) {
const contents = await promises_1.default.readFile(filepath, { encoding: 'utf-8' });
return this.toCosmiconfigResult(filepath, await this.#loadConfiguration(filepath, contents));
return this.toCosmiconfigResult(filepath, await this.#loadConfigFileWithImports(filepath, contents, importStack));
}
async #loadConfigFileWithImports(filepath, contents, importStack) {
const loadedContent = await this.#loadConfiguration(filepath, contents);
if (!loadedContent || !(0, merge_1.hasOwn)(loadedContent, '$import')) {
return loadedContent;
}
const fileDirectory = path_1.default.dirname(filepath);
const { $import: imports, ...ownContent } = loadedContent;
const importPaths = Array.isArray(imports) ? imports : [imports];
const newImportStack = [...importStack, filepath];
this.validateImports(filepath, importPaths, newImportStack);
const importedConfigs = await Promise.all(importPaths.map(async (importPath) => {
const fullPath = path_1.default.resolve(fileDirectory, importPath);
const result = await this.#readConfiguration(fullPath, newImportStack);
return result?.config;
}));
return (0, merge_1.mergeAll)([...importedConfigs, ownContent], {
mergeArrays: this.config.mergeImportArrays,
});
}
async #loadConfiguration(filepath, contents) {
if (contents.trim() === '') {
return;
}
if (path_1.default.basename(filepath) === 'package.json') {
return ((0, util_js_1.getPropertyByPath)((0, loaders_js_1.loadJson)(filepath, contents), this.config.packageProp) ?? null);
}
const extension = path_1.default.extname(filepath);
const loader = this.config.loaders[extension || 'noExt'] ??
this.config.loaders['default'];
if (!loader) {
throw new Error(`No loader specified for ${(0, ExplorerBase_js_1.getExtensionDescription)(extension)}`);
}
try {
const loader = this.config.loaders[extension || 'noExt'] ??
this.config.loaders['default'];
if (loader !== undefined) {
// eslint-disable-next-line @typescript-eslint/return-await
return await loader(filepath, contents);
const loadedContents = await loader(filepath, contents);
if (path_1.default.basename(filepath, extension) !== 'package') {
return loadedContents;
}
return ((0, util_js_1.getPropertyByPath)(loadedContents, this.config.packageProp ?? this.config.moduleName) ?? null);
}
catch (error) {
error.filepath = filepath;
throw error;
}
throw new Error(`No loader specified for ${(0, ExplorerBase_js_1.getExtensionDescription)(extension)}`);
}
async #fileExists(path) {
try {
await promises_1.default.stat(path);
return true;
}
catch (e) {
return false;
}
}
async *#getDirs(startDir) {
switch (this.config.searchStrategy) {
case 'none': {
// only check in the passed directory (defaults to working directory)
yield { path: startDir, isGlobalConfig: false };
return;
}
case 'project': {
let currentDir = startDir;
while (true) {
yield { path: currentDir, isGlobalConfig: false };
for (const ext of ['json', 'yaml']) {
const packageFile = path_1.default.join(currentDir, `package.${ext}`);
if (await this.#fileExists(packageFile)) {
break;
}
}
const parentDir = path_1.default.dirname(currentDir);
/* istanbul ignore if -- @preserve */
if (parentDir === currentDir) {
// we're probably at the root of the directory structure
break;
}
currentDir = parentDir;
}
return;
}
case 'global': {
yield* this.getGlobalDirs(startDir);
}
}
}
}
exports.Explorer = Explorer;

File diff suppressed because one or more lines are too long

View File

@ -4,6 +4,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getExtensionDescription = exports.ExplorerBase = void 0;
const env_paths_1 = __importDefault(require("env-paths"));
const os_1 = __importDefault(require("os"));
const path_1 = __importDefault(require("path"));
const util_js_1 = require("./util.js");
/**
@ -62,13 +64,55 @@ class ExplorerBase {
}
if (this.config.applyPackagePropertyPathToConfiguration ||
this.#loadingMetaConfig) {
config = (0, util_js_1.getPropertyByPath)(config, this.config.packageProp);
const packageProp = this.config.packageProp ?? this.config.moduleName;
config = (0, util_js_1.getPropertyByPath)(config, packageProp);
}
if (config === undefined) {
return { filepath, config: undefined, isEmpty: true };
}
return { config, filepath };
}
validateImports(containingFilePath, imports, importStack) {
const fileDirectory = path_1.default.dirname(containingFilePath);
for (const importPath of imports) {
if (typeof importPath !== 'string') {
throw new Error(`${containingFilePath}: Key $import must contain a string or a list of strings`);
}
const fullPath = path_1.default.resolve(fileDirectory, importPath);
if (fullPath === containingFilePath) {
throw new Error(`Self-import detected in ${containingFilePath}`);
}
const idx = importStack.indexOf(fullPath);
if (idx !== -1) {
throw new Error(`Circular import detected:
${[...importStack, fullPath]
.map((path, i) => `${i + 1}. ${path}`)
.join('\n')} (same as ${idx + 1}.)`);
}
}
}
getSearchPlacesForDir(dir, globalConfigPlaces) {
return (dir.isGlobalConfig ? globalConfigPlaces : this.config.searchPlaces).map((place) => path_1.default.join(dir.path, place));
}
getGlobalConfigDir() {
return (0, env_paths_1.default)(this.config.moduleName, { suffix: '' }).config;
}
*getGlobalDirs(startDir) {
const stopDir = path_1.default.resolve(this.config.stopDir ?? os_1.default.homedir());
yield { path: startDir, isGlobalConfig: false };
let currentDir = startDir;
while (currentDir !== stopDir) {
const parentDir = path_1.default.dirname(currentDir);
/* istanbul ignore if -- @preserve */
if (parentDir === currentDir) {
// we're probably at the root of the directory structure
break;
}
yield { path: parentDir, isGlobalConfig: false };
currentDir = parentDir;
}
yield { path: this.getGlobalConfigDir(), isGlobalConfig: true };
}
}
exports.ExplorerBase = ExplorerBase;
/**

View File

@ -1 +1 @@
{"version":3,"file":"ExplorerBase.js","sourceRoot":"","sources":["../src/ExplorerBase.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AASxB,uCAA8C;AAE9C;;GAEG;AACH,MAAsB,YAAY;IAGhC,kBAAkB,GAAG,KAAK,CAAC;IAER,MAAM,CAAI;IACV,SAAS,CAEb;IACI,WAAW,CAEf;IAEf,YAAmB,OAAoB;QACrC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;QACtB,IAAI,OAAO,CAAC,KAAK,EAAE;YACjB,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;YAC3B,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,EAAE,CAAC;SAC9B;QACD,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,IAAc,iBAAiB,CAAC,KAAc;QAC5C,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;IAClC,CAAC;IAED,eAAe;QACb,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAE3B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,YAAY,EAAE;YACvC,MAAM,SAAS,GAAG,cAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACtC,MAAM,MAAM,GACV,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC;gBACzC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACjC,IAAI,MAAM,KAAK,SAAS,EAAE;gBACxB,MAAM,IAAI,KAAK,CACb,sBAAsB,uBAAuB,CAAC,KAAK,CAAC,GAAG,CACxD,CAAC;aACH;YACD,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE;gBAChC,MAAM,IAAI,KAAK,CACb,cAAc,uBAAuB,CACnC,KAAK,CACN,gCAAgC,OAAO,MAAM,GAAG,CAClD,CAAC;aACH;SACF;IACH,CAAC;IAEM,cAAc;QACnB,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;SACxB;IACH,CAAC;IAEM,gBAAgB;QACrB,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;SAC1B;IACH,CAAC;IAEM,WAAW;QAChB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAES,mBAAmB,CAC3B,QAAgB,EAChB,MAAc;QAEd,IAAI,MAAM,KAAK,IAAI,EAAE;YACnB,OAAO,IAAI,CAAC;SACb;QACD,IAAI,MAAM,KAAK,SAAS,EAAE;YACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;SACvD;QACD,IACE,IAAI,CAAC,MAAM,CAAC,uCAAuC;YACnD,IAAI,CAAC,kBAAkB,EACvB;YACA,MAAM,GAAG,IAAA,2BAAiB,EAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;SAC7D;QACD,IAAI,MAAM,KAAK,SAAS,EAAE;YACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;SACvD;QACD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAC9B,CAAC;CACF;AAvFD,oCAuFC;AAED;;GAEG;AACH,SAAgB,uBAAuB,CAAC,SAAkB;IACxD,uCAAuC;IACvC,OAAO,SAAS,CAAC,CAAC,CAAC,cAAc,SAAS,GAAG,CAAC,CAAC,CAAC,0BAA0B,CAAC;AAC7E,CAAC;AAHD,0DAGC"}
{"version":3,"file":"ExplorerBase.js","sourceRoot":"","sources":["../src/ExplorerBase.ts"],"names":[],"mappings":"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"}

View File

@ -6,9 +6,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
exports.ExplorerSync = void 0;
const fs_1 = __importDefault(require("fs"));
const path_1 = __importDefault(require("path"));
const path_type_1 = require("path-type");
const defaults_1 = require("./defaults");
const ExplorerBase_js_1 = require("./ExplorerBase.js");
const loaders_js_1 = require("./loaders.js");
const merge_1 = require("./merge");
const util_js_1 = require("./util.js");
/**
* @internal
@ -33,13 +33,19 @@ class ExplorerSync extends ExplorerBase_js_1.ExplorerBase {
return config;
}
}
const stopDir = path_1.default.resolve(this.config.stopDir);
from = path_1.default.resolve(from);
const dirs = this.#getDirs(from);
const firstDirIter = dirs.next();
/* istanbul ignore if -- @preserve */
if (firstDirIter.done) {
// this should never happen
throw new Error(`Could not find any folders to iterate through (start from ${from})`);
}
let currentDir = firstDirIter.value;
const search = () => {
/* istanbul ignore if -- @preserve */
if ((0, path_type_1.isDirectorySync)(from)) {
for (const place of this.config.searchPlaces) {
const filepath = path_1.default.join(from, place);
if ((0, util_js_1.isDirectorySync)(currentDir.path)) {
for (const filepath of this.getSearchPlacesForDir(currentDir, defaults_1.globalConfigSearchPlacesSync)) {
try {
const result = this.#readConfiguration(filepath);
if (result !== null &&
@ -50,18 +56,19 @@ class ExplorerSync extends ExplorerBase_js_1.ExplorerBase {
catch (error) {
if (error.code === 'ENOENT' ||
error.code === 'EISDIR' ||
error.code === 'ENOTDIR') {
error.code === 'ENOTDIR' ||
error.code === 'EACCES') {
continue;
}
throw error;
}
}
}
const dir = path_1.default.dirname(from);
if (from !== stopDir && from !== dir) {
from = dir;
const nextDirIter = dirs.next();
if (!nextDirIter.done) {
currentDir = nextDirIter.value;
if (this.searchCache) {
return (0, util_js_1.emplace)(this.searchCache, from, search);
return (0, util_js_1.emplace)(this.searchCache, currentDir.path, search);
}
return search();
}
@ -72,30 +79,91 @@ class ExplorerSync extends ExplorerBase_js_1.ExplorerBase {
}
return search();
}
#readConfiguration(filepath) {
#readConfiguration(filepath, importStack = []) {
const contents = fs_1.default.readFileSync(filepath, 'utf8');
return this.toCosmiconfigResult(filepath, this.#loadConfiguration(filepath, contents));
return this.toCosmiconfigResult(filepath, this.#loadConfigFileWithImports(filepath, contents, importStack));
}
#loadConfigFileWithImports(filepath, contents, importStack) {
const loadedContent = this.#loadConfiguration(filepath, contents);
if (!loadedContent || !(0, merge_1.hasOwn)(loadedContent, '$import')) {
return loadedContent;
}
const fileDirectory = path_1.default.dirname(filepath);
const { $import: imports, ...ownContent } = loadedContent;
const importPaths = Array.isArray(imports) ? imports : [imports];
const newImportStack = [...importStack, filepath];
this.validateImports(filepath, importPaths, newImportStack);
const importedConfigs = importPaths.map((importPath) => {
const fullPath = path_1.default.resolve(fileDirectory, importPath);
const result = this.#readConfiguration(fullPath, newImportStack);
return result?.config;
});
return (0, merge_1.mergeAll)([...importedConfigs, ownContent], {
mergeArrays: this.config.mergeImportArrays,
});
}
#loadConfiguration(filepath, contents) {
if (contents.trim() === '') {
return;
}
if (path_1.default.basename(filepath) === 'package.json') {
return ((0, util_js_1.getPropertyByPath)((0, loaders_js_1.loadJson)(filepath, contents), this.config.packageProp) ?? null);
}
const extension = path_1.default.extname(filepath);
const loader = this.config.loaders[extension || 'noExt'] ??
this.config.loaders['default'];
if (!loader) {
throw new Error(`No loader specified for ${(0, ExplorerBase_js_1.getExtensionDescription)(extension)}`);
}
try {
const loader = this.config.loaders[extension || 'noExt'] ??
this.config.loaders['default'];
if (loader !== undefined) {
return loader(filepath, contents);
const loadedContents = loader(filepath, contents);
if (path_1.default.basename(filepath, extension) !== 'package') {
return loadedContents;
}
return ((0, util_js_1.getPropertyByPath)(loadedContents, this.config.packageProp ?? this.config.moduleName) ?? null);
}
catch (error) {
error.filepath = filepath;
throw error;
}
throw new Error(`No loader specified for ${(0, ExplorerBase_js_1.getExtensionDescription)(extension)}`);
}
#fileExists(path) {
try {
fs_1.default.statSync(path);
return true;
}
catch (e) {
return false;
}
}
*#getDirs(startDir) {
switch (this.config.searchStrategy) {
case 'none': {
// there is no next dir
yield { path: startDir, isGlobalConfig: false };
return;
}
case 'project': {
let currentDir = startDir;
while (true) {
yield { path: currentDir, isGlobalConfig: false };
for (const ext of ['json', 'yaml']) {
const packageFile = path_1.default.join(currentDir, `package.${ext}`);
if (this.#fileExists(packageFile)) {
break;
}
}
const parentDir = path_1.default.dirname(currentDir);
/* istanbul ignore if -- @preserve */
if (parentDir === currentDir) {
// we're probably at the root of the directory structure
break;
}
currentDir = parentDir;
}
return;
}
case 'global': {
yield* this.getGlobalDirs(startDir);
}
}
}
/**
* @deprecated Use {@link ExplorerSync.prototype.load}.

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,5 @@
import { Cache, CosmiconfigResult } from './types';
declare function cacheWrapper(cache: Cache, key: string, fn: () => Promise<CosmiconfigResult>): Promise<CosmiconfigResult>;
declare function cacheWrapperSync(cache: Cache, key: string, fn: () => CosmiconfigResult): CosmiconfigResult;
export { cacheWrapper, cacheWrapperSync };
//# sourceMappingURL=cacheWrapper.d.ts.map

View File

@ -0,0 +1 @@
{"version":3,"file":"cacheWrapper.d.ts","sourceRoot":"","sources":["../src/cacheWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEnD,iBAAe,YAAY,CACzB,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,MAAM,EACX,EAAE,EAAE,MAAM,OAAO,CAAC,iBAAiB,CAAC,GACnC,OAAO,CAAC,iBAAiB,CAAC,CAS5B;AAED,iBAAS,gBAAgB,CACvB,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,MAAM,EACX,EAAE,EAAE,MAAM,iBAAiB,GAC1B,iBAAiB,CASnB;AAED,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC"}

32
Scripts/node_modules/cosmiconfig/dist/cacheWrapper.js generated vendored Normal file
View File

@ -0,0 +1,32 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.cacheWrapper = cacheWrapper;
exports.cacheWrapperSync = cacheWrapperSync;
async function cacheWrapper(cache, key, fn) {
const cached = cache.get(key);
if (cached !== undefined) {
return cached;
}
const result = await fn();
cache.set(key, result);
return result;
}
function cacheWrapperSync(cache, key, fn) {
const cached = cache.get(key);
if (cached !== undefined) {
return cached;
}
const result = fn();
cache.set(key, result);
return result;
}
//# sourceMappingURL=cacheWrapper.js.map

View File

@ -0,0 +1 @@
{"version":3,"file":"cacheWrapper.js","names":["cacheWrapper","cache","key","fn","cached","get","undefined","result","set","cacheWrapperSync"],"sources":["../src/cacheWrapper.ts"],"sourcesContent":["import { Cache, CosmiconfigResult } from './types';\n\nasync function cacheWrapper(\n cache: Cache,\n key: string,\n fn: () => Promise<CosmiconfigResult>,\n): Promise<CosmiconfigResult> {\n const cached = cache.get(key);\n if (cached !== undefined) {\n return cached;\n }\n\n const result = await fn();\n cache.set(key, result);\n return result;\n}\n\nfunction cacheWrapperSync(\n cache: Cache,\n key: string,\n fn: () => CosmiconfigResult,\n): CosmiconfigResult {\n const cached = cache.get(key);\n if (cached !== undefined) {\n return cached;\n }\n\n const result = fn();\n cache.set(key, result);\n return result;\n}\n\nexport { cacheWrapper, cacheWrapperSync };\n"],"mappings":";;;;;;;;AAEA,eAAeA,YAAf,CACEC,KADF,EAEEC,GAFF,EAGEC,EAHF,EAI8B;EAC5B,MAAMC,MAAM,GAAGH,KAAK,CAACI,GAAN,CAAUH,GAAV,CAAf;;EACA,IAAIE,MAAM,KAAKE,SAAf,EAA0B;IACxB,OAAOF,MAAP;EACD;;EAED,MAAMG,MAAM,GAAG,MAAMJ,EAAE,EAAvB;EACAF,KAAK,CAACO,GAAN,CAAUN,GAAV,EAAeK,MAAf;EACA,OAAOA,MAAP;AACD;;AAED,SAASE,gBAAT,CACER,KADF,EAEEC,GAFF,EAGEC,EAHF,EAIqB;EACnB,MAAMC,MAAM,GAAGH,KAAK,CAACI,GAAN,CAAUH,GAAV,CAAf;;EACA,IAAIE,MAAM,KAAKE,SAAf,EAA0B;IACxB,OAAOF,MAAP;EACD;;EAED,MAAMG,MAAM,GAAGJ,EAAE,EAAjB;EACAF,KAAK,CAACO,GAAN,CAAUN,GAAV,EAAeK,MAAf;EACA,OAAOA,MAAP;AACD"}

View File

@ -0,0 +1,3 @@
declare function canUseDynamicImport(): boolean;
export { canUseDynamicImport };
//# sourceMappingURL=canUseDynamicImport.d.ts.map

View File

@ -0,0 +1 @@
{"version":3,"file":"canUseDynamicImport.d.ts","sourceRoot":"","sources":["../src/canUseDynamicImport.ts"],"names":[],"mappings":"AAEA,iBAAS,mBAAmB,IAAI,OAAO,CAUtC;AAED,OAAO,EAAE,mBAAmB,EAAE,CAAC"}

View File

@ -0,0 +1,23 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.canUseDynamicImport = canUseDynamicImport;
/* istanbul ignore file -- @preserve */
let result;
function canUseDynamicImport() {
if (result === undefined) {
try {
new Function('id', 'return import(id);');
result = true;
} catch (e) {
result = false;
}
}
return result;
}
//# sourceMappingURL=canUseDynamicImport.js.map

View File

@ -0,0 +1 @@
{"version":3,"file":"canUseDynamicImport.js","names":["result","canUseDynamicImport","undefined","Function","e"],"sources":["../src/canUseDynamicImport.ts"],"sourcesContent":["/* istanbul ignore file -- @preserve */\nlet result: boolean;\nfunction canUseDynamicImport(): boolean {\n if (result === undefined) {\n try {\n new Function('id', 'return import(id);');\n result = true;\n } catch (e) {\n result = false;\n }\n }\n return result;\n}\n\nexport { canUseDynamicImport };\n"],"mappings":";;;;;;;AAAA;AACA,IAAIA,MAAJ;;AACA,SAASC,mBAAT,GAAwC;EACtC,IAAID,MAAM,KAAKE,SAAf,EAA0B;IACxB,IAAI;MACF,IAAIC,QAAJ,CAAa,IAAb,EAAmB,oBAAnB;MACAH,MAAM,GAAG,IAAT;IACD,CAHD,CAGE,OAAOI,CAAP,EAAU;MACVJ,MAAM,GAAG,KAAT;IACD;EACF;;EACD,OAAOA,MAAP;AACD"}

25
Scripts/node_modules/cosmiconfig/dist/defaults.d.ts generated vendored Normal file
View File

@ -0,0 +1,25 @@
export declare function getDefaultSearchPlaces(moduleName: string): Array<string>;
export declare function getDefaultSearchPlacesSync(moduleName: string): Array<string>;
export declare const globalConfigSearchPlaces: string[];
export declare const globalConfigSearchPlacesSync: string[];
export declare const metaSearchPlaces: string[];
export declare const defaultLoaders: Readonly<{
readonly '.mjs': import("./types").Loader;
readonly '.cjs': import("./types").Loader;
readonly '.js': import("./types").Loader;
readonly '.ts': import("./types").Loader;
readonly '.json': import("./types").LoaderSync;
readonly '.yaml': import("./types").LoaderSync;
readonly '.yml': import("./types").LoaderSync;
readonly noExt: import("./types").LoaderSync;
}>;
export declare const defaultLoadersSync: Readonly<{
readonly '.cjs': import("./types").LoaderSync;
readonly '.js': import("./types").LoaderSync;
readonly '.ts': import("./types").LoaderSync;
readonly '.json': import("./types").LoaderSync;
readonly '.yaml': import("./types").LoaderSync;
readonly '.yml': import("./types").LoaderSync;
readonly noExt: import("./types").LoaderSync;
}>;
//# sourceMappingURL=defaults.d.ts.map

View File

@ -0,0 +1 @@
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"AASA,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAwBxE;AAED,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAqB5E;AAED,eAAO,MAAM,wBAAwB,UASpC,CAAC;AACF,eAAO,MAAM,4BAA4B,UAQxC,CAAC;AAGF,eAAO,MAAM,gBAAgB,UAU5B,CAAC;AAGF,eAAO,MAAM,cAAc;;;;;;;;;EAShB,CAAC;AAEZ,eAAO,MAAM,kBAAkB;;;;;;;;EAQpB,CAAC"}

105
Scripts/node_modules/cosmiconfig/dist/defaults.js generated vendored Normal file
View File

@ -0,0 +1,105 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.defaultLoadersSync = exports.defaultLoaders = exports.metaSearchPlaces = exports.globalConfigSearchPlacesSync = exports.globalConfigSearchPlaces = exports.getDefaultSearchPlacesSync = exports.getDefaultSearchPlaces = void 0;
const loaders_1 = require("./loaders");
function getDefaultSearchPlaces(moduleName) {
return [
'package.json',
`.${moduleName}rc`,
`.${moduleName}rc.json`,
`.${moduleName}rc.yaml`,
`.${moduleName}rc.yml`,
`.${moduleName}rc.js`,
`.${moduleName}rc.ts`,
`.${moduleName}rc.cjs`,
`.${moduleName}rc.mjs`,
`.config/${moduleName}rc`,
`.config/${moduleName}rc.json`,
`.config/${moduleName}rc.yaml`,
`.config/${moduleName}rc.yml`,
`.config/${moduleName}rc.js`,
`.config/${moduleName}rc.ts`,
`.config/${moduleName}rc.cjs`,
`.config/${moduleName}rc.mjs`,
`${moduleName}.config.js`,
`${moduleName}.config.ts`,
`${moduleName}.config.cjs`,
`${moduleName}.config.mjs`,
];
}
exports.getDefaultSearchPlaces = getDefaultSearchPlaces;
function getDefaultSearchPlacesSync(moduleName) {
return [
'package.json',
`.${moduleName}rc`,
`.${moduleName}rc.json`,
`.${moduleName}rc.yaml`,
`.${moduleName}rc.yml`,
`.${moduleName}rc.js`,
`.${moduleName}rc.ts`,
`.${moduleName}rc.cjs`,
`.config/${moduleName}rc`,
`.config/${moduleName}rc.json`,
`.config/${moduleName}rc.yaml`,
`.config/${moduleName}rc.yml`,
`.config/${moduleName}rc.js`,
`.config/${moduleName}rc.ts`,
`.config/${moduleName}rc.cjs`,
`${moduleName}.config.js`,
`${moduleName}.config.ts`,
`${moduleName}.config.cjs`,
];
}
exports.getDefaultSearchPlacesSync = getDefaultSearchPlacesSync;
exports.globalConfigSearchPlaces = [
'config',
'config.json',
'config.yaml',
'config.yml',
'config.js',
'config.ts',
'config.cjs',
'config.mjs',
];
exports.globalConfigSearchPlacesSync = [
'config',
'config.json',
'config.yaml',
'config.yml',
'config.js',
'config.ts',
'config.cjs',
];
// this needs to be hardcoded, as this is intended for end users, who can't supply options at this point
exports.metaSearchPlaces = [
'package.json',
'package.yaml',
'.config/config.json',
'.config/config.yaml',
'.config/config.yml',
'.config/config.js',
'.config/config.ts',
'.config/config.cjs',
'.config/config.mjs',
];
// do not allow mutation of default loaders. Make sure it is set inside options
exports.defaultLoaders = Object.freeze({
'.mjs': loaders_1.loadJs,
'.cjs': loaders_1.loadJs,
'.js': loaders_1.loadJs,
'.ts': loaders_1.loadTs,
'.json': loaders_1.loadJson,
'.yaml': loaders_1.loadYaml,
'.yml': loaders_1.loadYaml,
noExt: loaders_1.loadYaml,
});
exports.defaultLoadersSync = Object.freeze({
'.cjs': loaders_1.loadJsSync,
'.js': loaders_1.loadJsSync,
'.ts': loaders_1.loadTsSync,
'.json': loaders_1.loadJson,
'.yaml': loaders_1.loadYaml,
'.yml': loaders_1.loadYaml,
noExt: loaders_1.loadYaml,
});
//# sourceMappingURL=defaults.js.map

View File

@ -0,0 +1 @@
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":";;;AAAA,uCAOmB;AAEnB,SAAgB,sBAAsB,CAAC,UAAkB;IACvD,OAAO;QACL,cAAc;QACd,IAAI,UAAU,IAAI;QAClB,IAAI,UAAU,SAAS;QACvB,IAAI,UAAU,SAAS;QACvB,IAAI,UAAU,QAAQ;QACtB,IAAI,UAAU,OAAO;QACrB,IAAI,UAAU,OAAO;QACrB,IAAI,UAAU,QAAQ;QACtB,IAAI,UAAU,QAAQ;QACtB,WAAW,UAAU,IAAI;QACzB,WAAW,UAAU,SAAS;QAC9B,WAAW,UAAU,SAAS;QAC9B,WAAW,UAAU,QAAQ;QAC7B,WAAW,UAAU,OAAO;QAC5B,WAAW,UAAU,OAAO;QAC5B,WAAW,UAAU,QAAQ;QAC7B,WAAW,UAAU,QAAQ;QAC7B,GAAG,UAAU,YAAY;QACzB,GAAG,UAAU,YAAY;QACzB,GAAG,UAAU,aAAa;QAC1B,GAAG,UAAU,aAAa;KAC3B,CAAC;AACJ,CAAC;AAxBD,wDAwBC;AAED,SAAgB,0BAA0B,CAAC,UAAkB;IAC3D,OAAO;QACL,cAAc;QACd,IAAI,UAAU,IAAI;QAClB,IAAI,UAAU,SAAS;QACvB,IAAI,UAAU,SAAS;QACvB,IAAI,UAAU,QAAQ;QACtB,IAAI,UAAU,OAAO;QACrB,IAAI,UAAU,OAAO;QACrB,IAAI,UAAU,QAAQ;QACtB,WAAW,UAAU,IAAI;QACzB,WAAW,UAAU,SAAS;QAC9B,WAAW,UAAU,SAAS;QAC9B,WAAW,UAAU,QAAQ;QAC7B,WAAW,UAAU,OAAO;QAC5B,WAAW,UAAU,OAAO;QAC5B,WAAW,UAAU,QAAQ;QAC7B,GAAG,UAAU,YAAY;QACzB,GAAG,UAAU,YAAY;QACzB,GAAG,UAAU,aAAa;KAC3B,CAAC;AACJ,CAAC;AArBD,gEAqBC;AAEY,QAAA,wBAAwB,GAAG;IACtC,QAAQ;IACR,aAAa;IACb,aAAa;IACb,YAAY;IACZ,WAAW;IACX,WAAW;IACX,YAAY;IACZ,YAAY;CACb,CAAC;AACW,QAAA,4BAA4B,GAAG;IAC1C,QAAQ;IACR,aAAa;IACb,aAAa;IACb,YAAY;IACZ,WAAW;IACX,WAAW;IACX,YAAY;CACb,CAAC;AAEF,wGAAwG;AAC3F,QAAA,gBAAgB,GAAG;IAC9B,cAAc;IACd,cAAc;IACd,qBAAqB;IACrB,qBAAqB;IACrB,oBAAoB;IACpB,mBAAmB;IACnB,mBAAmB;IACnB,oBAAoB;IACpB,oBAAoB;CACrB,CAAC;AAEF,+EAA+E;AAClE,QAAA,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;IAC1C,MAAM,EAAE,gBAAM;IACd,MAAM,EAAE,gBAAM;IACd,KAAK,EAAE,gBAAM;IACb,KAAK,EAAE,gBAAM;IACb,OAAO,EAAE,kBAAQ;IACjB,OAAO,EAAE,kBAAQ;IACjB,MAAM,EAAE,kBAAQ;IAChB,KAAK,EAAE,kBAAQ;CACP,CAAC,CAAC;AAEC,QAAA,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC9C,MAAM,EAAE,oBAAU;IAClB,KAAK,EAAE,oBAAU;IACjB,KAAK,EAAE,oBAAU;IACjB,OAAO,EAAE,kBAAQ;IACjB,OAAO,EAAE,kBAAQ;IACjB,MAAM,EAAE,kBAAQ;IAChB,KAAK,EAAE,kBAAQ;CACP,CAAC,CAAC"}

View File

@ -0,0 +1,4 @@
declare function getDirectory(filepath: string): Promise<string>;
declare function getDirectorySync(filepath: string): string;
export { getDirectory, getDirectorySync };
//# sourceMappingURL=getDirectory.d.ts.map

View File

@ -0,0 +1 @@
{"version":3,"file":"getDirectory.d.ts","sourceRoot":"","sources":["../src/getDirectory.ts"],"names":[],"mappings":"AAGA,iBAAe,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAU7D;AAED,iBAAS,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAUlD;AAED,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC"}

38
Scripts/node_modules/cosmiconfig/dist/getDirectory.js generated vendored Normal file
View File

@ -0,0 +1,38 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getDirectory = getDirectory;
exports.getDirectorySync = getDirectorySync;
var _path = _interopRequireDefault(require("path"));
var _pathType = require("path-type");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
async function getDirectory(filepath) {
const filePathIsDirectory = await (0, _pathType.isDirectory)(filepath);
if (filePathIsDirectory === true) {
return filepath;
}
const directory = _path.default.dirname(filepath);
return directory;
}
function getDirectorySync(filepath) {
const filePathIsDirectory = (0, _pathType.isDirectorySync)(filepath);
if (filePathIsDirectory === true) {
return filepath;
}
const directory = _path.default.dirname(filepath);
return directory;
}
//# sourceMappingURL=getDirectory.js.map

View File

@ -0,0 +1 @@
{"version":3,"file":"getDirectory.js","names":["getDirectory","filepath","filePathIsDirectory","isDirectory","directory","path","dirname","getDirectorySync","isDirectorySync"],"sources":["../src/getDirectory.ts"],"sourcesContent":["import path from 'path';\nimport { isDirectory, isDirectorySync } from 'path-type';\n\nasync function getDirectory(filepath: string): Promise<string> {\n const filePathIsDirectory = await isDirectory(filepath);\n\n if (filePathIsDirectory === true) {\n return filepath;\n }\n\n const directory = path.dirname(filepath);\n\n return directory;\n}\n\nfunction getDirectorySync(filepath: string): string {\n const filePathIsDirectory = isDirectorySync(filepath);\n\n if (filePathIsDirectory === true) {\n return filepath;\n }\n\n const directory = path.dirname(filepath);\n\n return directory;\n}\n\nexport { getDirectory, getDirectorySync };\n"],"mappings":";;;;;;;;AAAA;;AACA;;;;AAEA,eAAeA,YAAf,CAA4BC,QAA5B,EAA+D;EAC7D,MAAMC,mBAAmB,GAAG,MAAM,IAAAC,qBAAA,EAAYF,QAAZ,CAAlC;;EAEA,IAAIC,mBAAmB,KAAK,IAA5B,EAAkC;IAChC,OAAOD,QAAP;EACD;;EAED,MAAMG,SAAS,GAAGC,aAAA,CAAKC,OAAL,CAAaL,QAAb,CAAlB;;EAEA,OAAOG,SAAP;AACD;;AAED,SAASG,gBAAT,CAA0BN,QAA1B,EAAoD;EAClD,MAAMC,mBAAmB,GAAG,IAAAM,yBAAA,EAAgBP,QAAhB,CAA5B;;EAEA,IAAIC,mBAAmB,KAAK,IAA5B,EAAkC;IAChC,OAAOD,QAAP;EACD;;EAED,MAAMG,SAAS,GAAGC,aAAA,CAAKC,OAAL,CAAaL,QAAb,CAAlB;;EAEA,OAAOG,SAAP;AACD"}

View File

@ -0,0 +1,5 @@
declare function getPropertyByPath(source: {
[key: string]: unknown;
}, path: string | Array<string>): unknown;
export { getPropertyByPath };
//# sourceMappingURL=getPropertyByPath.d.ts.map

View File

@ -0,0 +1 @@
{"version":3,"file":"getPropertyByPath.d.ts","sourceRoot":"","sources":["../src/getPropertyByPath.ts"],"names":[],"mappings":"AAKA,iBAAS,iBAAiB,CACxB,MAAM,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,EAClC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAC3B,OAAO,CAgBT;AAED,OAAO,EAAE,iBAAiB,EAAE,CAAC"}

View File

@ -0,0 +1,28 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getPropertyByPath = getPropertyByPath;
// Resolves property names or property paths defined with period-delimited
// strings or arrays of strings. Property names that are found on the source
// object are used directly (even if they include a period).
// Nested property names that include periods, within a path, are only
// understood in array paths.
function getPropertyByPath(source, path) {
if (typeof path === 'string' && Object.prototype.hasOwnProperty.call(source, path)) {
return source[path];
}
const parsedPath = typeof path === 'string' ? path.split('.') : path; // eslint-disable-next-line @typescript-eslint/no-explicit-any
return parsedPath.reduce((previous, key) => {
if (previous === undefined) {
return previous;
}
return previous[key];
}, source);
}
//# sourceMappingURL=getPropertyByPath.js.map

View File

@ -0,0 +1 @@
{"version":3,"file":"getPropertyByPath.js","names":["getPropertyByPath","source","path","Object","prototype","hasOwnProperty","call","parsedPath","split","reduce","previous","key","undefined"],"sources":["../src/getPropertyByPath.ts"],"sourcesContent":["// Resolves property names or property paths defined with period-delimited\n// strings or arrays of strings. Property names that are found on the source\n// object are used directly (even if they include a period).\n// Nested property names that include periods, within a path, are only\n// understood in array paths.\nfunction getPropertyByPath(\n source: { [key: string]: unknown },\n path: string | Array<string>,\n): unknown {\n if (\n typeof path === 'string' &&\n Object.prototype.hasOwnProperty.call(source, path)\n ) {\n return source[path];\n }\n\n const parsedPath = typeof path === 'string' ? path.split('.') : path;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return parsedPath.reduce((previous: any, key): unknown => {\n if (previous === undefined) {\n return previous;\n }\n return previous[key];\n }, source);\n}\n\nexport { getPropertyByPath };\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA,SAASA,iBAAT,CACEC,MADF,EAEEC,IAFF,EAGW;EACT,IACE,OAAOA,IAAP,KAAgB,QAAhB,IACAC,MAAM,CAACC,SAAP,CAAiBC,cAAjB,CAAgCC,IAAhC,CAAqCL,MAArC,EAA6CC,IAA7C,CAFF,EAGE;IACA,OAAOD,MAAM,CAACC,IAAD,CAAb;EACD;;EAED,MAAMK,UAAU,GAAG,OAAOL,IAAP,KAAgB,QAAhB,GAA2BA,IAAI,CAACM,KAAL,CAAW,GAAX,CAA3B,GAA6CN,IAAhE,CARS,CAST;;EACA,OAAOK,UAAU,CAACE,MAAX,CAAkB,CAACC,QAAD,EAAgBC,GAAhB,KAAiC;IACxD,IAAID,QAAQ,KAAKE,SAAjB,EAA4B;MAC1B,OAAOF,QAAP;IACD;;IACD,OAAOA,QAAQ,CAACC,GAAD,CAAf;EACD,CALM,EAKJV,MALI,CAAP;AAMD"}

View File

@ -1,25 +1,6 @@
export * from './types.js';
import { Options, OptionsSync, PublicExplorer, PublicExplorerSync } from './types.js';
export declare const metaSearchPlaces: string[];
export declare const defaultLoaders: Readonly<{
readonly '.mjs': import("./types.js").Loader;
readonly '.cjs': import("./types.js").Loader;
readonly '.js': import("./types.js").Loader;
readonly '.ts': import("./types.js").Loader;
readonly '.json': import("./types.js").LoaderSync;
readonly '.yaml': import("./types.js").LoaderSync;
readonly '.yml': import("./types.js").LoaderSync;
readonly noExt: import("./types.js").LoaderSync;
}>;
export declare const defaultLoadersSync: Readonly<{
readonly '.cjs': import("./types.js").LoaderSync;
readonly '.js': import("./types.js").LoaderSync;
readonly '.ts': import("./types.js").LoaderSync;
readonly '.json': import("./types.js").LoaderSync;
readonly '.yaml': import("./types.js").LoaderSync;
readonly '.yml': import("./types.js").LoaderSync;
readonly noExt: import("./types.js").LoaderSync;
}>;
export declare function cosmiconfig(moduleName: string, options?: Readonly<Options>): PublicExplorer;
export declare function cosmiconfigSync(moduleName: string, options?: Readonly<OptionsSync>): PublicExplorerSync;
import { defaultLoaders, defaultLoadersSync, getDefaultSearchPlaces, getDefaultSearchPlacesSync, globalConfigSearchPlaces, globalConfigSearchPlacesSync } from './defaults';
import { CommonOptions, Config, CosmiconfigResult, Loader, LoaderResult, Loaders, LoadersSync, LoaderSync, Options, OptionsSync, PublicExplorer, PublicExplorerBase, PublicExplorerSync, SearchStrategy, Transform, TransformSync } from './types.js';
export declare function cosmiconfig(moduleName: string, options?: Readonly<Partial<Options>>): PublicExplorer;
export declare function cosmiconfigSync(moduleName: string, options?: Readonly<Partial<OptionsSync>>): PublicExplorerSync;
export { Config, CosmiconfigResult, LoaderResult, Loader, Loaders, LoaderSync, LoadersSync, Transform, TransformSync, SearchStrategy, CommonOptions, Options, OptionsSync, PublicExplorerBase, PublicExplorer, PublicExplorerSync, getDefaultSearchPlaces, getDefaultSearchPlacesSync, globalConfigSearchPlaces, globalConfigSearchPlacesSync, defaultLoaders, defaultLoadersSync, };
//# sourceMappingURL=index.d.ts.map

View File

@ -1 +1 @@
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,YAAY,CAAC;AAa3B,OAAO,EAGL,OAAO,EACP,WAAW,EACX,cAAc,EACd,kBAAkB,EAEnB,MAAM,YAAY,CAAC;AAIpB,eAAO,MAAM,gBAAgB,UAS5B,CAAC;AAGF,eAAO,MAAM,cAAc;;;;;;;;;EAShB,CAAC;AACZ,eAAO,MAAM,kBAAkB;;;;;;;;EAQpB,CAAC;AAuIZ,wBAAgB,WAAW,CACzB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,QAAQ,CAAC,OAAO,CAAM,GAC9B,cAAc,CAWhB;AAED,wBAAgB,eAAe,CAC7B,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,QAAQ,CAAC,WAAW,CAAM,GAClC,kBAAkB,CAWpB"}
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,sBAAsB,EACtB,0BAA0B,EAE1B,wBAAwB,EACxB,4BAA4B,EAC7B,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,aAAa,EACb,MAAM,EACN,iBAAiB,EAGjB,MAAM,EACN,YAAY,EACZ,OAAO,EACP,WAAW,EACX,UAAU,EACV,OAAO,EACP,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,SAAS,EACT,aAAa,EACd,MAAM,YAAY,CAAC;AAqKpB,wBAAgB,WAAW,CACzB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAM,GACvC,cAAc,CAUhB;AAED,wBAAgB,eAAe,CAC7B,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAM,GAC3C,kBAAkB,CAUpB;AAED,OAAO,EACL,MAAM,EACN,iBAAiB,EACjB,YAAY,EACZ,MAAM,EACN,OAAO,EACP,UAAU,EACV,WAAW,EACX,SAAS,EACT,aAAa,EACb,cAAc,EACd,aAAa,EACb,OAAO,EACP,WAAW,EACX,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,sBAAsB,EACtB,0BAA0B,EAC1B,wBAAwB,EACxB,4BAA4B,EAC5B,cAAc,EACd,kBAAkB,GACnB,CAAC"}

View File

@ -1,174 +1,128 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.cosmiconfigSync = exports.cosmiconfig = exports.defaultLoadersSync = exports.defaultLoaders = exports.metaSearchPlaces = void 0;
/* eslint-disable @typescript-eslint/explicit-module-boundary-types */
__exportStar(require("./types.js"), exports);
const os_1 = __importDefault(require("os"));
exports.defaultLoadersSync = exports.defaultLoaders = exports.globalConfigSearchPlacesSync = exports.globalConfigSearchPlaces = exports.getDefaultSearchPlacesSync = exports.getDefaultSearchPlaces = exports.cosmiconfigSync = exports.cosmiconfig = void 0;
const defaults_1 = require("./defaults");
Object.defineProperty(exports, "defaultLoaders", { enumerable: true, get: function () { return defaults_1.defaultLoaders; } });
Object.defineProperty(exports, "defaultLoadersSync", { enumerable: true, get: function () { return defaults_1.defaultLoadersSync; } });
Object.defineProperty(exports, "getDefaultSearchPlaces", { enumerable: true, get: function () { return defaults_1.getDefaultSearchPlaces; } });
Object.defineProperty(exports, "getDefaultSearchPlacesSync", { enumerable: true, get: function () { return defaults_1.getDefaultSearchPlacesSync; } });
Object.defineProperty(exports, "globalConfigSearchPlaces", { enumerable: true, get: function () { return defaults_1.globalConfigSearchPlaces; } });
Object.defineProperty(exports, "globalConfigSearchPlacesSync", { enumerable: true, get: function () { return defaults_1.globalConfigSearchPlacesSync; } });
const Explorer_js_1 = require("./Explorer.js");
const ExplorerSync_js_1 = require("./ExplorerSync.js");
const loaders_js_1 = require("./loaders.js");
const util_1 = require("./util");
// this needs to be hardcoded, as this is intended for end users, who can't supply options at this point
exports.metaSearchPlaces = [
'package.json',
'.config.json',
'.config.yaml',
'.config.yml',
'.config.js',
'.config.ts',
'.config.cjs',
'.config.mjs',
];
// do not allow mutation of default loaders. Make sure it is set inside options
exports.defaultLoaders = Object.freeze({
'.mjs': loaders_js_1.loadJs,
'.cjs': loaders_js_1.loadJs,
'.js': loaders_js_1.loadJs,
'.ts': loaders_js_1.loadTs,
'.json': loaders_js_1.loadJson,
'.yaml': loaders_js_1.loadYaml,
'.yml': loaders_js_1.loadYaml,
noExt: loaders_js_1.loadYaml,
});
exports.defaultLoadersSync = Object.freeze({
'.cjs': loaders_js_1.loadJsSync,
'.js': loaders_js_1.loadJsSync,
'.ts': loaders_js_1.loadTsSync,
'.json': loaders_js_1.loadJson,
'.yaml': loaders_js_1.loadYaml,
'.yml': loaders_js_1.loadYaml,
noExt: loaders_js_1.loadYaml,
});
const identity = function identity(x) {
return x;
};
function getInternalOptions(moduleName, options) {
function getUserDefinedOptionsFromMetaConfig() {
const metaExplorer = new ExplorerSync_js_1.ExplorerSync({
packageProp: 'cosmiconfig',
moduleName: 'cosmiconfig',
stopDir: process.cwd(),
searchPlaces: exports.metaSearchPlaces,
searchPlaces: defaults_1.metaSearchPlaces,
ignoreEmptySearchPlaces: false,
applyPackagePropertyPathToConfiguration: true,
loaders: exports.defaultLoaders,
loaders: defaults_1.defaultLoaders,
transform: identity,
cache: true,
metaConfigFilePath: null,
mergeImportArrays: true,
mergeSearchPlaces: true,
searchStrategy: 'none',
});
const metaConfig = metaExplorer.search();
if (!metaConfig) {
return options;
return null;
}
if (metaConfig.config?.loaders) {
throw new Error('Can not specify loaders in meta config file');
}
const overrideOptions = metaConfig.config ?? {};
if (overrideOptions.searchPlaces) {
overrideOptions.searchPlaces = overrideOptions.searchPlaces.map((path) => path.replace('{name}', moduleName));
if (metaConfig.config?.searchStrategy) {
throw new Error('Can not specify searchStrategy in meta config file');
}
overrideOptions.metaConfigFilePath = metaConfig.filepath;
return { ...options, ...(0, util_1.removeUndefinedValuesFromObject)(overrideOptions) };
}
function normalizeOptions(moduleName, options) {
const defaults = {
packageProp: moduleName,
searchPlaces: [
'package.json',
`.${moduleName}rc`,
`.${moduleName}rc.json`,
`.${moduleName}rc.yaml`,
`.${moduleName}rc.yml`,
`.${moduleName}rc.js`,
`.${moduleName}rc.ts`,
`.${moduleName}rc.cjs`,
`.${moduleName}rc.mjs`,
`.config/${moduleName}rc`,
`.config/${moduleName}rc.json`,
`.config/${moduleName}rc.yaml`,
`.config/${moduleName}rc.yml`,
`.config/${moduleName}rc.js`,
`.config/${moduleName}rc.ts`,
`.config/${moduleName}rc.cjs`,
`.config/${moduleName}rc.mjs`,
`${moduleName}.config.js`,
`${moduleName}.config.ts`,
`${moduleName}.config.cjs`,
`${moduleName}.config.mjs`,
],
ignoreEmptySearchPlaces: true,
stopDir: os_1.default.homedir(),
cache: true,
transform: identity,
loaders: exports.defaultLoaders,
metaConfigFilePath: null,
const overrideOptions = {
mergeSearchPlaces: true,
...(metaConfig.config ?? {}),
};
return {
config: (0, util_1.removeUndefinedValuesFromObject)(overrideOptions),
filepath: metaConfig.filepath,
};
}
function getResolvedSearchPlaces(moduleName, toolDefinedSearchPlaces, userConfiguredOptions) {
const userConfiguredSearchPlaces = userConfiguredOptions.searchPlaces?.map((path) => path.replace('{name}', moduleName));
if (userConfiguredOptions.mergeSearchPlaces) {
return [...(userConfiguredSearchPlaces ?? []), ...toolDefinedSearchPlaces];
}
return (userConfiguredSearchPlaces ??
/* istanbul ignore next */ toolDefinedSearchPlaces);
}
function mergeOptionsBase(moduleName, defaults, options) {
const userDefinedConfig = getUserDefinedOptionsFromMetaConfig();
if (!userDefinedConfig) {
return {
...defaults,
...(0, util_1.removeUndefinedValuesFromObject)(options),
loaders: {
...defaults.loaders,
...options.loaders,
},
};
}
const userConfiguredOptions = userDefinedConfig.config;
const toolDefinedSearchPlaces = options.searchPlaces ?? defaults.searchPlaces;
return {
...defaults,
...(0, util_1.removeUndefinedValuesFromObject)(options),
metaConfigFilePath: userDefinedConfig.filepath,
...userConfiguredOptions,
searchPlaces: getResolvedSearchPlaces(moduleName, toolDefinedSearchPlaces, userConfiguredOptions),
loaders: {
...defaults.loaders,
...options.loaders,
},
};
}
function normalizeOptionsSync(moduleName, options) {
function validateOptions(options) {
if (options.searchStrategy != null &&
options.searchStrategy !== 'global' &&
options.stopDir) {
throw new Error('Can not supply `stopDir` option with `searchStrategy` other than "global"');
}
}
function mergeOptions(moduleName, options) {
validateOptions(options);
const defaults = {
packageProp: moduleName,
searchPlaces: [
'package.json',
`.${moduleName}rc`,
`.${moduleName}rc.json`,
`.${moduleName}rc.yaml`,
`.${moduleName}rc.yml`,
`.${moduleName}rc.js`,
`.${moduleName}rc.ts`,
`.${moduleName}rc.cjs`,
`.config/${moduleName}rc`,
`.config/${moduleName}rc.json`,
`.config/${moduleName}rc.yaml`,
`.config/${moduleName}rc.yml`,
`.config/${moduleName}rc.js`,
`.config/${moduleName}rc.ts`,
`.config/${moduleName}rc.cjs`,
`${moduleName}.config.js`,
`${moduleName}.config.ts`,
`${moduleName}.config.cjs`,
],
moduleName,
searchPlaces: (0, defaults_1.getDefaultSearchPlaces)(moduleName),
ignoreEmptySearchPlaces: true,
stopDir: os_1.default.homedir(),
cache: true,
transform: identity,
loaders: exports.defaultLoadersSync,
loaders: defaults_1.defaultLoaders,
metaConfigFilePath: null,
mergeImportArrays: true,
mergeSearchPlaces: true,
searchStrategy: options.stopDir ? 'global' : 'none',
};
return {
...defaults,
...(0, util_1.removeUndefinedValuesFromObject)(options),
loaders: {
...defaults.loaders,
...options.loaders,
},
return mergeOptionsBase(moduleName, defaults, options);
}
function mergeOptionsSync(moduleName, options) {
validateOptions(options);
const defaults = {
moduleName,
searchPlaces: (0, defaults_1.getDefaultSearchPlacesSync)(moduleName),
ignoreEmptySearchPlaces: true,
cache: true,
transform: identity,
loaders: defaults_1.defaultLoadersSync,
metaConfigFilePath: null,
mergeImportArrays: true,
mergeSearchPlaces: true,
searchStrategy: options.stopDir ? 'global' : 'none',
};
return mergeOptionsBase(moduleName, defaults, options);
}
function cosmiconfig(moduleName, options = {}) {
const internalOptions = getInternalOptions(moduleName, options);
const normalizedOptions = normalizeOptions(moduleName, internalOptions);
const normalizedOptions = mergeOptions(moduleName, options);
const explorer = new Explorer_js_1.Explorer(normalizedOptions);
return {
search: explorer.search.bind(explorer),
@ -180,8 +134,7 @@ function cosmiconfig(moduleName, options = {}) {
}
exports.cosmiconfig = cosmiconfig;
function cosmiconfigSync(moduleName, options = {}) {
const internalOptions = getInternalOptions(moduleName, options);
const normalizedOptions = normalizeOptionsSync(moduleName, internalOptions);
const normalizedOptions = mergeOptionsSync(moduleName, options);
const explorerSync = new ExplorerSync_js_1.ExplorerSync(normalizedOptions);
return {
search: explorerSync.search.bind(explorerSync),

View File

@ -1 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,yCAQoB;AA8OlB,+FArPA,yBAAc,OAqPA;AACd,mGArPA,6BAAkB,OAqPA;AALlB,uGA/OA,iCAAsB,OA+OA;AACtB,2GA/OA,qCAA0B,OA+OA;AAC1B,yGA9OA,mCAAwB,OA8OA;AACxB,6GA9OA,uCAA4B,OA8OA;AA5O9B,+CAAyC;AACzC,uDAAiD;AAqBjD,iCAAyD;AAEzD,MAAM,QAAQ,GAAkB,SAAS,QAAQ,CAAC,CAAC;IACjD,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AAEF,SAAS,mCAAmC;IAC1C,MAAM,YAAY,GAAG,IAAI,8BAAY,CAAC;QACpC,UAAU,EAAE,aAAa;QACzB,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE;QACtB,YAAY,EAAE,2BAAgB;QAC9B,uBAAuB,EAAE,KAAK;QAC9B,uCAAuC,EAAE,IAAI;QAC7C,OAAO,EAAE,yBAAc;QACvB,SAAS,EAAE,QAAQ;QACnB,KAAK,EAAE,IAAI;QACX,kBAAkB,EAAE,IAAI;QACxB,iBAAiB,EAAE,IAAI;QACvB,iBAAiB,EAAE,IAAI;QACvB,cAAc,EAAE,MAAM;KACvB,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC;IAEzC,IAAI,CAAC,UAAU,EAAE;QACf,OAAO,IAAI,CAAC;KACb;IAED,IAAI,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE;QAC9B,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;KAChE;IAED,IAAI,UAAU,CAAC,MAAM,EAAE,cAAc,EAAE;QACrC,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;KACvE;IAED,MAAM,eAAe,GAAmC;QACtD,iBAAiB,EAAE,IAAI;QACvB,GAAG,CAAC,UAAU,CAAC,MAAM,IAAI,EAAE,CAAC;KAC7B,CAAC;IAEF,OAAO;QACL,MAAM,EAAE,IAAA,sCAA+B,EAAC,eAAe,CAEtD;QACD,QAAQ,EAAE,UAAU,CAAC,QAAQ;KAC9B,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAC9B,UAAkB,EAClB,uBAAsC,EACtC,qBAAwB;IAExB,MAAM,0BAA0B,GAAG,qBAAqB,CAAC,YAAY,EAAE,GAAG,CACxE,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,CACrD,CAAC;IACF,IAAI,qBAAqB,CAAC,iBAAiB,EAAE;QAC3C,OAAO,CAAC,GAAG,CAAC,0BAA0B,IAAI,EAAE,CAAC,EAAE,GAAG,uBAAuB,CAAC,CAAC;KAC5E;IAED,OAAO,CACL,0BAA0B;QAC1B,0BAA0B,CAAC,uBAAuB,CACnD,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAIvB,UAAkB,EAClB,QAAiB,EACjB,OAAgC;IAEhC,MAAM,iBAAiB,GAAG,mCAAmC,EAAE,CAAC;IAEhE,IAAI,CAAC,iBAAiB,EAAE;QACtB,OAAO;YACL,GAAG,QAAQ;YACX,GAAG,IAAA,sCAA+B,EAAC,OAAO,CAAC;YAC3C,OAAO,EAAE;gBACP,GAAG,QAAQ,CAAC,OAAO;gBACnB,GAAG,OAAO,CAAC,OAAO;aACnB;SACF,CAAC;KACH;IAED,MAAM,qBAAqB,GAAG,iBAAiB,CAAC,MAAwB,CAAC;IAEzE,MAAM,uBAAuB,GAAG,OAAO,CAAC,YAAY,IAAI,QAAQ,CAAC,YAAY,CAAC;IAE9E,OAAO;QACL,GAAG,QAAQ;QACX,GAAG,IAAA,sCAA+B,EAAC,OAAO,CAAC;QAC3C,kBAAkB,EAAE,iBAAiB,CAAC,QAAQ;QAC9C,GAAG,qBAAqB;QACxB,YAAY,EAAE,uBAAuB,CACnC,UAAU,EACV,uBAAuB,EACvB,qBAAqB,CACtB;QACD,OAAO,EAAE;YACP,GAAG,QAAQ,CAAC,OAAO;YACnB,GAAG,OAAO,CAAC,OAAO;SACnB;KACF,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CACtB,OAAiD;IAEjD,IACE,OAAO,CAAC,cAAc,IAAI,IAAI;QAC9B,OAAO,CAAC,cAAc,KAAK,QAAQ;QACnC,OAAO,CAAC,OAAO,EACf;QACA,MAAM,IAAI,KAAK,CACb,2EAA2E,CAC5E,CAAC;KACH;AACH,CAAC;AAED,SAAS,YAAY,CACnB,UAAkB,EAClB,OAAmC;IAEnC,eAAe,CAAC,OAAO,CAAC,CAAC;IACzB,MAAM,QAAQ,GAAG;QACf,UAAU;QACV,YAAY,EAAE,IAAA,iCAAsB,EAAC,UAAU,CAAC;QAChD,uBAAuB,EAAE,IAAI;QAC7B,KAAK,EAAE,IAAI;QACX,SAAS,EAAE,QAAQ;QACnB,OAAO,EAAE,yBAAc;QACvB,kBAAkB,EAAE,IAAI;QACxB,iBAAiB,EAAE,IAAI;QACvB,iBAAiB,EAAE,IAAI;QACvB,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM;KAC1B,CAAC;IAE5B,OAAO,gBAAgB,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,gBAAgB,CACvB,UAAkB,EAClB,OAAuC;IAEvC,eAAe,CAAC,OAAO,CAAC,CAAC;IACzB,MAAM,QAAQ,GAAG;QACf,UAAU;QACV,YAAY,EAAE,IAAA,qCAA0B,EAAC,UAAU,CAAC;QACpD,uBAAuB,EAAE,IAAI;QAC7B,KAAK,EAAE,IAAI;QACX,SAAS,EAAE,QAAQ;QACnB,OAAO,EAAE,6BAAkB;QAC3B,kBAAkB,EAAE,IAAI;QACxB,iBAAiB,EAAE,IAAI;QACvB,iBAAiB,EAAE,IAAI;QACvB,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM;KACtB,CAAC;IAEhC,OAAO,gBAAgB,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AACzD,CAAC;AAED,SAAgB,WAAW,CACzB,UAAkB,EAClB,UAAsC,EAAE;IAExC,MAAM,iBAAiB,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC5D,MAAM,QAAQ,GAAG,IAAI,sBAAQ,CAAC,iBAAiB,CAAC,CAAC;IACjD,OAAO;QACL,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;QACtC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;QAClC,cAAc,EAAE,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC;QACtD,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC1D,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC;KACjD,CAAC;AACJ,CAAC;AAbD,kCAaC;AAED,SAAgB,eAAe,CAC7B,UAAkB,EAClB,UAA0C,EAAE;IAE5C,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAChE,MAAM,YAAY,GAAG,IAAI,8BAAY,CAAC,iBAAiB,CAAC,CAAC;IACzD,OAAO;QACL,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;QAC9C,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;QAC1C,cAAc,EAAE,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC;QAC9D,gBAAgB,EAAE,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC;QAClE,WAAW,EAAE,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;KACzD,CAAC;AACJ,CAAC;AAbD,0CAaC"}

View File

@ -1 +1 @@
{"version":3,"file":"loaders.d.ts","sourceRoot":"","sources":["../src/loaders.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGhD,eAAO,MAAM,UAAU,EAAE,UAMxB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,MAOpB,CAAC;AAGF,eAAO,MAAM,QAAQ,EAAE,UAWtB,CAAC;AAGF,eAAO,MAAM,QAAQ,EAAE,UAWtB,CAAC;AAGF,eAAO,MAAM,UAAU,EAAE,UA0BxB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,MA0BpB,CAAC"}
{"version":3,"file":"loaders.d.ts","sourceRoot":"","sources":["../src/loaders.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGhD,eAAO,MAAM,UAAU,EAAE,UAMxB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,MAqBpB,CAAC;AAGF,eAAO,MAAM,QAAQ,EAAE,UAWtB,CAAC;AAGF,eAAO,MAAM,QAAQ,EAAE,UAWtB,CAAC;AAGF,eAAO,MAAM,UAAU,EAAE,UA0BxB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,MAgCpB,CAAC"}

View File

@ -23,7 +23,19 @@ const loadJs = async function loadJs(filepath) {
return (await import(href)).default;
}
catch (error) {
return (0, exports.loadJsSync)(filepath, '');
try {
return (0, exports.loadJsSync)(filepath, '');
}
catch (requireError) {
if (requireError.code === 'ERR_REQUIRE_ESM' ||
(requireError instanceof SyntaxError &&
requireError
.toString()
.includes('Cannot use import statement outside a module'))) {
throw error;
}
throw requireError;
}
}
};
exports.loadJs = loadJs;
@ -91,23 +103,26 @@ const loadTs = async function loadTs(filepath, content) {
typescript = (await import('typescript')).default;
}
const compiledFilepath = `${filepath.slice(0, -2)}mjs`;
let transpiledContent;
try {
const config = resolveTsConfig(path_1.default.dirname(filepath)) ?? {};
config.compilerOptions = {
...config.compilerOptions,
module: typescript.ModuleKind.ES2022,
moduleResolution: typescript.ModuleResolutionKind.Bundler,
target: typescript.ScriptTarget.ES2022,
noEmit: false,
};
content = typescript.transpileModule(content, config).outputText;
await (0, promises_1.writeFile)(compiledFilepath, content);
const { href } = (0, url_1.pathToFileURL)(compiledFilepath);
return (await import(href)).default;
}
catch (error) {
error.message = `TypeScript Error in ${filepath}:\n${error.message}`;
throw error;
try {
const config = resolveTsConfig(path_1.default.dirname(filepath)) ?? {};
config.compilerOptions = {
...config.compilerOptions,
module: typescript.ModuleKind.ES2022,
moduleResolution: typescript.ModuleResolutionKind.Bundler,
target: typescript.ScriptTarget.ES2022,
noEmit: false,
};
transpiledContent = typescript.transpileModule(content, config).outputText;
await (0, promises_1.writeFile)(compiledFilepath, transpiledContent);
}
catch (error) {
error.message = `TypeScript Error in ${filepath}:\n${error.message}`;
throw error;
}
// eslint-disable-next-line @typescript-eslint/return-await
return await (0, exports.loadJs)(compiledFilepath, transpiledContent);
}
finally {
if ((0, fs_1.existsSync)(compiledFilepath)) {

View File

@ -1 +1 @@
{"version":3,"file":"loaders.js","sourceRoot":"","sources":["../src/loaders.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"loaders.js","sourceRoot":"","sources":["../src/loaders.ts"],"names":[],"mappings":"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"}

9
Scripts/node_modules/cosmiconfig/dist/merge.d.ts generated vendored Normal file
View File

@ -0,0 +1,9 @@
export declare const hasOwn: (thisArg: any, ...argArray: any[]) => any;
export interface MergeOptions {
mergeArrays: boolean;
}
/**
* Merges multiple objects. Doesn't care about cloning non-primitives, as we load all these objects fresh from a file.
*/
export declare function mergeAll(objects: ReadonlyArray<any>, options: MergeOptions): any;
//# sourceMappingURL=merge.d.ts.map

1
Scripts/node_modules/cosmiconfig/dist/merge.d.ts.map generated vendored Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../src/merge.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,MAAM,2CAElB,CAAC;AASF,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,OAAO,CAAC;CACtB;AAuBD;;GAEG;AACH,wBAAgB,QAAQ,CAEtB,OAAO,EAAE,aAAa,CAAC,GAAG,CAAC,EAC3B,OAAO,EAAE,YAAY,GAEpB,GAAG,CAEL"}

40
Scripts/node_modules/cosmiconfig/dist/merge.js generated vendored Normal file
View File

@ -0,0 +1,40 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.mergeAll = exports.hasOwn = void 0;
/* eslint-disable @typescript-eslint/unbound-method */
exports.hasOwn = Function.prototype.call.bind(Object.prototype.hasOwnProperty);
const objToString = Function.prototype.call.bind(Object.prototype.toString);
/* eslint-enable @typescript-eslint/unbound-method */
function isPlainObject(obj) {
return objToString(obj) === '[object Object]';
}
// eslint-disable-next-line @typescript-eslint/no-explicit-any
function merge(target, source, options) {
for (const key of Object.keys(source)) {
const newValue = source[key];
if ((0, exports.hasOwn)(target, key)) {
if (Array.isArray(target[key]) && Array.isArray(newValue)) {
if (options.mergeArrays) {
target[key].push(...newValue);
continue;
}
}
else if (isPlainObject(target[key]) && isPlainObject(newValue)) {
target[key] = merge(target[key], newValue, options);
continue;
}
}
target[key] = newValue;
}
return target;
}
/**
* Merges multiple objects. Doesn't care about cloning non-primitives, as we load all these objects fresh from a file.
*/
function mergeAll(
// eslint-disable-next-line @typescript-eslint/no-explicit-any
objects, options) {
return objects.reduce((target, source) => merge(target, source, options), {});
}
exports.mergeAll = mergeAll;
//# sourceMappingURL=merge.js.map

1
Scripts/node_modules/cosmiconfig/dist/merge.js.map generated vendored Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"merge.js","sourceRoot":"","sources":["../src/merge.ts"],"names":[],"mappings":";;;AAAA,sDAAsD;AACzC,QAAA,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAChD,MAAM,CAAC,SAAS,CAAC,cAAc,CAChC,CAAC;AACF,MAAM,WAAW,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AAE5E,qDAAqD;AAErD,SAAS,aAAa,CAAC,GAAY;IACjC,OAAO,WAAW,CAAC,GAAG,CAAC,KAAK,iBAAiB,CAAC;AAChD,CAAC;AAMD,8DAA8D;AAC9D,SAAS,KAAK,CAAC,MAAW,EAAE,MAAW,EAAE,OAAqB;IAC5D,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;QACrC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,IAAA,cAAM,EAAC,MAAM,EAAE,GAAG,CAAC,EAAE;YACvB,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBACzD,IAAI,OAAO,CAAC,WAAW,EAAE;oBACvB,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;oBAC9B,SAAS;iBACV;aACF;iBAAM,IAAI,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE;gBAChE,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;gBACpD,SAAS;aACV;SACF;QACD,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;KACxB;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAgB,QAAQ;AACtB,8DAA8D;AAC9D,OAA2B,EAC3B,OAAqB;IAGrB,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;AAChF,CAAC;AAPD,4BAOC"}

7
Scripts/node_modules/cosmiconfig/dist/readFile.d.ts generated vendored Normal file
View File

@ -0,0 +1,7 @@
interface Options {
throwNotFound?: boolean;
}
declare function readFile(filepath: string, options?: Options): Promise<string | null>;
declare function readFileSync(filepath: string, options?: Options): string | null;
export { readFile, readFileSync };
//# sourceMappingURL=readFile.d.ts.map

View File

@ -0,0 +1 @@
{"version":3,"file":"readFile.d.ts","sourceRoot":"","sources":["../src/readFile.ts"],"names":[],"mappings":"AAkBA,UAAU,OAAO;IACf,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,iBAAe,QAAQ,CACrB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,OAAY,GACpB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAiBxB;AAED,iBAAS,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,OAAY,GAAG,MAAM,GAAG,IAAI,CAiB5E;AAED,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC"}

56
Scripts/node_modules/cosmiconfig/dist/readFile.js generated vendored Normal file
View File

@ -0,0 +1,56 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.readFile = readFile;
exports.readFileSync = readFileSync;
var _fs = _interopRequireDefault(require("fs"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
async function fsReadFileAsync(pathname, encoding) {
return new Promise((resolve, reject) => {
_fs.default.readFile(pathname, encoding, (error, contents) => {
if (error) {
reject(error);
return;
}
resolve(contents);
});
});
}
async function readFile(filepath, options = {}) {
const throwNotFound = options.throwNotFound === true;
try {
const content = await fsReadFileAsync(filepath, 'utf8');
return content;
} catch (error) {
if (throwNotFound === false && (error.code === 'ENOENT' || error.code === 'EISDIR')) {
return null;
}
throw error;
}
}
function readFileSync(filepath, options = {}) {
const throwNotFound = options.throwNotFound === true;
try {
const content = _fs.default.readFileSync(filepath, 'utf8');
return content;
} catch (error) {
if (throwNotFound === false && (error.code === 'ENOENT' || error.code === 'EISDIR')) {
return null;
}
throw error;
}
}
//# sourceMappingURL=readFile.js.map

View File

@ -0,0 +1 @@
{"version":3,"file":"readFile.js","names":["fsReadFileAsync","pathname","encoding","Promise","resolve","reject","fs","readFile","error","contents","filepath","options","throwNotFound","content","code","readFileSync"],"sources":["../src/readFile.ts"],"sourcesContent":["import fs from 'fs';\n\nasync function fsReadFileAsync(\n pathname: string,\n encoding: BufferEncoding,\n): Promise<string> {\n return new Promise((resolve, reject): void => {\n fs.readFile(pathname, encoding, (error, contents): void => {\n if (error) {\n reject(error);\n return;\n }\n\n resolve(contents);\n });\n });\n}\n\ninterface Options {\n throwNotFound?: boolean;\n}\n\nasync function readFile(\n filepath: string,\n options: Options = {},\n): Promise<string | null> {\n const throwNotFound = options.throwNotFound === true;\n\n try {\n const content = await fsReadFileAsync(filepath, 'utf8');\n\n return content;\n } catch (error: any) {\n if (\n throwNotFound === false &&\n (error.code === 'ENOENT' || error.code === 'EISDIR')\n ) {\n return null;\n }\n\n throw error;\n }\n}\n\nfunction readFileSync(filepath: string, options: Options = {}): string | null {\n const throwNotFound = options.throwNotFound === true;\n\n try {\n const content = fs.readFileSync(filepath, 'utf8');\n\n return content;\n } catch (error: any) {\n if (\n throwNotFound === false &&\n (error.code === 'ENOENT' || error.code === 'EISDIR')\n ) {\n return null;\n }\n\n throw error;\n }\n}\n\nexport { readFile, readFileSync };\n"],"mappings":";;;;;;;;AAAA;;;;AAEA,eAAeA,eAAf,CACEC,QADF,EAEEC,QAFF,EAGmB;EACjB,OAAO,IAAIC,OAAJ,CAAY,CAACC,OAAD,EAAUC,MAAV,KAA2B;IAC5CC,WAAA,CAAGC,QAAH,CAAYN,QAAZ,EAAsBC,QAAtB,EAAgC,CAACM,KAAD,EAAQC,QAAR,KAA2B;MACzD,IAAID,KAAJ,EAAW;QACTH,MAAM,CAACG,KAAD,CAAN;QACA;MACD;;MAEDJ,OAAO,CAACK,QAAD,CAAP;IACD,CAPD;EAQD,CATM,CAAP;AAUD;;AAMD,eAAeF,QAAf,CACEG,QADF,EAEEC,OAAgB,GAAG,EAFrB,EAG0B;EACxB,MAAMC,aAAa,GAAGD,OAAO,CAACC,aAAR,KAA0B,IAAhD;;EAEA,IAAI;IACF,MAAMC,OAAO,GAAG,MAAMb,eAAe,CAACU,QAAD,EAAW,MAAX,CAArC;IAEA,OAAOG,OAAP;EACD,CAJD,CAIE,OAAOL,KAAP,EAAmB;IACnB,IACEI,aAAa,KAAK,KAAlB,KACCJ,KAAK,CAACM,IAAN,KAAe,QAAf,IAA2BN,KAAK,CAACM,IAAN,KAAe,QAD3C,CADF,EAGE;MACA,OAAO,IAAP;IACD;;IAED,MAAMN,KAAN;EACD;AACF;;AAED,SAASO,YAAT,CAAsBL,QAAtB,EAAwCC,OAAgB,GAAG,EAA3D,EAA8E;EAC5E,MAAMC,aAAa,GAAGD,OAAO,CAACC,aAAR,KAA0B,IAAhD;;EAEA,IAAI;IACF,MAAMC,OAAO,GAAGP,WAAA,CAAGS,YAAH,CAAgBL,QAAhB,EAA0B,MAA1B,CAAhB;;IAEA,OAAOG,OAAP;EACD,CAJD,CAIE,OAAOL,KAAP,EAAmB;IACnB,IACEI,aAAa,KAAK,KAAlB,KACCJ,KAAK,CAACM,IAAN,KAAe,QAAf,IAA2BN,KAAK,CAACM,IAAN,KAAe,QAD3C,CADF,EAGE;MACA,OAAO,IAAP;IACD;;IAED,MAAMN,KAAN;EACD;AACF"}

View File

@ -30,29 +30,36 @@ export type Transform = ((CosmiconfigResult: CosmiconfigResult) => Promise<Cosmi
* @public
*/
export type TransformSync = (CosmiconfigResult: CosmiconfigResult) => CosmiconfigResult;
/**
* @public
*/
export type SearchStrategy = 'none' | 'project' | 'global';
/**
* @public
*/
export interface CommonOptions {
packageProp?: string | Array<string>;
searchPlaces?: Array<string>;
ignoreEmptySearchPlaces?: boolean;
searchPlaces: Array<string>;
ignoreEmptySearchPlaces: boolean;
stopDir?: string;
cache?: boolean;
cache: boolean;
mergeImportArrays: boolean;
mergeSearchPlaces: boolean;
searchStrategy: SearchStrategy;
}
/**
* @public
*/
export interface Options extends CommonOptions {
loaders?: Loaders;
transform?: Transform;
loaders: Loaders;
transform: Transform;
}
/**
* @public
*/
export interface OptionsSync extends CommonOptions {
loaders?: LoadersSync;
transform?: TransformSync;
loaders: LoadersSync;
transform: TransformSync;
}
/**
* @public

View File

@ -1 +1 @@
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,MAAM,GAAG,GAAG,CAAC;AAEzB;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GAAG,IAAI,CAAC;AAET;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,IAAI,CAAC;AAEzC;;GAEG;AACH,MAAM,MAAM,MAAM,GACd,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC,GAC9D,UAAU,CAAC;AAEf;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,YAAY,CAAC;AAE7E;;GAEG;AACH,MAAM,MAAM,SAAS,GACjB,CAAC,CAAC,iBAAiB,EAAE,iBAAiB,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC,GACtE,aAAa,CAAC;AAElB;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,CAC1B,iBAAiB,EAAE,iBAAiB,KACjC,iBAAiB,CAAC;AAEvB;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,WAAW,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IACrC,YAAY,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,OAAQ,SAAQ,aAAa;IAC5C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,aAAa;IAChD,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,SAAS,CAAC,EAAE,aAAa,CAAC;CAC3B;AA4BD;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,kBAAkB;IACxD,MAAM,EAAE,CAAC,UAAU,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC5D,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACxD;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB;IAC5D,MAAM,EAAE,CAAC,UAAU,CAAC,EAAE,MAAM,KAAK,iBAAiB,CAAC;IACnD,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,iBAAiB,CAAC;CAC/C"}
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,MAAM,GAAG,GAAG,CAAC;AAEzB;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GAAG,IAAI,CAAC;AAET;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,IAAI,CAAC;AAEzC;;GAEG;AACH,MAAM,MAAM,MAAM,GACd,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC,GAC9D,UAAU,CAAC;AAEf;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,YAAY,CAAC;AAE7E;;GAEG;AACH,MAAM,MAAM,SAAS,GACjB,CAAC,CAAC,iBAAiB,EAAE,iBAAiB,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC,GACtE,aAAa,CAAC;AAElB;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,CAC1B,iBAAiB,EAAE,iBAAiB,KACjC,iBAAiB,CAAC;AAEvB;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE3D;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,WAAW,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IACrC,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5B,uBAAuB,EAAE,OAAO,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,iBAAiB,EAAE,OAAO,CAAC;IAC3B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,cAAc,EAAE,cAAc,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,OAAQ,SAAQ,aAAa;IAC5C,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,SAAS,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,aAAa;IAChD,OAAO,EAAE,WAAW,CAAC;IACrB,SAAS,EAAE,aAAa,CAAC;CAC1B;AA8BD;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,kBAAkB;IACxD,MAAM,EAAE,CAAC,UAAU,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC5D,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACxD;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB;IAC5D,MAAM,EAAE,CAAC,UAAU,CAAC,EAAE,MAAM,KAAK,iBAAiB,CAAC;IACnD,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,iBAAiB,CAAC;CAC/C"}

View File

@ -1,6 +1,30 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.removeUndefinedValuesFromObject = exports.getPropertyByPath = exports.emplace = void 0;
exports.isDirectorySync = exports.isDirectory = exports.removeUndefinedValuesFromObject = exports.getPropertyByPath = exports.emplace = void 0;
const fs_1 = __importStar(require("fs"));
/**
* @internal
*/
@ -39,11 +63,37 @@ function getPropertyByPath(source, path) {
exports.getPropertyByPath = getPropertyByPath;
/** @internal */
function removeUndefinedValuesFromObject(options) {
/* istanbul ignore if -- @preserve */
if (!options) {
return undefined;
}
return Object.fromEntries(Object.entries(options).filter(([, value]) => value !== undefined));
}
exports.removeUndefinedValuesFromObject = removeUndefinedValuesFromObject;
/** @internal */
/* istanbul ignore next -- @preserve */
async function isDirectory(path) {
try {
const stat = await fs_1.promises.stat(path);
return stat.isDirectory();
}
catch (e) {
if (e.code === 'ENOENT') {
return false;
}
throw e;
}
}
exports.isDirectory = isDirectory;
/** @internal */
/* istanbul ignore next -- @preserve */
function isDirectorySync(path) {
try {
const stat = fs_1.default.statSync(path);
return stat.isDirectory();
}
catch (e) {
if (e.code === 'ENOENT') {
return false;
}
throw e;
}
}
exports.isDirectorySync = isDirectorySync;
//# sourceMappingURL=util.js.map

View File

@ -1 +1 @@
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,SAAgB,OAAO,CAAO,GAAc,EAAE,GAAM,EAAE,EAAW;IAC/D,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B,IAAI,MAAM,KAAK,SAAS,EAAE;QACxB,OAAO,MAAM,CAAC;KACf;IACD,MAAM,MAAM,GAAG,EAAE,EAAE,CAAC;IACpB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACrB,OAAO,MAAM,CAAC;AAChB,CAAC;AARD,0BAQC;AAED,0EAA0E;AAC1E,4EAA4E;AAC5E,4DAA4D;AAC5D,sEAAsE;AACtE,6BAA6B;AAC7B;;GAEG;AACH,SAAgB,iBAAiB,CAC/B,MAAkC,EAClC,IAA4B;IAE5B,IACE,OAAO,IAAI,KAAK,QAAQ;QACxB,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAClD;QACA,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;KACrB;IAED,MAAM,UAAU,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACrE,8DAA8D;IAC9D,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,QAAa,EAAE,GAAG,EAAW,EAAE;QACvD,IAAI,QAAQ,KAAK,SAAS,EAAE;YAC1B,OAAO,QAAQ,CAAC;SACjB;QACD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC,EAAE,MAAM,CAAC,CAAC;AACb,CAAC;AAnBD,8CAmBC;AAED,gBAAgB;AAChB,SAAgB,+BAA+B,CAC7C,OAA4C;IAE5C,qCAAqC;IACrC,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,SAAS,CAAC;KAClB;IACD,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CACnE,CAAC;AACJ,CAAC;AAVD,0EAUC"}
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAyC;AAEzC;;GAEG;AACH,SAAgB,OAAO,CAAO,GAAc,EAAE,GAAM,EAAE,EAAW;IAC/D,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B,IAAI,MAAM,KAAK,SAAS,EAAE;QACxB,OAAO,MAAM,CAAC;KACf;IACD,MAAM,MAAM,GAAG,EAAE,EAAE,CAAC;IACpB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACrB,OAAO,MAAM,CAAC;AAChB,CAAC;AARD,0BAQC;AAED,0EAA0E;AAC1E,4EAA4E;AAC5E,4DAA4D;AAC5D,sEAAsE;AACtE,6BAA6B;AAC7B;;GAEG;AACH,SAAgB,iBAAiB,CAC/B,MAAkC,EAClC,IAA4B;IAE5B,IACE,OAAO,IAAI,KAAK,QAAQ;QACxB,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAClD;QACA,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;KACrB;IAED,MAAM,UAAU,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACrE,8DAA8D;IAC9D,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,QAAa,EAAE,GAAG,EAAW,EAAE;QACvD,IAAI,QAAQ,KAAK,SAAS,EAAE;YAC1B,OAAO,QAAQ,CAAC;SACjB;QACD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC,EAAE,MAAM,CAAC,CAAC;AACb,CAAC;AAnBD,8CAmBC;AAED,gBAAgB;AAChB,SAAgB,+BAA+B,CAC7C,OAAgC;IAEhC,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CACnE,CAAC;AACJ,CAAC;AAND,0EAMC;AAED,gBAAgB;AAChB,uCAAuC;AAChC,KAAK,UAAU,WAAW,CAAC,IAAY;IAC5C,IAAI;QACF,MAAM,IAAI,GAAG,MAAM,aAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;KAC3B;IAAC,OAAO,CAAC,EAAE;QACV,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE;YACvB,OAAO,KAAK,CAAC;SACd;QAED,MAAM,CAAC,CAAC;KACT;AACH,CAAC;AAXD,kCAWC;AAED,gBAAgB;AAChB,uCAAuC;AACvC,SAAgB,eAAe,CAAC,IAAY;IAC1C,IAAI;QACF,MAAM,IAAI,GAAG,YAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;KAC3B;IAAC,OAAO,CAAC,EAAE;QACV,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE;YACvB,OAAO,KAAK,CAAC;SACd;QACD,MAAM,CAAC,CAAC;KACT;AACH,CAAC;AAVD,0CAUC"}

View File

@ -1,6 +1,6 @@
{
"name": "cosmiconfig",
"version": "8.3.6",
"version": "9.0.0",
"description": "Find and load configuration from a package.json property, rc file, TypeScript module, and more!",
"main": "dist/index.js",
"types": "dist/index.d.ts",
@ -68,10 +68,10 @@
}
},
"dependencies": {
"env-paths": "^2.2.1",
"import-fresh": "^3.3.0",
"js-yaml": "^4.1.0",
"parse-json": "^5.2.0",
"path-type": "^4.0.0"
"parse-json": "^5.2.0"
},
"devDependencies": {
"@types/js-yaml": "^4.0.5",
@ -81,8 +81,6 @@
"@typescript-eslint/parser": "^6.5.0",
"@vitest/coverage-istanbul": "^0.34.3",
"cross-env": "^7.0.3",
"del": "^7.1.0",
"del-cli": "^5.1.0",
"eslint": "^8.48.0",
"eslint-config-davidtheclark-node": "^0.2.2",
"eslint-config-prettier": "^9.0.0",
@ -92,7 +90,6 @@
"eslint-plugin-vitest": "^0.2.8",
"husky": "^8.0.3",
"lint-staged": "^14.0.1",
"make-dir": "^4.0.0",
"parent-module": "^3.0.0",
"prettier": "^3.0.3",
"remark-preset-davidtheclark": "^0.12.0",