Comments (3)
I think that each of the items you've listed are about resolving paths/modules. If cosmiconfig were able to serve each of these projects, I'm thinking it's role would end after resolving those items to absolute paths — then the consumer would decide what to do with those paths.
So the question here is whether the format of these configuration properties and the the means of resolution can be common enough between the projects to justify a shared tool.
I'll detail what stylelint (and stylefmt) does for comparison (cc @jeddy3 if I've made mistakes):
plugins
is an array of string locators or a single string locator. Each locator is either- The name of a module in local
node_modules* (have not built in the ability to load global
node_modules`, though it's been asked for. - An absolute path
- A relative path, relative to the referencing configuration file — or, if that fails, relative to
process.cwd()
- The name of a module in local
extends
is the same asplugins
.ignoreFiles
is an array of globs or a single glob. If the globs are relative, we attempt to resolve them relative to the referencing configuration file, and if that fails we try to resolve them relative toprocess.cwd()
.
Stylelint has the special situation that you configure a loaded plugin via "rules". Other tools might not have this, so they may need to be able to accept configuration objects alongside lookups in the plugins array.
from cosmiconfig.
I think that there are anthor issue.
Babel and ESLint synchronously load config.
If these project use cosmiconfig, there are breaking change.
from cosmiconfig.
I don't think this in issue for cosmiconfig. If you'd like to open issues in other projects discussing this possibility, I think that would be more productive..
from cosmiconfig.
Related Issues (20)
- metaConfig.config ?? {}; HOT 4
- `explorer.search(...)` crashes with `{stopDir: undefined}` option HOT 2
- Node.js version breaking change HOT 2
- Why does cosmiconfig require Node version greater than 18.0.0? HOT 2
- Could not resolve module "node:os" from
- Regression in v8.3.x - missing json config file doesn't always return null HOT 9
- SyntaxError: Unexpected token '.' HOT 2
- Lerna-Lite project having an empty `.config.json` file gets picked up by cosmiconfig and is unexpected - behavior changed after 8.0 HOT 8
- Add link to Python port of Cosmiconfig HOT 2
- README doesn't mention .mjs files inside of a config directory HOT 2
- Error: EACCES: permission denied, open '/.config/puppeteerrc’ HOT 9
- Offer a "minimal" version with less dependencies
- Also find [`pnpm`] package.yaml/json5 properties HOT 1
- Module "typescript" possibly misplaced as a dev dependency HOT 1
- cosmiconfig requires at least version 4 of Node, please upgrade HOT 1
- Please release source code to npm if you release source map files HOT 1
- Question: latest v9 not mentioned in changelog and no github release exists HOT 2
- Meta config files are not looked in cwd anymore? (in v9 changelog but not in README HOT 6
- It says `.ts` configs are supported automatically, and also `.cjs` and `.mjs`, but why `.cts` and `.mts` are not supported?
- CJS configuration files in ESM projects do not freshly import
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cosmiconfig.