nogin

 A template for quickly building login systems on top of Node.js; a fork of    
 the "node-login" project.                                                    
 
nogin [help|(add|create|remove|delete|update|view|read)] [options]            
 Run
nogin help for the allowable options of the verbs.                

Options

 
--NL_EMAIL_USER user                   Email user. Required; no defaults.    
 
--NL_EMAIL_PASS pass                   Email password (for `NL_EMAIL_USER`).  
                                        Required; no defaults.                
 
--NL_EMAIL_HOST host                   Email host. Required; no defaults.    
 
-f, --NL_EMAIL_FROM from               Email "from". Required; no defaults.  
 
--NS_EMAIL_TIMEOUT timeout-in-ms       Millisecond duration for attempting to
                                        send emails. Defaults to 5000.        
 
--NL_SITE_URL url                      Email site URL. Base URL added within  
                                        password reset and activation emails.  
                                        Required; no defaults.                
 
--PORT port                            HTTP/S port. Defaults to 3000          
 
--loggerLocale locale                  Locale for server log messages;        
                                        defaults to "en-US".                  
 
-l, --noLogging                        Whether to disable logging; defaults  
                                        to `false` (logging is enabled).      
 
-n, --DB_NAME name                     Database name; defaults to "nogin"    
 
-t, --DB_HOST host                     Database host; defaults to "127.0.0.1"
 
-p, --DB_PORT port                     Database port; defaults to 27017      
 
-u, --DB_USER user                     Database user; only needed with        
                                        env=production                        
 
-x, --DB_PASS password                 Database password; only needed with    
                                        env=production                        
 
--secret secret                        `cookieParser` secret. Required; no    
                                        defaults.                              
 
--cwd cwd path                         Current working directory; used with  
                                        `--config`; defaults to                
                                        `process.cwd()`                        
 
-d, --JS_DIR path                      Not normally needed; used to point to  
                                        instrumented path. Defaults to        
                                        `/app/public`                          
 
--localesBasePath path                 Points to a base path for finding      
                                        locales. Defaults to `app/server`.    
                                        Only needed if overriding built-in    
                                        locales.                              
 
--postLoginRedirectPath path or URL    Points to a path or URL to which to    
                                        redirect after users successfully log  
                                        in. Defaults to `/home` (or locale    
                                        equivalent). Note that if you are      
                                        overriding this option, you should    
                                        provide another means to your users to
                                        visit `/home`, e.g., through the      
                                        accessibility-recommended approach of  
                                        having a site-wide navigation bar, so  
                                        as to allow your users to update or    
                                        delete their accounts. Note that this  
                                        option will be overridden by any      
                                        `redirect` query parameter present in  
                                        the URL.                              
 
--customRoute locale=route=path        A convenience to allow overriding the  
                                        default route name per locale, e.g.,  
                                        `en-US=home=/updateAccount` would      
                                        change the `/home` path to            
                                        `/updateAccount` for the `en-US`      
                                        locale. If present, this will take    
                                        precedence over the routes in          
                                        `localesBasePath`.                    
 
--rootUser user                        Users who are granted all available    
                                        privileges to view and edit users.    
 
--crossDomainJSRedirects               Whether to allow cross-domain          
                                        redirects (for some values set by      
                                        `customRoute`). Note that the very old
                                        Firefox 2 will not be able to make    
                                        cross-domain redirects regardless of  
                                        this setting, so it will always use    
                                        the (safe) locale redirect.            
 
--composeResetPasswordEmailView path   Path to a Node file that will be      
                                        imported. The file must have an ESM    
                                        default function export that accepts  
                                        the template options (_, jml, baseurl,
                                        name, user, passKey, fromText,        
                                        fromURL). Defaults to                  
                                        `/app/server/views/composeResetPasswordEmail.js`.
 
--composeActivationEmailView path      Path to a Node file that will be      
                                        imported. The file must have an ESM    
                                        default function export that accepts  
                                        the template options (_, jml, baseurl,
                                        name, user, activationCode, fromText,  
                                        fromURL). Defaults to                  
                                        `/app/server/views/composeActivationEmail.js`.
 
--requireName                          Whether to require a name (separate    
                                        from user name, as in a real name)    
                                        from users. Default is `false`.        
 
--staticDir absolute path              Point to absolute path at which to    
                                        serve static files on the same server.
                                        Multiple allowed. Not required. To    
                                        require serving within a particular    
                                        non-root path, use `router` with      
                                        Express' `app.get()` or `app.post`.    
                                        See https://expressjs.com/en/api.html  
 
--middleware path                      Path to a Node file that will be      
                                        imported. The file must have an ESM    
                                        default function export that will be  
                                        passed the resolved options. Multiple  
                                        allowed. Not required. To require      
                                        serving within a particular non-root  
                                        path, use `router` with Express'      
                                        `app.use()`. See                      
                                        https://expressjs.com/en/api.html#app.use
 
--router path                          Path to a Node file that will be      
                                        imported. The file must have an ESM    
                                        default function export that will be  
                                        passed the Express `app` instance and  
                                        resolved options. Not required.        
 
--fallback path                        Path to a Node file that will be      
                                        imported. Use for a file server. The  
                                        file must have an ESM default function
                                        export that will be passed the `req`  
                                        object, `res` object, and `next`      
                                        function. Probably required.          
 
--useESM                               Mainly for easier debugging. Whether  
                                        to use browser ESM source modules      
                                        where available in place of compiled  
                                        IIFE code. Defaults to `false`.        
 
--noPolyfill                           Whether to drop the core-js polyfills  
                                        for compatibility with older browsers.
                                        Defaults to `false`.                  
 
--injectHTML path                      Path to a Node file that will be      
                                        imported. The file must have an ESM    
                                        default function export that will be  
                                        passed a config object, including a    
                                        `template` string indicating the      
                                        template being built. Must return an  
                                        object with any of 4 optional methods  
                                        (`headPre`, `headPost`, `bodyPre`,    
                                        and/or `bodyPost`) which should either
                                        be an HTML string or an array of      
                                        Jamilih children to be appended at the
                                        given position (or return an empty    
                                        array to add nothing). Not required.  
 
-c, --config config path               Used to set config; when `cwd` is set,
                                        defaults to "/nogin.json"; of    
                                        lower priority than other CLI          
                                        arguments; may also be a JavaScript    
                                        file (nogin.js).                      
 
--countryCodes country code            Two-letter country codes as JSON      
                                        array; defaults to codes in            
                                        `/app/server/modules/country-          
                                        codes.json`                            
 
-a, --adapter "mongodb"                The database adapter to use. Defaults  
                                        to "mongodb", the only current option.
 
--favicon favicon path                 The path to a favicon; defaults to    
                                        blank.                                
 
--stylesheet stylesheet path or URL    The path to a custom CSS stylesheet;  
                                        defaults to no extra stylesheets being
                                        used                                  
 
--noBuiltinStylesheets                 Whether to suppress addition of built-
                                        in stylesheets, Bootstrap, and gh-    
                                        fork-ribbon.css. Defaults to `false`,  
                                        i.e., built-in stylesheets are        
                                        applied.                              
 
--userJS path or URL                   Regular client-side JavaScript file to
                                        load after other scripts (none by      
                                        default)                              
 
--userJSModule path or URL             ESM client-side JavaScript file to    
                                        load after other scripts (none by      
                                        default)                              
 
--localScripts                         Whether to load framework scripts      
                                        locally instead of via CDN. Defaults  
                                        to `false`.                            
 
--fromText from                        Person's name to include as from text  
                                        in email notifications (password      
                                        resets).                              
 
--fromURL URL                          URL of person to include as link on    
                                        from text in email notifications      
                                        (password resets).                    
 
-s, --SERVE_COVERAGE                   Whether to host coverage within        
                                        `/coverage`; defaults to `false`.      
 
-r, --RATE_LIMIT rate limit            Used for mitigating DoS attacks;      
                                        defaults to 700                        
 
--disableRateLimit                     Disable rate limiting entirely. Should
                                        not be used in production.            
 
--disableXSRF                          Disable Cross-site Resource Forgery    
                                        checking. This setting should normally
                                        not be used.                          
 
--noHelmet                             Disable helmet use entirely. Off by    
                                        default.                              
 
--noHostValidation                     Disable hostValidation use entirely.  
                                        Off by default.                        
 
--helmetOptions options                Options to be supplied to helmet.      
                                        Defaults to `{frameguard: {action:    
                                        "SAMEORIGIN"}}`                        
 
--csurfOptions options                 Options to be supplied to              
                                        @dr.pogodin/csurf. Defaults to        
                                        `{cookie: {signed: true, sameSite:    
                                        "lax"}`; you may wish to add `secure:  
                                        true` to the `cookie` if serving on    
                                        HTTPS.                                
 
--sessionCookieOptions options         Options to be supplied to `cookie` of  
                                        `express-session`.Defaults to          
                                        {sameSite: 'lax'}                      
 
--sessionOptions options               Options to be supplied to `express-    
                                        session`.Defaults to {resave: true,    
                                        saveUninitialized: true} along with    
                                        `cookie: sessionCookieOptions`,        
                                        `secret`, and `store:                  
                                        MongoStore.create({mongoUrl: DB_URL})`
 
--transferLimit limit                  Options to be supplied to              
                                        `express.json` and                    
                                        `express.urlencoded`. Defaults to 10mb
 
--signupAgreement string               JSON containing locale-keyed signup    
                                        agreements. Defaults to no signup      
                                        agreement.                            
 
-v, --version                                                                
 
-h, --help