Comments (7)
Asked him in #packages of slack, see https://atomio.slack.com/archives/packages/p1448052728000048
from atom-linter.
Bringing that conversation over here, since there is a limit to that history:
Ping @joefitzgerald
[12:52] I am interested in using your environment package in linter providers, but I have a question
[12:53] For almost all the linter providers, the module that actually spawns the process isatom-linter
, it's an npm module that these apm modules depend on. The fact that you are exporting a service instead of setting a global limits it's usage inatom-linter
, to use that all the apm packages need to consume that service and then pass it on toatom-linter::exec
, it could've been simplified if you were, say setting a global, it would be accessible everywhere and would simplify the implementation
maybe you should use an executor service
[1:22] that depends on environment
from atom-linter.
@Arcanemagus Thank you for bringing this up, I had almost forgotten about it :)
@joefitzgerald I would love to create a service for that, but we would then have to publish this package on apm instead of npm and all packages would have to use it via atom-package-deps
instead of directly. Also it goes against the concept of packages
IMO, 'cause the user will see it in their list and will be given options to uninstall it
from atom-linter.
@steelbrain this package has been proposed to fix this issue in a few of the linter-* packages by @lexicalunit: https://www.npmjs.com/package/fix-path
Maybe we could use it if we can't work around the service requirement of environment
?
from atom-linter.
I am very much in favor of that module you linked to, but the fact that it alters a global when it could return a value would mean that when it's used by multiple packages, it would add duplicate entries. Other than that, it's using hard-coded values opposed to @joefitzgerald's package that finds out the paths by actually executing it, which is a better way IMO
from atom-linter.
As discussed over in AtomLinter/linter-shellcheck#35, this really is something that should be fixed on the Atom side in the end, although we should probably work around this shortcoming temporarily till it lands on stable. It looks like the issue to follow for getting this into Atom: atom/atom#4126
from atom-linter.
I've created a new consistent-path package that should make things easier for us, it's results are isolated and it's an npm package. It also has internal caching as opposed to fix-path
by sindre. Thanks for the idea @lexicalunit
from atom-linter.
Related Issues (20)
- Fix URLs in package.json
- Make rangeFromLineNumber highlight the whole line if no column is provided HOT 4
- atom-linter 5.x breaking linter HOT 7
- Kill spawned process HOT 3
- Error: spawn crystal ENOENT HOT 5
- Show line number on column errors HOT 1
- Use 1-indexed numbers for invalid ranges? HOT 3
- Handle ENOENT properly
- Rename rangeFromLineNumber HOT 2
- Bring back the old 10 seconds timeout
- Unique Spawning
- Fix documentation of uniqueKey
- Upgrade parse to Message v2 HOT 3
- findAsync with an Array<string> parameter HOT 1
- Configurable timeout HOT 1
- Column start greater than line length for line X HOT 5
- Add CircleCI build state badge in README
- Get rid of consistent-env
- Transferring to AtomLinter organization HOT 3
- generateRange function fails for output from pylint HOT 3
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 atom-linter.