Setup F*ckingNode¶
Tip
If you just want to learn how to quickly add a project so you can use the CLI, skip here.
F*ckingNode groups commands in 3 categories, two of them related to setup: clean
, manager
, and settings
.
Inside of the manager
category you have command to manage F*ckingNode's list - because it keeps a list so it knows where your revolutionary JS libraries are located.
Inside of the settings
category we have the obvious - settings.
Manager¶
Adding a project¶
We care about user experience, and that's why we're constantly working to ensure peak performance... blah blah blah TL;DR: you need to setup projects yourself so we don't consume your time and CPU looking in your entire C: drive for NodeJS projects (which trust me, would've been easier for me - kind off).
There are 3 ways to add a project:
1 / You can add a relative or absolute path:
fuckingnode manager add "../projects/something/"
# or
fuckingnode manager add "C:\Users\sigma_boy\projects\something"
# ^^^^^^ (or /home/whatever in linux / mac)
2 / You can get in the root of the project and add --self
This is our recommended way, as you can run it right after running init
and you don't have to type a long folder name.
3 / You also can waste your time opening the config file. It's a plain text file that stores absolute paths separated by line breaks. On Windows it lives at your local %APPDATA%
, and on Linux & mac it lives on HOME
(or XDG_CONFIG_HOME
). It looks kinda like this:
fuckingnode-motherfuckers.txt | |
---|---|
Keep in mind paths must always point to the root. Paths that point to the package.json
itself, or to anything else that isn't the root of the project (the DIR that holds package.json
), else you're cooked (the entire CLI won't work).
By this stage, you can already get started with cleaning your projects.
Removing a project¶
As easy as using one of the previously mentioned methods, but instead of using add
, using remove
.
fuckingnode manager remove "../projects/something/"
fuckingnode manager remove "C:\Users\me\projects\something"
However, there's one more thing. Starting from v2.0.0, thanks to our innovative expertise, you can use a project's name (as in package.json > "name"
).
the above would work as long as you have one added project with this package.json:
Cleaning up projects¶
As time passes, you might one day just remove a project entirely - like remove the folder from your PC. That's the main use case for the fuckingnode manager cleanup
command - it validates all your projects, and offers you to remove those that aren't valid.
A project is not valid basically if it cannot be found - however other conditions do exist, like having a package.json
, not being duplicate, or having a lockfile. If for whatever reason you want to keep a project that is considered "invalid", just hit N
in your keyboard when prompted to delete unneeded entries. Keep in mind we know our validation criteria; if cleanup
shows you anything and you keep it, F*ckingNode is likely to error at some point of the usage process.
Listing projects¶
Just run fuckingnode manager list
. It'll beautifully show you all of your projects in a name@version path
format, kinda like this:
@zakahacecosas/fuckingnode@2.0.2 C:\Users\Zaka\FuckingNode
personaplus@0.0.6-preapp.27 C:\Users\Zaka\personaplus
...
Later on we'll see how to "ignore" projects, but here we'll tell you that you can pass --ignored
to only list ignored projects, or --alive
to only list non-ignored projects. If you try to mix both flags to create a loophole and break the matrix, you won't break anything; the flag you write first will overrule the second one.
Settings¶
As most apps, we offer settings you can tweak. We use default values that should work for most people, to save you even more time - however you might want to change them, especially if you don't use Visual Studio Code, as it's your "favorite editor" by default.
Currently supported settings are:
Command | Type | Description | Notes |
---|---|---|---|
change default-int <value> |
normal , hard , hard-only , or maxim |
Changes the default intensity for the clean command. |
/ |
change update-freq <value> |
A fixed number | Changes how frequently (in DAYS) the CLI sends an HTTP request for updates. | We recommend setting it to a high value; we don't frequently update, so save up those HTTP requests. |
change fav-editor <value> |
vscode , sublime |
Your favorite code editor. Used by kickstart . |
You can't set it to a different editor as of now, sorry. |
View current settings¶
To view your current settings, run fuckingnode settings
with no args. You should see something like this:
💡 Your current settings are:
---
Update frequency: Each 9 days.
Default cleaner intensity: normal
Favorite editor: vscode
Change settings¶
To change them, execute fuckingnode settings change (SETTING) (VALUE)
, for example:
Additional settings commands¶
Settings includes an additional flush
command, that takes a <file>
(logs
, updates
, projects
, or all
) as an argument, removing that from F*ckingNode's configuration. Removing logs
is particularly recommended. Removals of projects
and all
are discouraged - by the way, yes, we store all logs in a .log
file, it lives in %APPDATA%/FuckingNode
on Windows and /home/USER/.config/FuckingNode
on Linux & macOS.
There's another settings command, settings repair
. It simply resets settings to defaults.
You're now fully setup and ready to put those f*cking NodeJS projects in place!