Apply Prettier to config and markdown files

This commit is contained in:
Zaid Abdulla committed 2021-01-07 01:29:22 -08:00
1 parent 5571ce96b4
commit edcee33780
12 files changed
+68 -83

No files matched your search

-2
View File
@@ -1,2 +0,0 @@
!/bin/.*.ts
!/tools/.*.ts
+14 -3
View File
@@ -8,7 +8,12 @@
"project": "./tsconfig.json" "project": "./tsconfig.json"
}, },
"plugins": ["@typescript-eslint"], "plugins": ["@typescript-eslint"],
"extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended", "prettier", "prettier/@typescript-eslint"], "extends": [
"eslint:recommended",
"plugin:@typescript-eslint/recommended",
"prettier",
"prettier/@typescript-eslint"
],
"rules": { "rules": {
"no-shadow": ["error", { "allow": ["err"] }], "no-shadow": ["error", { "allow": ["err"] }],
"handle-callback-err": "error", "handle-callback-err": "error",
@@ -19,8 +24,14 @@
"eqeqeq": ["error", "always", { "null": "ignore" }], "eqeqeq": ["error", "always", { "null": "ignore" }],
"no-return-await": "error", "no-return-await": "error",
"@typescript-eslint/no-explicit-any": 0, "@typescript-eslint/no-explicit-any": 0,
"@typescript-eslint/no-use-before-define": ["error", { "functions": false }], "@typescript-eslint/no-use-before-define": [
"@typescript-eslint/explicit-function-return-type": ["error", { "allowExpressions": true }], "error",
{ "functions": false }
],
"@typescript-eslint/explicit-function-return-type": [
"error",
{ "allowExpressions": true }
],
"@typescript-eslint/no-floating-promises": "error", "@typescript-eslint/no-floating-promises": "error",
"require-atomic-updates": 0, "require-atomic-updates": 0,
"no-prototype-builtins": 0 "no-prototype-builtins": 0
-2
View File
@@ -1,6 +1,4 @@
*~ *~
node_modules node_modules
dist dist
bin/.*.ts
tools/.*.ts
docs/_build docs/_build
-25
View File
@@ -1,25 +0,0 @@
*~
.npmignore
config/config.json
config/cwmp.key
config/cwmp.crt
config/cwmp.ca-bundle
config/nbi.key
config/nbi.crt
config/nbi.ca-bundle
config/fs.key
config/fs.crt
config/fs.ca-bundle
config/ext
debug/*
!debug/.gitkeep
dist
.eslintrc.json
.eslintignore
ava.config.js
tsconfig.json
bin/.*
tools/.*
+2
View File
@@ -0,0 +1,2 @@
dist
npm-shrinkwrap.json
+21 -20
View File
@@ -44,14 +44,14 @@ evaluated.
behind a reverse proxy. Must be configured using FORWARDED_HEADER option. behind a reverse proxy. Must be configured using FORWARDED_HEADER option.
- Config expressions can now access all available device parameters, not only - Config expressions can now access all available device parameters, not only
serial number, product class, and OUI. serial number, product class, and OUI.
- Use relative URLs throughout the UI to allow serving from a subdirectory - Use relative URLs throughout the UI to allow serving from a subdirectory using
using a reverse proxy. a reverse proxy.
- Make Date.parse() and Date.UTC() available to provision scripts. - Make Date.parse() and Date.UTC() available to provision scripts.
- libxmljs has been entirely removed in favor of our bespoke XML parser. - libxmljs has been entirely removed in favor of our bespoke XML parser.
- Removed the config option CWMP_KEEP_ALIVE_TIMEOUT. SESSION_TIMEOUT is now - Removed the config option CWMP_KEEP_ALIVE_TIMEOUT. SESSION_TIMEOUT is now used
used to determine the TCP connection timeout. to determine the TCP connection timeout.
- The all-parameters component now limits the number of parameters displayed - The all-parameters component now limits the number of parameters displayed for
for better performance. better performance.
- The process genieacs-cwmp is now much less likely to throw exceptions as a - The process genieacs-cwmp is now much less likely to throw exceptions as a
result of invalid requests from CPE. result of invalid requests from CPE.
- A large number of bug fixes and stability improvements. - A large number of bug fixes and stability improvements.
@@ -60,8 +60,7 @@ result of invalid requests from CPE.
- A brand new UI superseding genieacs-gui. - A brand new UI superseding genieacs-gui.
- New initialization wizard on first run. - New initialization wizard on first run.
- New expression/query language used in search filters and preset - New expression/query language used in search filters and preset preconditions.
preconditions.
- CPE -> ACS authentication is now supported. - CPE -> ACS authentication is now supported.
- New config option (CWMP_KEEP_ALIVE_TIMEOUT) to specify how long to wait for a - New config option (CWMP_KEEP_ALIVE_TIMEOUT) to specify how long to wait for a
reply from the CPE before closing the TCP connection. reply from the CPE before closing the TCP connection.
@@ -83,8 +82,8 @@ connection request authentication behavior can now be customized using an
'expression'. 'expression'.
- The config file (config.json) has been deprecated. System configuration (e.g. - The config file (config.json) has been deprecated. System configuration (e.g.
listen ports, worker count) are now recommended to be passed as environment. listen ports, worker count) are now recommended to be passed as environment.
variables. Other general configuration options are stored in the database so as variables. Other general configuration options are stored in the database so
to not require service restart for changes to take effect. as to not require service restart for changes to take effect.
- Optional redis dependency has been removed completely. - Optional redis dependency has been removed completely.
- Tags now allow only alphanumeric characters and underscore. - Tags now allow only alphanumeric characters and underscore.
- Supported versions of NodeJs and MongoDB are 10.x and up and 2.6 and up - Supported versions of NodeJs and MongoDB are 10.x and up and 2.6 and up
@@ -115,8 +114,9 @@ values.
- Parameter values that cannot be parsed according to the reported type now show - Parameter values that cannot be parsed according to the reported type now show
a warning message. a warning message.
- Virtual parameter scripts now use the variable 'args' instead of the special - Virtual parameter scripts now use the variable 'args' instead of the special
'TIMESTAMPS' and 'VALUES' variables. The content of the args array is: {declare 'TIMESTAMPS' and 'VALUES' variables. The content of the args array is:
timestamps}, {declare values}, {current timestamps}, {current values}. {declare timestamps}, {declare values}, {current timestamps}, {current
values}.
- Virtual parameter value types are now inferred from the JavaScript type if the - Virtual parameter value types are now inferred from the JavaScript type if the
returned value attribute is not a value-type pair. returned value attribute is not a value-type pair.
- Show a fault when a virtual parameter script doesn't return the required - Show a fault when a virtual parameter script doesn't return the required
@@ -158,12 +158,13 @@ provisioning work flow using arbitrary scripts.
- Virtual parameters are user-defined parameters whose values are evaluated from - Virtual parameters are user-defined parameters whose values are evaluated from
a custom script. a custom script.
- Extensions are sandboxed Node.js scripts that are accessible from provision - Extensions are sandboxed Node.js scripts that are accessible from provision
and virtual parameter scripts to facilitate integration with external entities. and virtual parameter scripts to facilitate integration with external
- Support for UDP/STUN based connection requests for reaching devices behind entities.
NAT (TR-069 Annex G). - Support for UDP/STUN based connection requests for reaching devices behind NAT
(TR-069 Annex G).
- Presets can now be scheduled using a cron-like expression. - Presets can now be scheduled using a cron-like expression.
- Presets can now be tied to specific device events (e.g. boot). - Presets can now be tied to specific device events (e.g. boot).
- Presets precondition queries no longer support "$or" or other MongoDB logical - Presets precondition queries no longer support "\$or" or other MongoDB logical
operators. operators.
- Faults are no longer a part of tasks but are now first class objects. - Faults are no longer a part of tasks but are now first class objects.
- Presets are now assigned to channels. A fault in one channel only blocks - Presets are now assigned to channels. A fault in one channel only blocks
@@ -180,11 +181,11 @@ operations are faster and some are slower. Overall performance is improved.
- GenieACS will no longer fetch the entire device data model upon first contact - GenieACS will no longer fetch the entire device data model upon first contact
but will instead only fetch the parameters it needs to fulfill the presets. but will instead only fetch the parameters it needs to fulfill the presets.
- Logs have been overhauled and split into two streams: process log (stderr) and - Logs have been overhauled and split into two streams: process log (stderr) and
access log (stdout). Also added config options to dump logs to files rather than access log (stdout). Also added config options to dump logs to files rather
standard streams. than standard streams.
- Connection request authentication credentials are picked up from the device - Connection request authentication credentials are picked up from the device
data model if available. config/auth.js is still supported as a fallback and now data model if available. config/auth.js is still supported as a fallback and
supports an optional callback argument. now supports an optional callback argument.
- Custom commands have been removed. Use virtual parameters and/or extensions. - Custom commands have been removed. Use virtual parameters and/or extensions.
- Aliases and value normalizers (config/parameters.json) have been removed. Use - Aliases and value normalizers (config/parameters.json) have been removed. Use
virtual parameters. virtual parameters.
+10 -9
View File
@@ -5,8 +5,8 @@ tracker is strictly for bug reports.
# Issues # Issues
We use GitHub issues to track bugs. Please ensure your bug description is We use GitHub issues to track bugs. Please ensure your bug description is clear
clear and has sufficient instructions to be able to reproduce the issue. and has sufficient instructions to be able to reproduce the issue.
If you face interoperability issues with your CPE, more often than not it's a If you face interoperability issues with your CPE, more often than not it's a
device related issue. Please consult the [forum] before submitting an Issue. device related issue. Please consult the [forum] before submitting an Issue.
@@ -26,13 +26,14 @@ By submitting a pull request to this repository, you acknowledge that, while
maintaining copyright, you grant Zaid Abdulla a perpetual, worldwide, non- maintaining copyright, you grant Zaid Abdulla a perpetual, worldwide, non-
exclusive, no-charge, royalty-free, irrevocable license to reproduce, prepare exclusive, no-charge, royalty-free, irrevocable license to reproduce, prepare
derivative works of, publicly display, publicly perform, sublicense, and derivative works of, publicly display, publicly perform, sublicense, and
distribute your contributions and such derivative works under the AGPLv3 distribute your contributions and such derivative works under the AGPLv3 license
license or any other license terms, including, but not limited to, proprietary or any other license terms, including, but not limited to, proprietary or
or commercial license terms. commercial license terms.
You confirm that you own or have rights to distribute and sublicense the You confirm that you own or have rights to distribute and sublicense the source
source code contained therein, and that your content does not infringe upon code contained therein, and that your content does not infringe upon the
the intellectual property rights of a third party. intellectual property rights of a third party.
[commit-guidelines]: http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html [commit-guidelines]:
http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
[forum]: https://forum.genieacs.com [forum]: https://forum.genieacs.com
+8 -9
View File
@@ -20,7 +20,7 @@ Install GenieACS from NPM:
sudo npm install -g --unsafe-perm genieacs sudo npm install -g --unsafe-perm genieacs
To build from source instead, clone this repo or download the source archive To build from source instead, clone this repo or download the source archive
then *cd* into the source directory then run: then _cd_ into the source directory then run:
npm install npm install
npm run build npm run build
@@ -30,8 +30,8 @@ source):
### genieacs-cwmp ### genieacs-cwmp
This is the service that the CPEs will communicate with. It listens on port This is the service that the CPEs will communicate with. It listens on port 7547
7547 by default. Configure the ACS URL in your devices accordingly. by default. Configure the ACS URL in your devices accordingly.
You may optionally use [genieacs-sim](https://github.com/genieacs/genieacs-sim) You may optionally use [genieacs-sim](https://github.com/genieacs/genieacs-sim)
as a dummy TR-069 simulator if you don't have a CPE at hand. as a dummy TR-069 simulator if you don't have a CPE at hand.
@@ -50,7 +50,7 @@ such. It listens on port 7567 by default.
### genieacs-ui ### genieacs-ui
This serves the web based user interface. It listens on port 3000 by default. This serves the web based user interface. It listens on port 3000 by default.
You must pass *--ui-jwt-secret* argument to supply the secret key used for You must pass _--ui-jwt-secret_ argument to supply the secret key used for
signing browser cookies: signing browser cookies:
genieacs-ui --ui-jwt-secret secret genieacs-ui --ui-jwt-secret secret
@@ -64,14 +64,13 @@ a complete installation guide for production deployments.
## Support ## Support
The [forum](https://forum.genieacs.com) is a good place to get guidance and The [forum](https://forum.genieacs.com) is a good place to get guidance and help
help from the community. Head on over and join the conversation! from the community. Head on over and join the conversation!
For commercial support options, please visit For commercial support options, please visit
[genieacs.com](https://genieacs.com/support/). [genieacs.com](https://genieacs.com/support/).
## License ## License
Copyright 2013-2020 GenieACS Inc. GenieACS is released under the [AGPLv3 Copyright 2013-2020 GenieACS Inc. GenieACS is released under the
license [AGPLv3 license terms](https://raw.githubusercontent.com/genieacs/genieacs/master/LICENSE).
terms](https://raw.githubusercontent.com/genieacs/genieacs/master/LICENSE).
+2 -3
View File
@@ -1,5 +1,4 @@
export default { export default {
"extensions": ["ts"], extensions: ["ts"],
"require": ["esm", "ts-node/register/transpile-only"] require: ["esm", "ts-node/register/transpile-only"],
}; };
+9 -6
View File
@@ -10,15 +10,17 @@ let cache = null;
let cacheExpire = 0; let cacheExpire = 0;
function latlong(args, callback) { function latlong(args, callback) {
if (Date.now() < cacheExpire) if (Date.now() < cacheExpire) return callback(null, cache);
return callback(null, cache);
http.get("http://api.open-notify.org/iss-now.json", (res) => { http
.get("http://api.open-notify.org/iss-now.json", (res) => {
if (res.statusCode !== 200) if (res.statusCode !== 200)
return callback(new Error(`Request failed (status code: ${res.statusCode})`)); return callback(
new Error(`Request failed (status code: ${res.statusCode})`)
);
let rawData = ""; let rawData = "";
res.on("data", (chunk) => rawData += chunk); res.on("data", (chunk) => (rawData += chunk));
res.on("end", () => { res.on("end", () => {
let pos = JSON.parse(rawData)["iss_position"]; let pos = JSON.parse(rawData)["iss_position"];
@@ -26,7 +28,8 @@ function latlong(args, callback) {
cacheExpire = Date.now() + 10000; cacheExpire = Date.now() + 10000;
callback(null, cache); callback(null, cache);
}); });
}).on("error", (err) => { })
.on("error", (err) => {
callback(err); callback(err);
}); });
} }
+1 -1
View File
@@ -80,7 +80,7 @@
"scripts": { "scripts": {
"test": "ava --verbose --color", "test": "ava --verbose --color",
"lint-eslint": "eslint --fix \"bin/*.ts\" \"lib/**/*.ts\" \"ui/**/*.ts\" \"test/**/*.ts\" \"build/**/*.ts\" \"tools/*.ts\"", "lint-eslint": "eslint --fix \"bin/*.ts\" \"lib/**/*.ts\" \"ui/**/*.ts\" \"test/**/*.ts\" \"build/**/*.ts\" \"tools/*.ts\"",
"lint-prettier": "prettier --parser typescript --write \"bin/**/*.ts\" \"lib/**/*.ts\" \"ui/**/*.ts\" \"test/**/*.ts\" \"build/**/*.ts\" \"tools/**/*.ts\"", "lint-prettier": "prettier --prose-wrap always --write .",
"lint-tsc": "tsc --noEmit", "lint-tsc": "tsc --noEmit",
"lint": "npm run lint-eslint && npm run lint-prettier && npm run lint-tsc", "lint": "npm run lint-eslint && npm run lint-prettier && npm run lint-tsc",
"build": "node -r esm -r ts-node/register/transpile-only build/build" "build": "node -r esm -r ts-node/register/transpile-only build/build"
+1 -3
View File
@@ -1,8 +1,6 @@
{ {
"compilerOptions": { "compilerOptions": {
"lib": [ "lib": ["esnext", "dom"],
"esnext", "dom"
],
"module": "esnext", "module": "esnext",
"moduleResolution": "node", "moduleResolution": "node",
"target": "esnext", "target": "esnext",