maticzav / emma-cli Goto Github PK
View Code? Open in Web Editor NEW๐ฆ Terminal assistant to find and install node packages.
๐ฆ Terminal assistant to find and install node packages.
You might want to give a look at the code too, though. I often find so-called micro packages and then find out that they have huge or useless dependencies. Gotta read that index.js!
https://twitter.com/bfred_it/status/971684338549977089
This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.
These updates are currently rate-limited. Click on a checkbox below to force their creation now.
ink-testing-library
, @types/ink-testing-library
)js-yaml
, @types/js-yaml
)node-fetch
, @types/node-fetch
)prompts
, @types/prompts
)@types/react
, react
)js-yaml
, @types/js-yaml
)object-hash
, @types/object-hash
)supertest
, @types/supertest
)@types/jest
, jest
, ts-jest
)@types/react
, react
)These updates have been manually edited so Renovate will no longer make changes. To discard all commits and start over, click on a checkbox.
These updates have all been created already. Click a checkbox below to force a retry/rebase of any.
package.json
@types/jest 24.0.23
chalk 3.0.0
codecov 3.6.1
execa 3.3.0
husky 3.0.9
jest 24.9.0
jest-serializer-ansi 1.0.3
lerna 3.18.4
multilines 1.0.2
prettier 1.19.1
pretty-quick 2.0.1
rimraf 3.0.0
ts-jest 24.1.0
ts-node 8.5.2
tslint 5.20.1
tslint-config-prettier 1.18.0
tslint-config-standard 9.0.0
typescript 3.7.2
packages/create-emma/package.json
algoliasearch ^3.32.1
chalk ^3.0.0
cli-truncate ^2.1.0
creato ^1.1.0
execa ^3.4.0
ink ^2.6.0
ink-spinner ^3.0.0
meow ^5.0.0
multilines ^1.0.2
node-fetch ^2.6.0
open ^7.0.0
ora ^4.0.3
prompts ^2.3.0
react ^16.12.0
string-width ^4.2.0
update-notifier ^3.0.1
@types/algoliasearch 3.34.7
@types/execa 2.0.0
@types/ink 2.0.3
@types/ink-testing-library 1.0.1
@types/jest 24.0.23
@types/meow 5.0.0
@types/node-fetch ^2.5.4
@types/ora ^3.2.0
@types/prompts ^2.0.3
@types/react 16.9.15
@types/update-notifier 2.5.0
@zeit/ncc 0.20.5
ink-testing-library 1.0.2
pkg 4.4.0
node >=8.0.0
packages/emma-cli/package.json
algoliasearch ^3.32.1
execa ^3.4.0
ink ^2.6.0
ink-spinner ^3.0.0
meow ^5.0.0
multilines ^1.0.2
open ^7.0.0
react ^16.12.0
update-notifier ^3.0.1
@types/algoliasearch 3.34.7
@types/execa 2.0.0
@types/ink 2.0.3
@types/ink-testing-library 1.0.1
@types/meow 5.0.0
@types/react 16.9.15
@types/update-notifier 2.5.0
@zeit/ncc 0.20.5
ink-testing-library 1.0.2
pkg 4.4.0
node >=8.0.0
server/package.json
@prisma/photon ^2.0.0-preview018
algoliasearch 3.35.1
crypto ^1.0.1
express 4.17.1
fp-ts 2.2.0
io-ts 2.0.1
js-yaml ^3.13.1
jsonwebtoken 8.5.1
lodash ^4.17.15
object-hash ^2.0.1
prisma2 ^2.0.0-preview018
probot 9.6.6
@types/algoliasearch 3.34.7
@types/express 4.17.2
@types/js-yaml ^3.12.1
@types/jsonwebtoken 8.3.5
@types/lodash ^4.14.149
@types/node 12.12.14
@types/object-hash ^1.3.0
@types/supertest ^2.0.8
execa 3.4.0
husky 3.1.0
lerna 3.19.0
nock ^11.7.0
prisma2 2.0.0-preview016.2
supertest ^4.0.2
ts-jest 24.2.0
ts-node 8.5.4
ts-node-dev 1.0.0-pre.44
typescript 3.7.3
templates/starter/package.json
.nvmrc
Hi, awesome project
I see that we can choose to install packages as devDependencies with the --dev option, but often what happens to me is i search for a package like yarn add next react react-dom
and then need to do yarn add -D @types/next @types/react @types/react-dom
as a devDependencies.
I see two way your cli would be awesome, first i can just start searching and when i select a package to install their is some way to choose as a dependencies or devDependencies so i don't have to to quit the search to switch between dev and normal dependencies.
The second way that would be even more awesome is only useful for typescript people but that would be to install as devDependencies the @types package automatically by searching if it exist.
Let me know how that sounds to you and maybe we can work something out :)
Heya! I'm Kat, the architect for the npm CLI and tink. I just wanted to let you know that your project is super cool and I think is a fantastic candidate for replacing the current npm search (starting off as the new tink search). I've made a post about it asking for community collaborators to contribute it, and I'm expecting a variation on your project!
This isn't me writing asking for you to contribute it, by the way. I just wanted to make sure you knew and hopefully were happy to have inspired this improvement. Thanks for the cool project!
Hi,
First of all, great project!
I'm using yarn in some projects and npm in other. emma
is however defaulting to yarn due to these lines:
Lines 20 to 27 in dfef9ef
What do you think of checking if package-lock.json
exist first? Something like
const canAccessFile = promisify(fs.access)
const exec = promisify(child_process.exec)
const isYarnInstalled = () => exec(`yarnpkg --version`, { stdio: `ignore` }).then(() => true).catch(() => false)
const shouldUseYarn = () => {
return canAccessFile('package-lock.json')
.then(() => false)
.catch(isYarnInstalled)
}
And then:
- const yarn = shouldUseYarn()
+ const yarn = await shouldUseYarn()
I can create a pull request if you want.
Hi there,
Thank you so much for creating this tool, it looks awesome! However, after I install it, by running npm install -g emma-cli
, everytime I enter emma
, I get the following error:
const canAccessFile = (0, _util.promisify)(_fs.default.access);
^
TypeError: (0 , _util.promisify) is not a function
at Object.<anonymous> (/usr/local/lib/node_modules/emma-cli/dist/emma.js:40:43)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (/usr/local/lib/node_modules/emma-cli/dist/index.js:10:36)
at Module._compile (module.js:570:32)```
Hey @maticzav, thanks for this awesome tool ๐
This is just a suggestion, not really an issue, but it would be great if we could see the packages version in the search list!
What do you think?
I like to run a custom script to install my node packages. Is there a way to set the command that is used for installation or just get the output as something machine parseable?
Fresh install, running emma
~/.config/yarn/global/node_modules/emma-cli/node_modules/ink/lib/diff.js:32
vnode.createInstance(props);
^
TypeError: vnode.createInstance is not a function
Love the tool! One thing you might want to consider looking into is a way to select more than one package at a time with a search. For instance, if I want both react and react-dom, I type in react
and both come up. However, I have to press enter on React, retype react, arrow down to react-dom, press enter, then press enter again just to install 2 packages. If I wanted eslint-react-plugin as well, it'd be even worse.
Instead, if I could press space bar or similar to multi-select current packages on the screen, it would make this great tool even quicker. Thanks!
5 results is really to limited IMO.
If I don't already know the exact package name, I can't really get a list long enough to maybe find the right-one. Feel free to close or keep it as nice to have as it's really a personal opinion.
After yarn global add emma-cli
.
I got a successful message:
success Installed "[email protected]" with binaries:
- emma
- ema
โจ Done in 3.96s.
But no emma
CLI is at ls /usr/local/bin/
.
Other yarn
packages installed globally are present there.
Using npx
works great ๐
My env is:
๐ค
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.