https://github.com/attack-monkey/douglas
Douglas installs npm packages as ready-to-roll projects
https://github.com/attack-monkey/douglas
Last synced: 6 months ago
JSON representation
Douglas installs npm packages as ready-to-roll projects
- Host: GitHub
- URL: https://github.com/attack-monkey/douglas
- Owner: attack-monkey
- Created: 2018-11-18T19:42:12.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2019-02-23T19:43:38.000Z (about 7 years ago)
- Last Synced: 2025-03-20T07:31:35.053Z (about 1 year ago)
- Language: JavaScript
- Homepage:
- Size: 3.91 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Hi, I'm Douglas.
I fetch npm packages and install them as ready to roll projects.
When I fetch an npm package, I empty it's contents to your current directory - along with all dependencies.
I'm perfect for seed projects, demos, and simple project scaffolding.
# Install
Install me globally
`npm i -g douglas`
Now I'm on your command line.
_Or if you just need me semi-frequently, you can just skip the global install and use via npx._
Let's find an npm package.
e.g...
_If globally installed:_
`douglas get doug-test`
_Or if not installed globally..._
`npx douglas get doug-test`
Douglas goes off an installs doug-test + dependencies, moves the contents to the current directory, and then removes doug-test from node_modules.
# Publish
To publish a project, use
```
douglas publish
```
This clones your package.json and names it `_package.json`.
What's with the _package.json I hear you ask...
When douglas fetches a package - it replaces the package.json (that has been altered through the publishing process) with _package.json (which doesn't undergo any changes).
> Fun fact: You can still `douglas get` any npm package, even if it doesn't have a _package.json, but you'll notice a far more verbose package.json due to all the the things that the npm publish process adds in.
## Some tips when publishing
Remember to bump your version in package.json before publishing.
Also - make sure you include the keyword *douglas* to your package.json or even prepend your npm package with `doug-` or `douglas-` e.g. `doug-test`. Or `douglas-test`.
This just makes douglas packages easier to find.
When you're ready...
```
douglas publish
```