You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
By default, `clean`, `migrate`, and `kickstart`, which are considered features that _can_ take a long time, will send a system UI notification if they _do_ take long. Unless you're on DND it should sound - which is the point of it. They're sent so you can safely move away from the terminal and know when we're done, so you can get back to whatever's next as soon as possible.
4
+
5
+
These notifications are fired if the running task took more than 30 seconds to complete. This threshold can be disabled, so they're shown even if it takes 1 second. In future versions you'll be able to customize the threshold.
6
+
7
+
Notifications are enabled by default, but can be disabled if you don't like them.
8
+
9
+
!!! warning Support for Linux
10
+
On Linux, it's assumed that `notify-send` is installed. If not, notifications simply won't be sent, without a warning.
Copy file name to clipboardExpand all lines: docs/manual/build.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -40,7 +40,7 @@ There's nothing more to configure. It's a relatively simple automation.
40
40
41
41
### What to expect
42
42
43
-
Progress with all commands will be printed step by step.
43
+
Progress with all commands will be printed step by step. Note that output is not shown live, it gets printed all at once the moment the command finishes execution.
Copy file name to clipboardExpand all lines: docs/manual/configuration.md
+19-15Lines changed: 19 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -107,35 +107,39 @@ As most apps, we offer settings you can tweak. We use default values that should
107
107
108
108
Currently supported settings are the following them. Change them with `settings change <KEY> <value>`
109
109
110
-
| KEY | Value Type | Description | Notes |
111
-
| :--- | ---: | :--- | ---: |
112
-
|`defaultIntensity`|`normal`, `hard`, `hard-only`, `maxim`, or `maxim-only`| Changes the default intensity for the `clean` command. | / |
113
-
|`updateFreq`| A fixed number | Changes how frequently (in DAYS) the CLI sends an HTTP request for updates. | We recommend setting it to a high value as we don't frequently update, so you can save up those HTTP requests. |
114
-
|`flushFreq`| A fixed number | Changes how frequently (in DAYS) the CLI removes the `.log` file to save up space. | Cannot be disabled, setting it to `0` will make it auto-flush each time. |
115
-
|`favEditor`|`vscode`, `sublime`, `emacs`, `atom`, `vscodium`, `notepad++`| Your favorite code editor. Used by `kickstart`. | / |
110
+
| KEY | Value Type | Description |
111
+
| :--- | :--- | ---: |
112
+
|`defaultIntensity`|`normal`, `hard`, `hard-only`, `maxim`, or `maxim-only`| Changes the default intensity for the `clean` command. |
113
+
|`updateFreq`| A fixed number | Changes how frequently (in DAYS) the CLI sends an HTTP request for updates. We recommend setting it to a high value as we don't frequently update. |
114
+
|`flushFreq`| A fixed number | Changes how frequently (in DAYS) the CLI removes the `.log` file to save up space. Cannot be disabled, setting it to `0` will make it auto-flush each time. |
115
+
|`favEditor`|`vscode`, `sublime`, `emacs`, `atom`, `vscodium`, `notepad++`| Your favorite code editor. Used by `kickstart` and `launch`. |
116
+
|`showNotifications`|`true`, `false`| Whether to [use system notifications](../learn/notifications.md). Highly recommended |
117
+
|`thresholdNotifications`|`true`, `false`| Enabled by default, makes system notifications only fire up if the task to be notified about takes less than 30 seconds. |
116
118
117
119
### View current settings
118
120
119
121
To view your current settings, run `fuckingnode settings` with no args. You should see something like this:
120
122
121
-
```bash
123
+
```txt
122
124
💡 Your current settings are:
123
125
---
124
-
Update frequency: Each 69 days. updateFreq
125
-
Default cleaner intensity: hard. defaultIntensity
126
-
Favorite editor: vscodium. favEditor
127
-
Auto-flush log file frequency: Each 13 days. flushFreq
Copy file name to clipboardExpand all lines: docs/manual/kickstart.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,6 +9,8 @@ The `kickstart` command is an extra command that increases your productivity by
9
9
- Launches your favorite code editor (as defined by your user settings).
10
10
- Adds the project to the FuckingNode list.
11
11
12
+
Plus, **if it takes long, you'll receive a [system notification](../learn/notifications.md) once done,** so if it's a large repo you can just switch tabs and focus on something else, and get notified once ready so you can get to coding.
Copy file name to clipboardExpand all lines: docs/manual/launch.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Using FuckingNode: Launch a project
2
2
3
-
> `fuckingnode launcher <project>`, or `fklaunch <project>`
3
+
> `fuckingnode launch <project>`, or `fklaunch <project>`
4
4
5
5
The `launch` command is a command that automatically launches your favorite editor with a project open, and automatically runs a "launch task", e.g. `npm run start`. It can also auto-update your dependencies on launch. It can take a project's name from the `package.json` / `deno.json` / `Cargo.toml`, so it's as simple as doing `fklaunch my-project`.
6
6
@@ -20,4 +20,4 @@ By default it just launches your favorite editor with your project opened. For u
20
20
21
21
You've now learnt how to speed up launching your projects.
22
22
23
-
Next: Setup - How to quickly get text-config files ready.
> `fuckingnode migrate <project> <target>`, or `fklaunch <project> <target>`
4
+
5
+
The `migrate` command automatically migrates your project from one JS stack to another. For example, from npm to Bun, or from npm to pnpm, or from npm to anything better.
6
+
7
+
It doesn't do any migration _per se_, it relies on package managers knowing how to manage that (which is usually the case). Its purpose is to automate the process, since a migration involves several steps (updating lockfiles, removing node_modules, installing, removing old lockfile...).
8
+
9
+
As this can take time, **if it takes long, you'll receive a [system notification](../learn/notifications.md) once done,** so you can just switch tabs and focus on something else, and get notified once ready so you can get back to coding.
10
+
11
+
## Usage
12
+
13
+
Just run the following:
14
+
15
+
```bash
16
+
fuckingnode migrate <TARGET><PROJECT>
17
+
```
18
+
19
+
`TARGET` is the target package manager (the one to migrate to), can be either npm or pnpm or yarn or deno or bun. `PROJECT` is optional, specifies what project to be migrated, if not provided the CWD is used.
20
+
21
+
We'll tell you step by step what are we doing. Previous lockfile will be copied to a `.bak` file.
22
+
23
+
---
24
+
25
+
You've now learnt how to escape npm.
26
+
27
+
Next: Setup - How to quickly get text-config files ready.
When executed with no arguments, it'll do a cleanup using the default intensity (which is `normal` and can be changed from the [settings](configuration.md#settings)) across all of your projects.
18
18
19
+
It'll iterate through all of your projects and clean them, showing status updates one by one in the terminal. Once it ends, a report is shown, telling how much time did it take us to clean each individual project. **You'll receive a [system notification](../learn/notifications.md) once done,** so you can switch tabs and focus on something else - you'll know when to come back.
20
+
19
21
## Cleaner intensities, explained
20
22
21
23
There are five (well, three in reality) intensities available:
@@ -133,7 +135,7 @@ Some of these features depend on `fknode.yaml` configuration, [as noted above](#
133
135
134
136
!!! info "About errors"
135
137
136
-
Any error from additional tasks will fail silently; this means they won't stop the execution flow and no logs will be made. However, since the CLI shows command output live, errors will likely be shown in there.
138
+
Any error from additional tasks will fail silently; this means they won't stop the execution flow and no logs will be made. Error logs are dumped into a log file; you're shown the path whenever an error of this kind happens.
137
139
138
140
### Linting your code: `--lint`
139
141
@@ -239,12 +241,6 @@ To override it, do the same as with the linter and prettifier, but setting the `
239
241
updateCmdOverride: "update"
240
242
```
241
243
242
-
## Additional info
243
-
244
-
### Show additional info during cleanup
245
-
246
-
There's a `--verbose` flag that can be passed to `fuckingnode clean`. It'll show the real output of all commands that are being executed, begin and end timestamps for the cleanup process, plus a report showing how much time did it take us to clean each individual project.
0 commit comments