Jérémie Astori
432023fc7e
Make sure existing packages (and themes) are not deleted when installing a new one on Node.js v8
...
- When installing a package on Node v8 (or whatever npm version ships with it - v5), all packages not listed in `package.json` are removed. Since we explicitly added `--no-save`, installing a theme would delete the previous one. I am now checking that the file already exists or not. This means that it will still happen to people the next time they run `thelounge install`, because the previous install did not save into `package.json` :/
- Adding `--save` to make sure that the same, correct behavior is done on Node v6 as well (npm v3)
- Adding `--save-exact` for good measure.
2018-01-16 20:25:35 -05:00
Jérémie Astori
45dc52886e
Fix thelounge uninstall
command
...
- Exit with code 1 when package was not installed
- Run a pre-step to check if package is installed before uninstalling. I have tried every possible way I could think of without that first `npm list` step based on output of `npm uninstall`, but different npm versions produce different outputs, so there is nothing reliable. This is a more robust way to do so anyway.
- Consolidate error handlers
2018-01-13 02:00:37 -05:00
Jérémie Astori
d2388dc623
Bail when uninstalling if package.json for TL packages does not exist
...
It is on purpose that the message is the same than when a package was not installed. From a user standpoint, it only matters that this specific package was not installed.
2018-01-06 12:12:10 -05:00
Jérémie Astori
3971ecff63
Customize a bit thelounge install|uninstall
...
- Hides progress bars that flash when installing/uninstalling as it does not bring real value here, at least for now
- Inform user if package being uninstalled was not actually installed
- Do not display npm outputs, mention which version was installed (this will probably need refining when installing packages with dependencies)
2018-01-06 12:12:10 -05:00
Jérémie Astori
d9cb640c2a
Add a thelounge uninstall
command to remove themes and packages
2018-01-06 12:12:09 -05:00
Jérémie Astori
96d3e58734
Remove deprecated options for thelounge start
...
This was replaced with the `--config` option.
2017-12-13 01:33:25 -05:00
Jérémie Astori
826482bb5b
Remove deprecated support for the --home
option and $LOUNGE_HOME
environment variable
2017-12-12 02:54:50 -05:00
Jérémie Astori
d89112173d
Fix command line index parsing options (--home
and --config
) twice
2017-12-11 23:53:51 -05:00
Jérémie Astori
6547d18e7f
Color all references to deprecations in bold red
2017-12-11 23:48:52 -05:00
Jérémie Astori
07a01b0547
Deprecate existing options of thelounge start
in favor or -c, --config
2017-12-11 23:48:52 -05:00
Jérémie Astori
df2787d3e9
Add a --config
/ -c
option to the start
CLI command to arbitrarily override any configuration key
...
The biggest caveat is that JS code (such as functions) will not be interpreted as such, on purpose, for security precautions. If such thing is needed, then a configuration file must be used.
2017-12-11 23:48:52 -05:00
Jérémie Astori
b90c224a99
Define a raw logger to avoid using console.log
, use it in extra help for environment variables, and add a test for this
...
This has multiple benefits:
- Respects the "Do not mock what you do not own" principle, instead we mock `log.raw` when necessary
- Lets us not re-assign `console.log`, which breaks as Mocha uses `console.log` as well
- Save and restore initial `log.raw` in test hooks (before/after), otherwise this would break Mocha/Chai
2017-12-11 23:48:51 -05:00
Jérémie Astori
c21aee3d4a
Do not load user commands or display them on --help
if public mode or using LDAP
2017-12-09 01:51:08 -05:00
Jérémie Astori
c038935b96
Move user commands to their own subfolder
2017-12-09 01:38:52 -05:00
Jérémie Astori
52d5cb2311
Expand home shorthand in CLI help around THELOUNGE_HOME
environment variable
2017-12-07 23:03:40 -05:00
Jérémie Astori
0482747781
Only use helpers and not shared variables around path helpers
...
This refactor has a few benefits, for example there cannot be a rogue update of `Helper.CONFIG_PATH` or something.
2017-12-07 23:02:32 -05:00
Jérémie Astori
052248445c
Do not rename home file as it is very likely to have permission issues
...
On most systems (Linux at least), to install a npm package locally, one must use `sudo`. When The Lounge runs, it usually does not run with `sudo`. This causes the program to crash as user running The Lounge cannot create/delete files there.
We will let people manually convert this file instead of doing it for them. This file is mainly intended for package authors anyway, most users will never have to touch it.
2017-12-01 01:33:04 -05:00
Pavel Djundik
ba002cca64
Merge pull request #1708 from thelounge/astorije/thelounge
...
Switch CLI tool from `lounge` to `thelounge`, deprecate `lounge`
2017-11-27 13:58:46 +02:00
Jérémie Astori
aca23257ed
Switch CLI tool from lounge
to thelounge
and deprecate lounge
...
This is in preparation of The Lounge v3 which will make `thelounge` uniform across the entire project. No more confusion!
2017-11-22 16:37:26 -05:00
Jérémie Astori
827f1dab96
Deprecate LOUNGE_HOME env var in favor of THELOUNGE_HOME, .lounge_home file in favor of .thelounge_home
...
This is one more step towards uniformization of lounge/thelounge due with The Lounge v3.
2017-11-21 00:36:26 -05:00
Pavel Djundik
adab03f730
Fix test
2017-11-19 19:43:43 +02:00
Jérémie Astori
f2d9ef62cf
Merge pull request #1715 from thelounge/astorije/deprecate-node-v4
...
Deprecate support of Node v4 in preparation of The Lounge v3
2017-11-19 01:05:57 -05:00
Jérémie Astori
ef1c59072c
Deprecate support of Node v4 in preparation of The Lounge v3
2017-11-18 13:52:31 -05:00
Jérémie Astori
1dc92d8934
Enforce dangling commas with ESLint
...
¯\_(ツ)_/¯
2017-11-15 01:35:15 -05:00
Jérémie Astori
0cc9c4166b
Merge pull request #1583 from thelounge/astorije/thelounge-packages
...
Use `thelounge` instead of `lounge` when it comes to external packages
2017-09-30 23:47:02 -04:00
Pavel Djundik
1c4d9351d5
Add info message before calling packageJson
2017-09-29 10:54:03 +03:00
Jérémie Astori
1e10cc66a6
Use thelounge instead of lounge when it comes to external packages
2017-09-29 00:03:01 -04:00
Pavel Djundik
416ebf97ff
Create 'lounge install' command
2017-09-20 10:59:06 +03:00
Jérémie Astori
b8399471b3
Enable ESLint no-console
rule to avoid future mistakes
2017-09-17 21:50:21 -04:00
Jérémie Astori
234fd31411
Clarify some users.length
that were forgotten in a previous PR
2017-08-26 12:04:13 -04:00
Pavel Djundik
252dca3d3f
Only create config folder in 'start' command
...
Fixes #520 .
Fixes #1288 .
2017-08-26 12:04:13 -04:00
Jérémie Astori
ed68ff4a34
Make sure CLI does not crash on undefined.length
when we figured out users could not be read already
2017-08-23 13:21:15 -04:00
Jérémie Astori
aa49856446
Warn when adding or listing users in public mode
2017-08-23 13:21:14 -04:00
Jérémie Astori
f221121998
Inform when no users during autoload to take into account removing the last user
2017-08-23 13:21:14 -04:00
Jérémie Astori
90842267e8
Do not prevent server to run when there are no users in private mode
2017-08-23 13:20:46 -04:00
Jérémie Astori
ac3ce74343
Read default LOUNGE_HOME from .lounge_home file
2017-08-21 02:03:40 -04:00
Jérémie Astori
98bfe349d9
Add documentation for LOUNGE_HOME environment variable in the CLI helper
2017-08-21 01:49:32 -04:00
Jérémie Astori
507cc61d5c
Rename new file holding config location for consistency
...
`.lounge_config` is misleading as this file does not contain the config itself. Also, env var is called `LOUNGE_HOME`, deprecated flag is `--home`, so it makes more sense that way.
2017-08-16 00:34:29 -04:00
Jérémie Astori
5e7a7a3870
Update CLI help with regard to recent deprecation of --home
option
...
- Mark the option as deprecated (cannot be removed from the help, unfortunately)
- Add details to `lounge config` regarding `LOUNGE_HOME`
- Remove mention of `--home` in default config file
2017-08-16 00:33:33 -04:00
Pavel Djundik
5299d976c0
Use .lounge_config to help distribution packages handle config paths right
2017-08-15 21:57:47 +03:00
Pavel Djundik
c14f7da1b2
Generate unique tokens for each login and session
2017-07-31 02:02:15 +03:00
Jérémie Astori
1c732ffc5b
Fix -h
help option alias shadowed by a similar alias for --home
...
In v2.2.1 (and in pretty much every software out there, really), `-h` was an alias of `--help`. By adding it as an alias of `--home`, it is now shown twice in the help.
2017-03-13 01:06:11 -04:00
Matthew Saunders
86ed0b6e59
Update arg parsing and default 'lounge' to 'lounge --help'
2017-03-04 15:58:44 -05:00
Jérémie Astori
410eff428b
Prompt admin for user log at user creation
2017-02-01 01:26:19 -05:00
Jérémie Astori
770ede0587
Define a common helper for prompting to the user consistently
2016-12-16 22:46:14 -05:00
Jérémie Astori
6c546b2098
Fix CLI options on the start command
...
I know it is proposed to deprecate them in favor of a more generic one (`-c port=80`), but in the meantime the existing ones should work properly.
2016-12-15 01:29:44 -05:00
Jérémie Astori
baf3348cda
Normalize colors and content of the CLI tools
2016-12-15 01:13:43 -05:00
Max Leiter
d4554d2fa7
Do not accept empty password when adding new user; closes #316
2016-12-13 20:50:15 -08:00
Pavel Djundik
c5e0dee3a3
Change bcrypt rounds from 8 to 11
2016-10-22 09:24:27 +03:00
William Boman
99218341ec
consolidate version numbers throughout all interfaces
2016-10-10 21:56:57 +02:00
Pavel Djundik
aa02fd5180
Enforce more eslint rules
2016-10-09 17:55:37 -04:00
Jérémie Astori
caa46042bf
Enforce strict mode across all JS files with ESLint
...
Several ES6 additions are only available in strict mode. Example:
> SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode
Strict mode was also enabled in a few of our files already, and it is a good thing to have anyway.
2016-10-09 15:14:02 -04:00
Max Leiter
e6bf20de2f
Handle stderr when using edit or config command, fixes #164
2016-09-24 09:27:58 -07:00
Johan Lindskogen
987474cfc1
implementing LDAP support
2016-07-29 21:28:00 -04:00
Pavel Djundik
100262ad1f
Cache loaded config and merge it with defaults
...
Fixes #249
2016-06-26 19:30:25 +03:00
Pavel Djundik
779aed7cd6
Use tabs when saving user configs
2016-06-19 20:16:50 +03:00
Jérémie Astori
cfdcd405d5
Merge pull request #370 from thelounge/xpaw/persistent-token
...
Implement user token persistency
2016-06-16 02:13:35 -04:00
William Boman
4a75a04402
command-line: fall back to LOUNGE_HOME env variable
2016-06-13 20:22:58 +02:00
Pavel Djundik
9384cd9ca6
Implement user token persistency
2016-06-13 10:33:39 +03:00
Daniel
f8044bfc96
Remove redundant variables ( #397 )
2016-06-12 09:43:35 +03:00
Daniel
3a2d97af6a
Supersede mkdirp with fs-extra.
...
Ensure USERS_PATH exists at start.
Remove unnecessary USER_PATH check.
Use fs-extra's copy to write default config.
2016-06-11 19:35:40 +01:00
Pavel Djundik
dcec9f3c37
Fix overriding home folder
2016-05-15 17:02:53 -04:00
Pavel Djundik
d725bf0f70
Remove permissions test and do not suggest using sudo
2016-05-15 17:02:47 -04:00
Jérémie Astori
fe85873f1e
Replace all concatenated paths with Node's path.join
2016-05-15 17:01:10 -04:00
Pavel Djundik
e75a8f40a6
Stricter eslint rule for curly brackets
2016-05-01 12:41:17 +03:00
Pavel Djundik
d9a0dd9406
Use lowercase global
...
GLOBAL shows a deprecated warning in node 6
2016-04-28 21:36:09 +03:00
Jérémie Astori
21fb0e0709
Merge pull request #257 from thelounge/xpaw/console-log
...
Add global logging helper
2016-04-27 02:43:54 -04:00
Jérémie Astori
1150d646cb
Merge pull request #205 from maxpoulin64/I-194
...
Restrict access to the home directory by default
2016-04-27 02:25:30 -04:00
Pavel Djundik
ede3131168
Add global logging helper
2016-04-27 00:05:55 +03:00
Pavel Djundik
f4ac2aad19
Fix loading config before HOME variable is set
2016-04-19 23:58:49 +03:00
William Boman
8293497ae9
command-line/add,reset: reword password prompt
...
This makes the password prompts not look like a root access password prompt.
2016-04-03 20:47:45 +02:00
Maxime Poulin
346fb83abe
Restrict access to the home directory by default
...
Follow up on #165
Closes #194
2016-03-19 18:59:45 -04:00
Pavel Djundik
bd370699fd
Fix crash and remove remaining 0777 mode
2016-03-05 20:31:29 +02:00
Jérémie Astori
96158ba43d
Rename variable corresponding to the server
2016-02-10 06:20:05 +00:00
Jérémie Astori
39dc4e8957
Update name and link to repo to new project
2016-02-10 06:20:05 +00:00
William Boman
8fdfd70c7e
Comply with ESLint
2015-10-26 03:01:47 +01:00
Mattias Erming
4d525eba88
Fix config
2014-11-06 11:48:10 +00:00
Mattias Erming
1dc9929cf7
Remove password argument from add command
2014-10-27 22:55:20 +01:00
thevdude
d18f318cad
fix command-line scripts to work with username.json files
2014-10-22 22:37:29 -04:00
Mattias Erming
e914ed50eb
Fix '--home' option
2014-10-14 22:53:26 +02:00
Mattias Erming
1a620e1d54
Change 'users/' folder structure
2014-10-14 22:05:16 +02:00
Mattias Erming
377e778f5d
Move config.js
2014-10-14 21:10:09 +02:00
Mattias Erming
4dc9c66859
Bring back process.env variables
2014-10-14 20:47:49 +02:00
Mattias Erming
d1296abf12
Clean up server options
2014-10-11 14:35:28 +02:00
XeonCore
dbd423e5a1
Allow binding to a local IP
2014-10-11 17:17:41 +11:00
David White
df1578689f
Replace "vi" with $EDITOR in config command
2014-10-09 13:40:16 +01:00
David White
a6aa40b1c1
Fix missing Helper method in edit and use $EDITOR
...
* Fix the missing Helper method in the edit command to use Helper.HOME and the correct path assembly method (path.join) instead of joining strings together!
* Use $EDITOR instead of "vi" in the event a user doesn't have "vi" installed or doesn't understand it. Fallback to "vi" in case user doesn't have $EDITOR set.
2014-10-09 09:27:36 +01:00
Mattias Erming
2ed7d6364c
Added '--home <path>' option
2014-10-03 16:33:44 -07:00
Mattias Erming
316fba3c08
Use 'bcrypt-nodejs' package
2014-10-03 02:57:35 -07:00
Mattias Erming
354dac6a52
Fix config overwrite
2014-10-01 14:17:20 -07:00
Mattias Erming
656900448b
Prevent private mode when no user exists
2014-10-01 12:05:07 -07:00
Shell Turner
cb588dc22f
Don't sudo when editing the config
2014-10-01 19:38:35 +02:00
Shell Turner
b7fd64c2d8
Change config command to edit config.js in the Shout home directory
...
Also, copy config.js to the Shout home directory if it's not already
there.
2014-10-01 19:38:28 +02:00
Shell Turner
7e4534afa9
Always go through the Helper object to load config
2014-10-01 18:53:54 +02:00
Mattias Erming
216030710a
Minor changes
2014-09-16 10:33:15 -07:00
Mattias Erming
c3552319cd
Update 'add' command
2014-09-15 14:31:25 -07:00
Mattias Erming
7defba55eb
Added '-v, --version' option
2014-09-15 12:51:04 -07:00
Mattias Erming
3c76399cd0
Added '--public' and '--private' options
2014-09-15 12:37:05 -07:00
Mattias Erming
9553aa1888
Merge pull request #145 from sdepold/hotfix/merge-conflict
...
Remove legacy access to home variable
2014-09-14 12:52:52 +02:00
Sascha Depold
24803a73d7
Remove legacy access to home variable
2014-09-14 07:08:08 +02:00