Solves these eslint issues:
/puter/src/UI/Settings/UITabAccount.js
34:13 error 'user' is not defined no-undef
47:99 error 'user' is not defined no-undef
55:12 error 'user' is not defined no-undef
59:105 error 'user' is not defined no-undef
/puter/src/UI/Settings/UITabLanguage.js
35:37 error 'listSupportedLanguages' is not defined no-undef
/puter/src/UI/Settings/UITabUsage.js
45:18 error 'api_origin' is not defined no-undef
50:46 error 'auth_token' is not defined no-undef
54:21 error 'logout' is not defined no-undef
96:18 error 'api_origin' is not defined no-undef
101:46 error 'auth_token' is not defined no-undef
105:21 error 'logout' is not defined no-undef
116:51 error 'byte_format' is not defined no-undef
123:41 error 'byte_format' is not defined no-undef
124:45 error 'byte_format' is not defined no-undef
/puter/src/UI/Settings/UIWindowChangeEmail.js
96:18 error 'api_origin' is not defined no-undef
100:44 error 'auth_token' is not defined no-undef
/puter/src/UI/Settings/UIWindowFinalizeUserDeletion.js
29:12 error 'user' is not defined no-undef
97:16 error 'user' is not defined no-undef
115:22 error 'api_origin' is not defined no-undef
120:50 error 'auth_token' is not defined no-undef
127:25 error 'logout' is not defined no-undef
139:25 error 'logout' is not defined no-undef
/puter/src/UI/Settings/UIWindowSettings.js
48:162 error 'icons' is not defined no-undef
86:13 error Duplicate key 'height' no-dupe-keys
Solves these eslint issues:
/puter/run-selfhosted.js
49:9 error 'console' is not defined no-undef
64:5 error 'console' is not defined no-undef
127:5 error 'console' is not defined no-undef
Resolves these eslint errors:
/puter/src/IPC.js
53:69 error 'appCallbackFunctions' is not defined no-undef
55:9 error 'appCallbackFunctions' is not defined no-undef
57:16 error 'appCallbackFunctions' is not defined no-undef
81:33 error 'window_for_app_instance' is not defined no-undef
84:27 error 'iframe_for_app_instance' is not defined no-undef
105:48 error Empty block statement no-empty
180:18 error 'api_origin' is not defined no-undef
190:44 error 'auth_token' is not defined no-undef
194:21 error 'logout' is not defined no-undef
207:18 error 'api_origin' is not defined no-undef
216:44 error 'auth_token' is not defined no-undef
220:21 error 'logout' is not defined no-undef
239:18 error 'api_origin' is not defined no-undef
248:44 error 'auth_token' is not defined no-undef
252:21 error 'logout' is not defined no-undef
268:13 error 'is_auth' is not defined no-undef
309:13 error 'is_auth' is not defined no-undef
348:27 error 'window_for_app_instance' is not defined no-undef
360:27 error 'window_for_app_instance' is not defined no-undef
576:35 error 'uuidv4' is not defined no-undef
582:9 error 'launch_app' is not defined no-undef
597:37 error 'appdata_path' is not defined no-undef
629:12 error 'appdata_signatures' is not defined no-undef
633:23 error 'appdata_signatures' is not defined no-undef
638:30 error 'appdata_path' is not defined no-undef
647:25 error 'appdata_signatures' is not defined no-undef
664:29 error 'appdata_signatures' is not defined no-undef
682:13 error 'is_auth' is not defined no-undef
717:13 error 'is_auth' is not defined no-undef
745:13 error 'is_auth' is not defined no-undef
773:13 error 'is_auth' is not defined no-undef
783:22 error 'api_origin' is not defined no-undef
793:48 error 'auth_token' is not defined no-undef
797:25 error 'logout' is not defined no-undef
825:13 error 'is_auth' is not defined no-undef
857:36 error 'operation_id' is not defined no-undef
872:41 error 'auth_token' is not defined no-undef
873:41 error 'api_origin' is not defined no-undef
939:45 error 'item_icon' is not defined no-undef
951:33 error 'sort_items' is not defined no-undef
954:29 error 'show_save_account_notice_if_needed' is not defined no-undef
998:38 error 'busy_indicator_hide_delay' is not defined no-undef
1004:33 error 'busy_indicator_hide_delay' is not defined no-undef
1018:37 error 'pictures_path' is not defined no-undef
1020:37 error 'desktop_path' is not defined no-undef
1022:37 error 'documents_path' is not defined no-undef
1024:37 error 'videos_path' is not defined no-undef
1026:37 error 'audio_path' is not defined no-undef
1028:37 error 'appdata_path' is not defined no-undef
1032:13 error 'is_auth' is not defined no-undef
1044:28 error 'operation_id' is not defined no-undef
1059:33 error 'auth_token' is not defined no-undef
1060:33 error 'api_origin' is not defined no-undef
1145:31 error 'iframe_for_app_instance' is not defined no-undef
1163:31 error 'window_for_app_instance' is not defined no-undef
1178:36 error 'get_apps' is not defined no-undef
1199:11 error 'window_for_app_instance' is not defined no-undef
Solves these eslint issues:
/puter/packages/puter-js/src/modules/UI.js
418:20 error 'itemWatchCallbackFunctions' is not defined no-undef
418:74 error 'itemWatchCallbackFunctions' is not defined no-undef
419:21 error 'itemWatchCallbackFunctions' is not defined no-undef
A couple of issues here:
- We didn't pass the line number to do_grep_line() so `i` was undefined
- Operator precedence messed with the ternary so when line numbers were
requested, the line wouldn't be output.
Found thanks to this now-solved eslint issue:
/puter/packages/phoenix/src/puter-shell/coreutils/grep.js
100:60 error 'i' is not defined no-undef
This was confusing its fallthrough detection:
/puter/packages/phoenix/src/puter-shell/coreutils/date.js
132:21 error Expected a 'break' statement before 'case' no-fallthrough
Found by this eslint issue:
/puter/packages/phoenix/src/puter-shell/coreutils/coreutil_lib/echo_escapes.js
107:59 error 'hexchars' is not defined no-undef
Also make tmp_value non-const because it gets modified later.
Solves these eslint issues:
/puter/packages/phoenix/src/ansi-shell/ioutil/SignalReader.js
45:14 error Unexpected negating the left operand of 'instanceof' operator no-unsafe-negation
46:13 error 'tmp_value' is constant no-const-assign
The `return` looks temporary but I don't know this code well enough.
Solves this eslint issue:
/puter/packages/backend/src/services/runtime-analysis/ExpectationService.js
94:9 error Unreachable code no-unreachable
Fixes these eslint issues:
/puter/packages/backend/src/services/auth/TokenService.js
3:1 error 'def' is not defined no-undef
18:1 error 'defv' is not defined no-undef
61:11 error 'def' is not defined no-undef
69:21 error 'defv' is not defined no-undef
The variable doesn't exist, and we never use it after this. Seems like a
copy-paste error.
Solves these eslint errors:
/puter/packages/backend/src/routers/save_account.js
90:9 error 'uuid_user' is not defined no-undef
91:9 error 'uuid_user' is not defined no-undef
91:21 error 'uuid_user' is not defined no-undef
/puter/packages/backend/src/util/stdioutil.js
26:24 error Unexpected control character(s) in regular expression: \x1b no-control-regex
/puter/packages/backend/src/util/streamutil.js
368:1 error 'string_to_stream' is not defined no-undef
463:5 error 'string_to_stream' is not defined no-undef
/puter/packages/backend/src/util/strutil.js
42:1 error 'format_as_usd' is not defined no-undef
56:5 error 'format_as_usd' is not defined no-undef
/puter/packages/backend/src/services/ContextInitService.js
57:18 error 'async_factory' is not defined no-undef
/puter/packages/backend/src/services/StorageService.js
22:5 error Expected to call 'super()' constructor-super
/puter/packages/backend/src/services/WebServerService.js
258:35 error 'services' is not defined no-undef
/puter/packages/backend/src/services/auth/AuthService.js
52:13 error Unreachable code no-unreachable
/puter/packages/backend/src/services/drivers/implementations/BaseImplementation.js
64:25 error 'services' is not defined no-undef
75:39 error 'services' is not defined no-undef
117:39 error 'services' is not defined no-undef
123:42 error 'services' is not defined no-undef
149:42 error 'services' is not defined no-undef
168:38 error 'services' is not defined no-undef
/puter/packages/backend/src/services/drivers/implementations/PuterDriverProxy.js
43:5 error Expected to call 'super()' constructor-super
44:9 error 'this' is not allowed before 'super()' no-this-before-super
/puter/packages/backend/src/services/drivers/meta/Construct.js
125:9 error Unreachable code no-unreachable
/puter/packages/backend/src/services/runtime-analysis/PagerService.js
49:41 error 'util' is not defined no-undef
/puter/packages/backend/src/routers/open_item.js
48:10 error Unexpected negating the left operand of 'instanceof' operator no-unsafe-negation
/puter/packages/backend/src/routers/save_account.js
106:34 error 'get_user' is not defined no-undef
/puter/packages/backend/src/routers/sign.js
37:10 error Unexpected negating the left operand of 'instanceof' operator no-unsafe-negation
/puter/packages/backend/src/routers/auth/list-permissions.js
36:15 error 'APIError' is not defined no-undef
/puter/packages/backend/src/routers/auth/list-sessions.js
17:15 error 'APIError' is not defined no-undef
/puter/packages/backend/src/routers/auth/revoke-user-app.js
34:15 error 'APIError' is not defined no-undef
43:15 error 'APIError' is not defined no-undef
/puter/packages/backend/src/routers/delete-site.js
43:11 error Unexpected empty object pattern no-empty-pattern
/puter/packages/backend/src/routers/drivers/usage.js
146:11 error 'k' is not defined no-undef
147:21 error 'k' is not defined no-undef
147:52 error 'k' is not defined no-undef
/puter/packages/backend/src/routers/drivers/xd.js
68:5 error 'window' is not defined no-undef
69:21 error Parsing error: The keyword 'interface' is reserved
/puter/packages/backend/src/routers/filesystem_api/batch/all.js
51:21 error 'get_app' is not defined no-undef
224:13 error Unexpected constant condition no-constant-condition
/puter/packages/backend/src/routers/filesystem_api/copy.js
70:10 error Unexpected constant condition no-constant-condition
106:13 error Duplicate key 'new_name' no-dupe-keys
/puter/packages/backend/src/routers/filesystem_api/read.js
80:5 error Unreachable code no-unreachable
/puter/packages/backend/src/routers/filesystem_api/token-read.js
53:9 error Unreachable code no-unreachable
58:9 error Unreachable code no-unreachable
104:5 error Unreachable code no-unreachable
/puter/packages/backend/src/routers/hosting/puter-site.js
65:21 error Unexpected constant nullishness on the left-hand side of a `??` expression no-constant-binary-expression
/puter/packages/backend/src/om/entitystorage/ValidationES.js
89:25 error Do not assign to the exception parameter no-ex-assign
/puter/packages/backend/src/om/proptypes/__all__.js
166:17 warning Unexpected 'debugger' statement no-debugger
/puter/packages/backend/src/routers/_default.js
405:31 error 'err' is not defined no-undef
/puter/packages/backend/src/helpers.js
682:9 error 'sharing_users' is not defined no-undef
689:12 error 'sharing_users' is not defined no-undef
690:28 error 'sharing_users' is not defined no-undef
695:28 error 'sharing_users' is not defined no-undef
720:9 error 'shared_fsentries' is not defined no-undef
733:12 error 'shared_fsentries' is not defined no-undef
734:28 error 'shared_fsentries' is not defined no-undef
735:17 error 'shared_fsentries' is not defined no-undef
735:58 error 'shared_fsentries' is not defined no-undef
736:31 error 'shared_fsentries' is not defined no-undef
900:57 error 'e' is not defined no-undef
1849:18 error Empty block statement no-empty
These currently work in a way that's different from what eslint expects,
so disable it. At some point it would be good if it could check them
(and if the tests could run on CI) but right now they just make a lot of
noise.
Removes or disables the following eslint errors/warnings:
/puter/packages/backend/src/api/filesystem/FlagParam.js
33:19 error 'APIError' is not defined no-undef
47:19 error 'APIError' is not defined no-undef
58:15 error 'APIError' is not defined no-undef
/puter/packages/backend/src/api/filesystem/StringParam.js
32:19 error 'APIError' is not defined no-undef
39:13 error 'APIError' is not defined no-undef
46:19 error 'APIError' is not defined no-undef
/puter/packages/backend/src/filesystem/FilesystemService.js
141:17 warning Unexpected 'debugger' statement no-debugger
366:21 error 'services' is not defined no-undef
/puter/packages/backend/src/filesystem/batch/BatchExecutor.js
121:21 error Do not assign to the exception parameter no-ex-assign
/puter/packages/backend/src/filesystem/hl_operations/hl_data_read.js
44:19 error 'APIError' is not defined no-undef
47:22 error 'chkperm' is not defined no-undef
48:19 error 'APIError' is not defined no-undef
51:29 error 'LLRead' is not defined no-undef
54:13 error 'version_id' is not defined no-undef
88:35 error 'PassThrough' is not defined no-undef
/puter/packages/backend/src/filesystem/hl_operations/hl_mkdir.js
68:49 error 'fs' is not defined no-undef
/puter/packages/backend/src/filesystem/hl_operations/hl_move.js
102:33 error 'get_user' is not defined no-undef
104:35 error 'get_user' is not defined no-undef
110:33 error 'df' is not defined no-undef
/puter/packages/backend/src/filesystem/hl_operations/hl_read.js
54:13 error 'stream' is constant no-const-assign
/puter/packages/backend/src/filesystem/hl_operations/hl_stat.js
40:37 error 'APIError' is not defined no-undef
/puter/packages/backend/src/filesystem/lib/PuterPath.js
67:5 error Expected to return a value in getter 'hasRelativePortion' getter-return
/puter/packages/backend/src/filesystem/ll_operations/ll_copy_idea.js
53:21 error 'UploadProgressTracker' is not defined no-undef
73:17 error 'PuterS3StorageStrategy' is not defined no-undef
137:22 error 'LLFilesystemOperation' is not defined no-undef
/puter/packages/backend/src/filesystem/ll_operations/ll_read.js
102:65 error 'offset' is not defined no-undef
102:73 error 'offset' is not defined no-undef
102:80 error 'length' is not defined no-undef
/puter/packages/backend/src/filesystem/ll_operations/ll_rmnode.js
43:23 error 'APIError' is not defined no-undef
/puter/packages/backend/src/filesystem/storage/SystemFSEntryService.js
101:26 error '_path' is not defined no-undef
/puter/packages/backend/src/filesystem/validation.js
27:29 error Unexpected control character(s) in regular expression: \x00, \x1f no-control-regex
28:29 error Unexpected control character(s) in regular expression: \x00, \x1f no-control-regex
28:31 error Unnecessary escape character: \/ no-useless-escape
eslint is a static analysis tool that tries to identify bugs and
mistakes in the code. We have quite a variety of code in this repo so
the config is a little complicated, but I've tried to make it clear.
It's found a *lot* of issues (over 1700), and while many of which will
not be actual problems, (it doesn't like us using window properties
without `window.`,) but some definitely are.