{"_id":"cordovabox","_rev":"99-ae802be47e0266e8f492e36cf746c89d","name":"cordovabox","dist-tags":{"latest":"2.3.8"},"versions":{"0.0.2":{"name":"cordovabox","version":"0.0.2","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@0.0.2","maintainers":[{"name":"derrekmc","email":"derrekmcordova@hotmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"fbdbad9fea9abf1a49802ddecdb6c1dd69bf5a6a","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-0.0.2.tgz","fileCount":378,"integrity":"sha512-kqJv/PL1HXyX3duUNdmT8occRhmn9fuzLH85xItbe2aAai42dsiPsvcgD7+gNKyvjx2TF9FKFTaK2n1lSegapA==","signatures":[{"sig":"MEUCIQDsIAYC7Kv9tB6m/JQxNbMTgkPW7tyhA1EMnYXnwJcdwwIgSxQJc/pmV3NXs4lq6AbdhxSHH3l6kUp6CWaqRoLY338=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16833879,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhMnFwCRA9TVsSAnZWagAAPLkP/0xfIk4g1oB1RPraA+sO\nWAOGCQ8m88O8qcjNNrOHyTS/fCTXrjOmXe7/B57ud27h8jSROz96kkvXSvW+\njAbkJTJHbN8e5C1OLDbqdO4YXANK/JaWCxDoUeTRXZNE6NhDJ7R7At+2MTsG\nnm3URZ4roW7hdC6XH1tWqsID7GHZbN99H9TQ+ufvpKghGdAb6gTx4qH5JVEP\nfr4UWj5dwH9SeohSIOhAfbfaAz1Pr7W1enwzEFNAY3BuUKhBxgpytwlpW2UQ\n2xMPJeBHUwhd+qltfUOIh9mTczz2I6rezblwe29tbaOyUV8hoSl4rz8W2bSZ\nybdKccs51B8WaBEMYNsr87HFF423S7f2tqR2rA1vNiChV2KJH+1EG1DRD8CS\nEJMjUQJQWwm2JFkw//gYouNqj09GMUE+f06euYJj9oniov/CWUBXE822CdrW\nmqBMbMGayGpqNRDgv4EaYb0AXPttNY7MQrwuCtaV0ivIZggvc+MxXizqGGGs\nPAirn0z0MZTwBznEaxpvtwXLqwdLGj0g+KxG3hFFiHCiG6VqDKrIPjzUcxda\nsZhHSK8sjmVpRmu+rdlQGSPcs7oZ3MNQBe6JTFqIQYZcGMVX1BcegfdH4Ard\nqm5cXPUE7zN4caJFP30gNmHmhFJ43LriKe9zxTsiw7nyPAIXzK26nT8X7yJ7\nhakr\r\n=E3rV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"11252fb08c9ffebdeb3a8ee557ac0efdbcdf18cd","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests/index.js","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"node_modules/forever/bin/forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmcordova@hotmail.com"},"_npmVersion":"6.14.12","description":"### Install & Launch ``` npm install cordovabox -g cordovabox new applicationName cordovabox start  ```","directories":{"lib":"lib"},"_nodeVersion":"12.22.1","dependencies":{"del":"^1.2.1","ejs":"^2.7.4","bson":"^1.0.4","csrf":"^3.1.0","gulp":"^4.0.2","walk":"^2.3.9","axios":"^0.21.1","csurf":"^1.11.0","moment":"^2.10.0","throng":"^1.0.0","connect":"1.9.2","express":"^4.16.0","request":"^2.55.0","winston":"^0.8.3","gulp-cli":"^2.2.0","gulp-ejs":"^1.2.2","mongoose":"^4.13.15","newrelic":"^1.17.1","passport":"^0.4.1","gulp-gzip":"^1.4.0","gulp-util":"^3.0.4","socket.io":"^4.0.0","waterline":"^0.13.6","gulp-watch":"^4.3.11","jwt-simple":"^0.5.6","ng-croppie":"^1.0.0","sails-disk":"^1.1.2","body-parser":"^1.9.3","compression":"^1.4.3","gulp-concat":"^2.6.1","gulp-uglify":"^1.5.4","sails-mongo":"^1.0.1","webdriverio":"^2.4.5","captains-log":"^2.0.3","connect-mongo":"^0.8.2","connect-redis":"^2.1.0","cookie-parser":"^1.3.3","gulp-compress":"0.0.9","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-uglify-es":"^2.0.0","express-session":"^1.9.2","gulp-compressor":"^0.1.0","moment-timezone":"^0.3.1","request-promise":"^4.2.5","socket.io-redis":"^0.1.4","gulp-minify-html":"^1.0.6","imagemin-pngquant":"^4.2.2","express-handlebars":"^4.0.4","express-http-proxy":"^1.6.2","gulp-yuicompressor":"0.0.3"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"del":"^1.1.1","gulp":"^4.0.2","braces":"^3.0.2","lodash":"^4.17.20","gulp-cli":"^2.2.0","gulp-ejs":"^1.1.0","gulp-gzip":"^1.1.0","gulp-util":"^3.0.4","gulp-watch":"^4.3.11","gulp-minify":"^3.1.0","gulp-uglify":"^1.2.0","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-compressor":"^0.1.0","gulp-minify-html":"^1.0.2","imagemin-pngquant":"^4.0.0","gulp-yuicompressor":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_0.0.2_1630695791647_0.058691480637614646","host":"s3://npm-registry-packages"}},"0.0.3":{"name":"cordovabox","version":"0.0.3","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@0.0.3","maintainers":[{"name":"derrekmc","email":"derrekmcordova@hotmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"ed1b85e06c644f064f3bfd3f29709fd9ceddba58","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-0.0.3.tgz","fileCount":237,"integrity":"sha512-m+VcWPleD8P6paXJunXARTjPU1cHuX4jAKQtD2l/8Jc3t7wGG0s/FDbnhNodFAf2lz1WfnrLIOc53f4JF6bnWg==","signatures":[{"sig":"MEUCICSR8a21d3oqn0j47jHhERvY0VbONbS0IETKxnPKX51iAiEAmTH3QM3xhH5eCgwN9O+aYDyptifPyuueTZ2Cw6OPkkA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9671327,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhMnQ/CRA9TVsSAnZWagAAi70P/3JuV+yr6FJE0ftUxx4Y\nyW3hegye/OSrgc/x8lj85EgRO82BRDl1MOCd9ElnH+vFUaR181f7ktJF8a+j\nVUoGKosiMWbyGQzj7gU1/yYId9JLvbQPBpjcCG7e34uhoUDR70jE16kNlThy\nR+hm0TTESSXhmby3UaLmWCzyMLjajVdetWYs0H/2ORPJcfydLJJWOwk5lAR+\nv97c1evudIKR91U5EaYaWzgmMsSi3gDHcU/CO4o4ThAUDVZkJsL6+haJTCpd\nSHYqJqrA3aaISaHgTJi5BhLFM1n9Ofa4VhvINWdJdgAnLv5oyHTzCnPJdiph\nZCMsLie/YNyim7gXaVOGdH6nOHk7NLXWRC9LETinqmjfgnV2hUQ0gbCdKEkv\nP3J8lVxC9HT5vVFxyYsRI5LzLrO5YtwSYYCclYtmf2TSDBOMdEHANyfw+ber\niluEX13UMJ2oyjmushHCJIkSRxfYhtDE60tWvvvFoYGvw7eo3bVj7jtSe0fi\nAQoZkx1NQ2zkvhuevYgk1tl0ub1JXlb2lJzAnL+ezH3woXNRpJ0rmkH+Y062\n6FOU3fZIjOZGKD7g6ttcsZc55rykgYoa2sQH0XioSTjentIsYSF9fEyUNgs3\na8JvgWG6McmY6HokfLfEjoqJi8c/A6Oa4YyHAqFlOT/2o/IRJyq7R/BA/fts\n+mJt\r\n=16SQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"1101115fed0bc7080a23265f5abc2816beba0906","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests/index.js","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"node_modules/forever/bin/forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmcordova@hotmail.com"},"_npmVersion":"6.14.12","description":"### Install & Launch ``` npm install cordovabox -g cordovabox new applicationName cordovabox start  ```","directories":{"lib":"lib"},"_nodeVersion":"12.22.1","dependencies":{"del":"^1.2.1","ejs":"^2.7.4","bson":"^1.0.4","csrf":"^3.1.0","gulp":"^4.0.2","walk":"^2.3.9","axios":"^0.21.1","csurf":"^1.11.0","moment":"^2.10.0","throng":"^1.0.0","connect":"1.9.2","express":"^4.16.0","request":"^2.55.0","winston":"^0.8.3","gulp-cli":"^2.2.0","gulp-ejs":"^1.2.2","mongoose":"^4.13.15","newrelic":"^1.17.1","passport":"^0.4.1","gulp-gzip":"^1.4.0","gulp-util":"^3.0.4","socket.io":"^4.0.0","waterline":"^0.13.6","gulp-watch":"^4.3.11","jwt-simple":"^0.5.6","ng-croppie":"^1.0.0","sails-disk":"^1.1.2","body-parser":"^1.9.3","compression":"^1.4.3","gulp-concat":"^2.6.1","gulp-uglify":"^1.5.4","sails-mongo":"^1.0.1","webdriverio":"^2.4.5","captains-log":"^2.0.3","connect-mongo":"^0.8.2","connect-redis":"^2.1.0","cookie-parser":"^1.3.3","gulp-compress":"0.0.9","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-uglify-es":"^2.0.0","express-session":"^1.9.2","gulp-compressor":"^0.1.0","moment-timezone":"^0.3.1","request-promise":"^4.2.5","socket.io-redis":"^0.1.4","gulp-minify-html":"^1.0.6","imagemin-pngquant":"^4.2.2","express-handlebars":"^4.0.4","express-http-proxy":"^1.6.2","gulp-yuicompressor":"0.0.3"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"del":"^1.1.1","gulp":"^4.0.2","braces":"^3.0.2","lodash":"^4.17.20","gulp-cli":"^2.2.0","gulp-ejs":"^1.1.0","gulp-gzip":"^1.1.0","gulp-util":"^3.0.4","gulp-watch":"^4.3.11","gulp-minify":"^3.1.0","gulp-uglify":"^1.2.0","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-compressor":"^0.1.0","gulp-minify-html":"^1.0.2","imagemin-pngquant":"^4.0.0","gulp-yuicompressor":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_0.0.3_1630696511486_0.3939421338084039","host":"s3://npm-registry-packages"}},"0.0.4":{"name":"cordovabox","version":"0.0.4","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@0.0.4","maintainers":[{"name":"derrekmc","email":"derrekmcordova@hotmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"430592e455c1ebca6eb055702ddf44fc37a0b0bc","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-0.0.4.tgz","fileCount":238,"integrity":"sha512-Vkc2V6ftDe+9/v74bQVk9LV5DIBxabn6naE2bUE1XW5QqXx5mIzzvvkvEtAk70QkAAmOL5COz/qBNJkUAz5KAg==","signatures":[{"sig":"MEYCIQDBrkFl4lvRolxzCN2rSCvL5hjEFdsXmmzAb9u/mm6uPAIhALEVtAVj2RxnipVyQSP59dYoBmmIr5gJ2GrUv0HuhEQE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9671495,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhOiY2CRA9TVsSAnZWagAAYO4QAJ21xWqLzYtJCYeasBRQ\nhmVCGIyzEdTjkvmLzqehWk11md1MzVWD0AQdv8OVZzUmhJTmgP24Jmw7N4R0\nDFBIpsykwqglEuJ9gzQcJIX7CWFo9/DXIZvneOJCp9e2u+cHZMwjDIEQZUep\nN6n/mFEVrqvW4SW3V26l93/hdVcuw/yg55ICsd61401bxhwqkxvYzAknQwwi\nLv3mvdrJ0B+RRtnN0Ls/dyOqLGkspt7RZdRMQXPJw63ijELYsPHkfpnIyLrb\nGloIUwPTj2rHAOd/4jfg9xWjerD90VmDd0LONo5JbAacUWK1cI9x8JtfhqxT\nsAGcKHIKsrM/5Ewy4XjXs8MCgSrL1hI9fVrERJmjxv9ZiSgiI03KoUBHdq1I\nv9VBzFDZgIwNL4v/U+KeTPDUBTnLYPEEElgYOnorpZAhUQm0qBDLWDGWGE7d\n0c9UM9qBcGIi949U7pee0AoOj0DHryoBTZFOc0ALxWHYPTB9Xubj7naeiq+G\nDP6Wwu1XCxECkFPKgrMH63P0JZR4ZfKHGg5oe5cpmBFqPEQwXWMbpLLmBB2K\nLxIMQzW7xlfLG9GuLTGgzCTXtzck6nYuxfCaAaMM5rZfgV4XJhj1qP5GLBXh\nszRQ3dcHop4z8+tX7NhCjdotc48QVi4CdnrG2V2O7kfO8oYhNb/41zoSTQ3x\nB4kF\r\n=+gHF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"a0ad4358b62c99c03522d86974434b8499e430a8","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests/index.js","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"node_modules/forever/bin/forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmcordova@hotmail.com"},"_npmVersion":"6.14.12","description":"### Install & Launch ``` npm install cordovabox -g cordovabox new applicationName cordovabox start  ```","directories":{"lib":"lib"},"_nodeVersion":"12.22.1","dependencies":{"del":"^1.2.1","ejs":"^2.7.4","bson":"^1.0.4","csrf":"^3.1.0","gulp":"^4.0.2","walk":"^2.3.9","axios":"^0.21.1","csurf":"^1.11.0","moment":"^2.10.0","throng":"^1.0.0","connect":"1.9.2","express":"^4.16.0","request":"^2.55.0","winston":"^0.8.3","gulp-cli":"^2.2.0","gulp-ejs":"^1.2.2","mongoose":"^4.13.15","newrelic":"^1.17.1","passport":"^0.4.1","gulp-gzip":"^1.4.0","gulp-util":"^3.0.4","socket.io":"^4.0.0","waterline":"^0.13.6","gulp-watch":"^4.3.11","jwt-simple":"^0.5.6","ng-croppie":"^1.0.0","sails-disk":"^1.1.2","body-parser":"^1.9.3","compression":"^1.4.3","gulp-concat":"^2.6.1","gulp-uglify":"^1.5.4","sails-mongo":"^1.0.1","webdriverio":"^2.4.5","captains-log":"^2.0.3","connect-mongo":"^0.8.2","connect-redis":"^2.1.0","cookie-parser":"^1.3.3","gulp-compress":"0.0.9","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-uglify-es":"^2.0.0","express-session":"^1.9.2","gulp-compressor":"^0.1.0","moment-timezone":"^0.3.1","request-promise":"^4.2.5","socket.io-redis":"^0.1.4","gulp-minify-html":"^1.0.6","imagemin-pngquant":"^4.2.2","express-handlebars":"^4.0.4","express-http-proxy":"^1.6.2","gulp-yuicompressor":"0.0.3"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"del":"^1.1.1","gulp":"^4.0.2","braces":"^3.0.2","lodash":"^4.17.20","gulp-cli":"^2.2.0","gulp-ejs":"^1.1.0","gulp-gzip":"^1.1.0","gulp-util":"^3.0.4","gulp-watch":"^4.3.11","gulp-minify":"^3.1.0","gulp-uglify":"^1.2.0","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-compressor":"^0.1.0","gulp-minify-html":"^1.0.2","imagemin-pngquant":"^4.0.0","gulp-yuicompressor":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_0.0.4_1631200822294_0.31657657724477106","host":"s3://npm-registry-packages"}},"0.0.6":{"name":"cordovabox","version":"0.0.6","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@0.0.6","maintainers":[{"name":"derrekmc","email":"derrekmcordova@hotmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"bc59e5d75f782a99fee7f97d7bb6251cce31ae95","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-0.0.6.tgz","fileCount":238,"integrity":"sha512-+FIR0vcKMmtkgSyAdHBmVWhMXpXuLxwz9nkDfkJHEkBfjlzsUNH6xBXKvwUtD20hGSFjr8vcb9zC+DPbfSoNdw==","signatures":[{"sig":"MEUCIBxMc+BLYKvS37Sz8cepJKkXIyMUwgLCRA74HTvF8DrNAiEAsRL5eocPOlP33xcI5bPgJW7UJCURSZec5xAtE2hmw/A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9672591,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhOjD4CRA9TVsSAnZWagAArZsQAI0S8oJFISenHOi4YepY\nX2zyWPeNfBX5Vf0cRRw4yDOqTUSQwD1k7LRvmRCV2QUV22BR71bKotAAHCmL\nr9qwuxErfNmV19w+uJlXnXtHPhI8xFv8HuSqa8WJMPX4BJdgf+36sAbn3eNV\ntvW3ViPsXbtz7NNPAupccdA3I4M8AYG/nchS//VRLUK+FYdQX31EEgLuURfo\ne89UUZs0YIrVUNiXo+gFdamL1NWVOjY2IQyQUML29BShzVL/anvOaoh8t+y3\nTIYp+uRyf0Xw1WaN45uwIjLw0CIHHYvkNDB6cvOys009/OwA+nnCceWzro72\nuuZW07kSdBT7HMoqOWB9rkVpalKLPl3dH/+EcsN9JSRPS8DGbL+HH4HVVp7q\nplQitxZc4aidQqWhVczP1AE0wJYi3CYv4Rm2bpW/p9x6wfI1Hldt3ueMDT4H\nZ7mtrTPs6ITsvsQYV7Tr6N7tJjeDYSqJOu4WhjpV84lk85+qXbZ86B+F/4Ta\nCFfUtA2AD3Mmc7BwEBziSTmTCWjOZpljkNmfytwWNjHA7kIySY+gXwuzmdU3\nYMI9GnG1qjsE1W1GGB7XGGE+F4i9tLr3bfD2oNqQc6yWnsZarFjxqnbhxynO\n2rgJk+YsxQnS2DQgmkRRPc6mQIeMgUC+49Kj9gI7v9aYDas7rKzgz6P7TLFJ\nhKi7\r\n=Fcpq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"b4295fd2cc473aabe5ba59eef844f1f4b5faa837","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests/index.js","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"node_modules/forever/bin/forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmcordova@hotmail.com"},"_npmVersion":"6.14.12","description":"### Install & Launch ``` npm install cordovabox -g cordovabox new applicationName cordovabox start  ```","directories":{"lib":"lib"},"_nodeVersion":"12.22.1","dependencies":{"del":"^1.2.1","ejs":"^2.7.4","bson":"^1.0.4","csrf":"^3.1.0","gulp":"^4.0.2","walk":"^2.3.9","axios":"^0.21.1","csurf":"^1.11.0","moment":"^2.10.0","throng":"^1.0.0","connect":"1.9.2","express":"^4.16.0","request":"^2.55.0","winston":"^0.8.3","gulp-cli":"^2.2.0","gulp-ejs":"^1.2.2","mongoose":"^4.13.15","newrelic":"^1.17.1","passport":"^0.4.1","gulp-gzip":"^1.4.0","gulp-util":"^3.0.4","socket.io":"^4.0.0","waterline":"^0.13.6","gulp-watch":"^4.3.11","jwt-simple":"^0.5.6","ng-croppie":"^1.0.0","sails-disk":"^1.1.2","body-parser":"^1.9.3","compression":"^1.4.3","gulp-concat":"^2.6.1","gulp-uglify":"^1.5.4","sails-mongo":"^1.0.1","webdriverio":"^2.4.5","captains-log":"^2.0.3","connect-mongo":"^0.8.2","connect-redis":"^2.1.0","cookie-parser":"^1.3.3","gulp-compress":"0.0.9","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-uglify-es":"^2.0.0","express-session":"^1.9.2","gulp-compressor":"^0.1.0","moment-timezone":"^0.3.1","request-promise":"^4.2.5","socket.io-redis":"^0.1.4","gulp-minify-html":"^1.0.6","imagemin-pngquant":"^4.2.2","express-handlebars":"^4.0.4","express-http-proxy":"^1.6.2","gulp-yuicompressor":"0.0.3"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"del":"^1.1.1","gulp":"^4.0.2","braces":"^3.0.2","lodash":"^4.17.20","gulp-cli":"^2.2.0","gulp-ejs":"^1.1.0","gulp-gzip":"^1.1.0","gulp-util":"^3.0.4","gulp-watch":"^4.3.11","gulp-minify":"^3.1.0","gulp-uglify":"^1.2.0","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-compressor":"^0.1.0","gulp-minify-html":"^1.0.2","imagemin-pngquant":"^4.0.0","gulp-yuicompressor":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_0.0.6_1631203576229_0.23901630773213212","host":"s3://npm-registry-packages"}},"0.0.7":{"name":"cordovabox","version":"0.0.7","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@0.0.7","maintainers":[{"name":"derrekmc","email":"derrekmcordova@hotmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"e61b7d0d9685bef634921f62fe3ae69efdc338de","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-0.0.7.tgz","fileCount":69,"integrity":"sha512-0f0hc3otnRCQtCxtaveS/O+4/j2q0viaatnMG31pkfX8H7VCzwSlHeFK5MzDuV2oqNK9gFcKm5/568N4i9gCIA==","signatures":[{"sig":"MEUCIEty1/xfku9wTzoZu4xD25yWdXPxcfBzxc61IUCyAHkVAiEAu8AZQxiios5emjQJYAA4hzV5MH1gU+cea2wLG8GZqAc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1301561},"main":"index.js","gitHead":"e9fbf7efb136f26643cd85f8323fefb783d497cc","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests/index.js","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"node_modules/forever/bin/forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmcordova@hotmail.com"},"_npmVersion":"6.14.12","description":"### Install & Launch ``` npm install cordovabox -g cordovabox new applicationName cordovabox start  ```","directories":{"lib":"lib"},"_nodeVersion":"12.22.1","dependencies":{"del":"^1.2.1","ejs":"^2.7.4","bson":"^1.0.4","csrf":"^3.1.0","gulp":"^4.0.2","walk":"^2.3.9","axios":"^0.21.1","csurf":"^1.11.0","moment":"^2.10.0","throng":"^1.0.0","connect":"1.9.2","express":"^4.16.0","request":"^2.55.0","winston":"^0.8.3","gulp-cli":"^2.2.0","gulp-ejs":"^1.2.2","mongoose":"^4.13.15","newrelic":"^1.17.1","passport":"^0.4.1","gulp-gzip":"^1.4.0","gulp-util":"^3.0.4","socket.io":"^4.0.0","waterline":"^0.13.6","gulp-watch":"^4.3.11","jwt-simple":"^0.5.6","ng-croppie":"^1.0.0","sails-disk":"^1.1.2","body-parser":"^1.9.3","compression":"^1.4.3","gulp-concat":"^2.6.1","gulp-uglify":"^1.5.4","sails-mongo":"^1.0.1","webdriverio":"^2.4.5","captains-log":"^2.0.3","connect-mongo":"^0.8.2","connect-redis":"^2.1.0","cookie-parser":"^1.3.3","gulp-compress":"0.0.9","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-uglify-es":"^2.0.0","express-session":"^1.9.2","gulp-compressor":"^0.1.0","moment-timezone":"^0.3.1","request-promise":"^4.2.5","socket.io-redis":"^0.1.4","gulp-minify-html":"^1.0.6","imagemin-pngquant":"^4.2.2","express-handlebars":"^4.0.4","express-http-proxy":"^1.6.2","gulp-yuicompressor":"0.0.3"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"del":"^1.1.1","gulp":"^4.0.2","braces":"^3.0.2","lodash":"^4.17.20","gulp-cli":"^2.2.0","gulp-ejs":"^1.1.0","gulp-gzip":"^1.1.0","gulp-util":"^3.0.4","gulp-watch":"^4.3.11","gulp-minify":"^3.1.0","gulp-uglify":"^1.2.0","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-compressor":"^0.1.0","gulp-minify-html":"^1.0.2","imagemin-pngquant":"^4.0.0","gulp-yuicompressor":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_0.0.7_1632002052599_0.8914034139521059","host":"s3://npm-registry-packages"}},"0.0.8":{"name":"cordovabox","version":"0.0.8","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@0.0.8","maintainers":[{"name":"derrekmc","email":"derrekmcordova@hotmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"55f675020e586b879a403f237bc0aa0e60a38b9f","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-0.0.8.tgz","fileCount":67,"integrity":"sha512-cbazoUnR6SHdw7ATM4dAFbLxMaMxFdU+2e6pipIUJzVFpAlh16J87nZ5XsmG1nKnZv48J2JRVfhhne7zrefxCw==","signatures":[{"sig":"MEUCIAs4zby7elZkvV687oLgJWI75B45LFLAQqSa8JFTy1MTAiEAnwVi+WANCkiLRzdKBjJ4vsEkPoyTOUTt60B7ohh7myU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1285745},"main":"index.js","gitHead":"84a22c1c03473eeac37bfad3a9abd78eb520deda","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests/index.js","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"node_modules/forever/bin/forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmcordova@hotmail.com"},"_npmVersion":"6.14.12","description":"### Install & Launch ``` npm install cordovabox -g cordovabox new applicationName cordovabox start  ```","directories":{"lib":"lib"},"_nodeVersion":"12.22.1","dependencies":{"del":"^1.2.1","ejs":"^2.7.4","bson":"^1.0.4","csrf":"^3.1.0","gulp":"^4.0.2","walk":"^2.3.9","axios":"^0.21.1","csurf":"^1.11.0","moment":"^2.10.0","throng":"^1.0.0","connect":"1.9.2","express":"^4.16.0","request":"^2.55.0","winston":"^0.8.3","gulp-cli":"^2.2.0","gulp-ejs":"^1.2.2","mongoose":"^4.13.15","newrelic":"^1.17.1","passport":"^0.4.1","gulp-gzip":"^1.4.0","gulp-util":"^3.0.4","socket.io":"^4.0.0","waterline":"^0.13.6","gulp-watch":"^4.3.11","jwt-simple":"^0.5.6","ng-croppie":"^1.0.0","sails-disk":"^1.1.2","body-parser":"^1.9.3","compression":"^1.4.3","gulp-concat":"^2.6.1","gulp-uglify":"^1.5.4","sails-mongo":"^1.0.1","webdriverio":"^2.4.5","captains-log":"^2.0.3","connect-mongo":"^0.8.2","connect-redis":"^2.1.0","cookie-parser":"^1.3.3","gulp-compress":"0.0.9","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-uglify-es":"^2.0.0","express-session":"^1.9.2","gulp-compressor":"^0.1.0","moment-timezone":"^0.3.1","request-promise":"^4.2.5","socket.io-redis":"^0.1.4","gulp-minify-html":"^1.0.6","imagemin-pngquant":"^4.2.2","express-handlebars":"^4.0.4","express-http-proxy":"^1.6.2","gulp-yuicompressor":"0.0.3"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"del":"^1.1.1","gulp":"^4.0.2","braces":"^3.0.2","lodash":"^4.17.20","gulp-cli":"^2.2.0","gulp-ejs":"^1.1.0","gulp-gzip":"^1.1.0","gulp-util":"^3.0.4","gulp-watch":"^4.3.11","gulp-minify":"^3.1.0","gulp-uglify":"^1.2.0","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-compressor":"^0.1.0","gulp-minify-html":"^1.0.2","imagemin-pngquant":"^4.0.0","gulp-yuicompressor":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_0.0.8_1632004518008_0.8256022231238545","host":"s3://npm-registry-packages"}},"0.0.9":{"name":"cordovabox","version":"0.0.9","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@0.0.9","maintainers":[{"name":"derrekmc","email":"derrekmcordova@hotmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"35868594a2f37aed1aab289f3856d3d9f83fb0f0","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-0.0.9.tgz","fileCount":71,"integrity":"sha512-eCA4pOkyDr3hqV/H1oy2DhWTOGsKfnycIHqpQhsjar4cwv+w+43PHBYY4M58gzcnW97CVGVC3p/+kazQ88PZgQ==","signatures":[{"sig":"MEQCIHKAah8mTatb9PecJjSjp+6+pfkuWi5v4AUNvPj6C0sWAiA2H89ua7BKAH2HE+JGqrQPPJf/vz+x2ceHAecs3hh4iQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1561762114,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhsuGhCRA9TVsSAnZWagAA6yQP/jAzZ5hAiH32GElwwCXW\nft0yWsbgD4oavtCg7LHc/r98a5NmKXVugKbNXTsT1nJ7SO4dzkSrTJPc4W5S\nIasjASNJm5XJX8jjqVjyGgEnuU5Xda1LampPAzzYxmwI+oFgbXlWOPLZNKZ+\nCkAxVyii6Tj8P/lbZjIrrcKhrCkHYkopnNE7J7BiP9FrSKWV+6+pu4xA3YMG\nQJUIY14WYY65PhfKwTLDlOrwDtYFZSKsAjheu8v+I1zpHeYd8qRLgIlNkV+W\n3JMT2pT8apY1+Bq1EWvcoDaecPx+6ebbqGUSpAIMX58nP6VxlzKyNU4G25MA\nj/YCuoGfuChBbI94I4ObIUr72Pf58KEQSJtVXomFAAM15dmGds0lIlZY/im7\nUJhmTg1FCFJaLOeRg3P1i+VRx7nTRi5idzJxmb6nEYem52PCi2tJnPBAPUEl\nXi55GEYQzkYKDKhZ0unxIa+bthmBFZ2siARa8SWDuhg7UEI4cVECsoj/rWZB\nS6Esm4VQIGHEN/BdEASfi8F8gc/Kqt+n4JgxZOCW2Y0918CZtgN5o+jb6zMx\n6XQEauCuKsSPBsCgnI2SIzUeCAYbMCc/e+87Bs2PtCnhr/ZZ+FR1U6IZrRyf\ndb4Er4n6U6cMs4tIFKNeZ2PzPK7xAoVMeOCbZ+0a00EebzPl8NFRgCqa2Dib\nprJC\r\n=4K+U\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"4525bb3459c61bfc2a9f0c41228407e279dcac15","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests/index.js","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"node_modules/forever/bin/forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmcordova@hotmail.com"},"_npmVersion":"6.14.12","description":"### Install & Launch ``` npm install cordovabox -g cordovabox new applicationName cordovabox start  ```","directories":{"lib":"lib"},"_nodeVersion":"12.22.1","dependencies":{"del":"^1.2.1","ejs":"^2.7.4","bson":"^1.0.4","csrf":"^3.1.0","gulp":"^4.0.2","open":"^8.4.0","walk":"^2.3.9","axios":"^0.21.1","csurf":"^1.11.0","moment":"^2.10.0","throng":"^1.0.0","connect":"1.9.2","express":"^4.16.0","request":"^2.55.0","winston":"^0.8.3","gulp-cli":"^2.2.0","gulp-ejs":"^1.2.2","mongoose":"^4.13.15","newrelic":"^1.17.1","passport":"^0.4.1","gulp-gzip":"^1.4.0","gulp-util":"^3.0.4","socket.io":"^4.0.0","waterline":"^0.13.6","gulp-watch":"^4.3.11","jwt-simple":"^0.5.6","ng-croppie":"^1.0.0","sails-disk":"^1.1.2","body-parser":"^1.9.3","compression":"^1.4.3","gulp-concat":"^2.6.1","gulp-uglify":"^1.5.4","sails-mongo":"^1.0.1","webdriverio":"^2.4.5","captains-log":"^2.0.3","connect-mongo":"^0.8.2","connect-redis":"^2.1.0","cookie-parser":"^1.3.3","gulp-compress":"0.0.9","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-uglify-es":"^2.0.0","express-session":"^1.9.2","gulp-compressor":"^0.1.0","moment-timezone":"^0.3.1","request-promise":"^4.2.5","socket.io-redis":"^0.1.4","gulp-minify-html":"^1.0.6","imagemin-pngquant":"^4.2.2","express-handlebars":"^4.0.4","express-http-proxy":"^1.6.2","gulp-yuicompressor":"0.0.3"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"del":"^1.1.1","gulp":"^4.0.2","braces":"^3.0.2","lodash":"^4.17.20","gulp-cli":"^2.2.0","gulp-ejs":"^1.1.0","gulp-gzip":"^1.1.0","gulp-util":"^3.0.4","gulp-watch":"^4.3.11","gulp-minify":"^3.1.0","gulp-uglify":"^1.2.0","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-compressor":"^0.1.0","gulp-minify-html":"^1.0.2","imagemin-pngquant":"^4.0.0","gulp-yuicompressor":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_0.0.9_1639113119749_0.609777756871777","host":"s3://npm-registry-packages"}},"0.1.0":{"name":"cordovabox","version":"0.1.0","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@0.1.0","maintainers":[{"name":"derrekmc","email":"derrekmcordova@hotmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"7ec0aff94ddca30f56696514fe7a8f43e6414566","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-0.1.0.tgz","fileCount":75,"integrity":"sha512-gzg3AmLerH6oW2QQ4EReRdIymjMjgJPAQg6S/s6Y54qpHQMcrlS+hmlNqAGj56Y45TqGvKsxDe8hzOpADKj+WQ==","signatures":[{"sig":"MEUCIGisgYsVB+KcHeWyWPoI6gXLYye+CldtPksBorRItVr4AiEAuMVe60pmdEGJEZCj49DV2xvvDdZ5FmGJwkklos5dyc8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1591994270,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJht6e4CRA9TVsSAnZWagAAUBAP/0qN8SDtpIqq4JcKh636\n7nh0O8OfBjusCZgh39W9blvSB5XY1ugFtuQ5qt39omwz1gIW8zivAnX6vP0x\nAf8BKLnbXAOFD7a/xuwfFiemwd0yTKYrVhdap65uHZk6IJhlkgCG0Z1srBQv\nApvuDTdshJDQu8wHdTaM0YChp0TuvQyoWz10VtxgynZfjok4bxMwRs6GCPCL\nnIIzL5E6XgluqHEl049yWvYw9fFzTwuZy5lOtYny+v7pqRi3vc39w1J4UsoU\ne/r5DzUH8hjQ2h3aKCrud1ZiCmeFskr4UaqWDzp8b7lxqIR+7JCFgw6mRbSt\nKCUwjhhn49V4IX5SMJ0VzKDAbxsvL+omapXL2VaHZzXxpxeCBZnXMnuaiPxR\noTF7TW0L9Pokuq3BBOA3k5fM7GzqgjNrwsCrUJrcOiE7tr1n4Y3jHsjiBkJN\nRqwkcPL6XJX5wEc1eXXP8Gq8uhVtEXTWpylxSm9F/9WjW8PNWcV4paH08fmO\n+UdjjOi6f/Ivjn94jx/I/I1GeGqtUzH0jFa0sltSsWX4RBK4TD1xNnu+iNwu\nUS5Ym2Gb5HFEAG2mmSnBmJHduV39gxeSCI/i6WIPZ/s1c/jZa+Xl+maBNkhk\nfn8L3U7Mn5+v6bOVptYNbm2MYEY2WE5BVOVrvhFLpprhs62NU+PCXfAnUPwo\nZhXL\r\n=WRSZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"e29ccd13a0399097ca8f9f56664c5c224b379bdd","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests/index.js","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"node_modules/forever/bin/forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmcordova@hotmail.com"},"_npmVersion":"6.14.12","description":"### Install & Launch ``` npm install cordovabox -g cordovabox new applicationName cordovabox start  ```","directories":{"lib":"lib"},"_nodeVersion":"12.22.1","dependencies":{"del":"^1.2.1","ejs":"^2.7.4","bson":"^1.0.4","csrf":"^3.1.0","gulp":"^4.0.2","open":"^8.4.0","walk":"^2.3.9","axios":"^0.21.1","csurf":"^1.11.0","moment":"^2.10.0","throng":"^1.0.0","connect":"1.9.2","express":"^4.16.0","request":"^2.55.0","winston":"^0.8.3","gulp-cli":"^2.2.0","gulp-ejs":"^1.2.2","mongoose":"^4.13.15","newrelic":"^1.17.1","passport":"^0.4.1","gulp-gzip":"^1.4.0","gulp-util":"^3.0.4","socket.io":"^4.0.0","waterline":"^0.13.6","gulp-watch":"^4.3.11","jwt-simple":"^0.5.6","ng-croppie":"^1.0.0","sails-disk":"^1.1.2","body-parser":"^1.9.3","compression":"^1.4.3","gulp-concat":"^2.6.1","gulp-uglify":"^1.5.4","sails-mongo":"^1.0.1","webdriverio":"^2.4.5","captains-log":"^2.0.3","connect-mongo":"^0.8.2","connect-redis":"^2.1.0","cookie-parser":"^1.3.3","gulp-compress":"0.0.9","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-uglify-es":"^2.0.0","express-session":"^1.9.2","gulp-compressor":"^0.1.0","moment-timezone":"^0.3.1","request-promise":"^4.2.5","socket.io-redis":"^0.1.4","gulp-minify-html":"^1.0.6","imagemin-pngquant":"^4.2.2","express-handlebars":"^4.0.4","express-http-proxy":"^1.6.2","gulp-yuicompressor":"0.0.3"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"del":"^1.1.1","gulp":"^4.0.2","braces":"^3.0.2","lodash":"^4.17.20","gulp-cli":"^2.2.0","gulp-ejs":"^1.1.0","gulp-gzip":"^1.1.0","gulp-util":"^3.0.4","gulp-watch":"^4.3.11","gulp-minify":"^3.1.0","gulp-uglify":"^1.2.0","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-compressor":"^0.1.0","gulp-minify-html":"^1.0.2","imagemin-pngquant":"^4.0.0","gulp-yuicompressor":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_0.1.0_1639425974939_0.568414941164004","host":"s3://npm-registry-packages"}},"0.1.1":{"name":"cordovabox","version":"0.1.1","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@0.1.1","maintainers":[{"name":"derrekmc","email":"derrekmcordova@hotmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"327f40082d3cb413229686df8c7df587c821ecf2","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-0.1.1.tgz","fileCount":79,"integrity":"sha512-MfhyKgK/l8mgTIPO7oBFifQ2DvgrS6jk2vYZw71lJk7HxudEDYanRiR1eqK437WJSxv1bWMN0dXDxzf/tv0JlQ==","signatures":[{"sig":"MEQCICEWAIWDK8E8renZdgiQTyJQ+lDYIGOEQvy3f/o05TRGAiAddZMcTK66zMbfr4W95isb8PM20oEZkivSjw6Xs4A6fg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1594309734,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJht/ufCRA9TVsSAnZWagAADBAQAJ6rXRzHJ8l4ee5NH/zi\n2cypNMJUliHPE+wjQ3NMe0AB7ENvH+DAQC523kKP74u/NkXOsr8jz6tcr3bx\n/K7UPD4CSZeHElhfExgQ6pdDbyHxYkrUK3D8xA+UDHom+lFHTqAbU0WH2+de\n/R2g3E9SFuWwfQBZWg2WDpcB4Dzjvp/qYbaH4Wd2gCfhOHNYKUF9FdOPWWXG\nnT57Y/VbZp/h9MJPzQCd74hhwZLfOSBWXQSZkEtslTHO8JyItuIqZ0Wfb4Xy\ntBdjSm61giblJLn1oFtAoQkiuroDSPU7h4UJPScwQejvDvphhJoFOKyDUFud\nKDUkzph938B4eqOtvCsPNP0IH6A4pfK6EiXosR+7WUbBHS7W+TlW3udgViaY\nTkyZOKnyAbMGZyeWC3LZx+KSgfDPEUtYKVjuPS7o1Qq4uS3FUPkWB8U1syUC\nFklSw5C3nszgQYh60HggeLd2lR6jTA9kgBm7UfReb4ZCKAgN41Y3WILdzu/j\n7uqvvec+YY13icfKfSMyX6wUgpZmBUAnA5ZdDpROKXAUFduQAs125T9GXDNV\nnLtx2rxbC6FjEaVFHG/QRo8m0daR7kPs2tjBsNIJGnGf9TonLlxi2PIDXHJm\nm5ZZPsxZnH2vnz5D7WiWpKRRlQW/a+6noCFWoWhv4TmOXGQEGtH/9mdrFZ5O\nQpSw\r\n=APq2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"9674ea5a4a913064946211af0f3c951031f86b14","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests/index.js","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"node_modules/forever/bin/forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmcordova@hotmail.com"},"_npmVersion":"6.14.12","description":"### Install & Launch ``` npm install cordovabox -g cordovabox new applicationName cordovabox start  ```","directories":{"lib":"lib"},"_nodeVersion":"12.22.1","dependencies":{"del":"^1.2.1","ejs":"^2.7.4","bson":"^1.0.4","csrf":"^3.1.0","gulp":"^4.0.2","open":"^8.4.0","walk":"^2.3.9","axios":"^0.21.1","csurf":"^1.11.0","moment":"^2.10.0","throng":"^1.0.0","connect":"1.9.2","express":"^4.16.0","request":"^2.55.0","winston":"^0.8.3","gulp-cli":"^2.2.0","gulp-ejs":"^1.2.2","mongoose":"^4.13.15","newrelic":"^1.17.1","passport":"^0.4.1","gulp-gzip":"^1.4.0","gulp-util":"^3.0.4","socket.io":"^4.0.0","waterline":"^0.13.6","gulp-watch":"^4.3.11","jwt-simple":"^0.5.6","ng-croppie":"^1.0.0","sails-disk":"^1.1.2","body-parser":"^1.9.3","compression":"^1.4.3","gulp-concat":"^2.6.1","gulp-uglify":"^1.5.4","sails-mongo":"^1.0.1","webdriverio":"^2.4.5","captains-log":"^2.0.3","connect-mongo":"^0.8.2","connect-redis":"^2.1.0","cookie-parser":"^1.3.3","gulp-compress":"0.0.9","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-uglify-es":"^2.0.0","express-session":"^1.9.2","gulp-compressor":"^0.1.0","moment-timezone":"^0.3.1","request-promise":"^4.2.5","socket.io-redis":"^0.1.4","gulp-minify-html":"^1.0.6","imagemin-pngquant":"^4.2.2","express-handlebars":"^4.0.4","express-http-proxy":"^1.6.2","gulp-yuicompressor":"0.0.3"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"del":"^1.1.1","gulp":"^4.0.2","braces":"^3.0.2","lodash":"^4.17.20","gulp-cli":"^2.2.0","gulp-ejs":"^1.1.0","gulp-gzip":"^1.1.0","gulp-util":"^3.0.4","gulp-watch":"^4.3.11","gulp-minify":"^3.1.0","gulp-uglify":"^1.2.0","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-compressor":"^0.1.0","gulp-minify-html":"^1.0.2","imagemin-pngquant":"^4.0.0","gulp-yuicompressor":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_0.1.1_1639447453476_0.49337598713582964","host":"s3://npm-registry-packages"}},"0.1.3":{"name":"cordovabox","version":"0.1.3","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@0.1.3","maintainers":[{"name":"derrekmc","email":"derrekmcordova@hotmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"4aad0598ee6eecff43b8adad738ebf245c018bc3","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-0.1.3.tgz","fileCount":84,"integrity":"sha512-GdW2eA8PhP+BIJJ+ZHjhi3olDeMcgwhqou5Y5ie422lqogepIci2xHhm78mxgPHzhZS+DYfk5BbS3WFwxONQKA==","signatures":[{"sig":"MEYCIQDHhDoSJwUT7wBxkdcvRQT7vhNRYSsN+bPZ6gU/AiECHgIhANX78NklioBg0VOy1etNog0ZJeimqtD0V7W6FzslhDNE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1594310972},"main":"index.js","gitHead":"ef28eb144ff7604df3e7e59a1f65560ab31acc91","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests/index.js","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmcordova@hotmail.com"},"_npmVersion":"6.14.12","description":"### Install & Launch ``` npm install cordovabox -g cordovabox new applicationName cordovabox start  ```","directories":{"lib":"lib"},"_nodeVersion":"12.22.1","dependencies":{"del":"^1.2.1","ejs":"^2.7.4","bson":"^1.0.4","csrf":"^3.1.0","gulp":"^4.0.2","open":"^8.4.0","walk":"^2.3.9","axios":"^0.21.1","csurf":"^1.11.0","moment":"^2.10.0","throng":"^1.0.0","connect":"1.9.2","express":"^4.16.0","request":"^2.55.0","winston":"^0.8.3","gulp-cli":"^2.2.0","gulp-ejs":"^1.2.2","mongoose":"^4.13.15","newrelic":"^1.17.1","passport":"^0.4.1","gulp-gzip":"^1.4.0","gulp-util":"^3.0.4","socket.io":"^4.0.0","waterline":"^0.13.6","gulp-watch":"^4.3.11","jwt-simple":"^0.5.6","ng-croppie":"^1.0.0","sails-disk":"^1.1.2","body-parser":"^1.9.3","compression":"^1.4.3","gulp-concat":"^2.6.1","gulp-uglify":"^1.5.4","sails-mongo":"^1.0.1","webdriverio":"^2.4.5","captains-log":"^2.0.3","connect-mongo":"^0.8.2","connect-redis":"^2.1.0","cookie-parser":"^1.3.3","gulp-compress":"0.0.9","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-uglify-es":"^2.0.0","express-session":"^1.9.2","gulp-compressor":"^0.1.0","moment-timezone":"^0.3.1","request-promise":"^4.2.5","socket.io-redis":"^0.1.4","gulp-minify-html":"^1.0.6","imagemin-pngquant":"^4.2.2","express-handlebars":"^4.0.4","express-http-proxy":"^1.6.2","gulp-yuicompressor":"0.0.3"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"del":"^1.1.1","gulp":"^4.0.2","braces":"^3.0.2","lodash":"^4.17.20","gulp-cli":"^2.2.0","gulp-ejs":"^1.1.0","gulp-gzip":"^1.1.0","gulp-util":"^3.0.4","gulp-watch":"^4.3.11","gulp-minify":"^3.1.0","gulp-uglify":"^1.2.0","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-compressor":"^0.1.0","gulp-minify-html":"^1.0.2","imagemin-pngquant":"^4.0.0","gulp-yuicompressor":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_0.1.3_1760735721266_0.5364029007276447","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"cordovabox","version":"0.1.5","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@0.1.5","maintainers":[{"name":"derrekmc","email":"derrekmcordova@hotmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"9d0a98f86143aa021111978ace3987072ac40f64","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-0.1.5.tgz","fileCount":81,"integrity":"sha512-Q0XMRvdncaLhrEFqJrB0lysd6B6lrWzdf5Myv/hX+gVYst6t9L0pzM2rX5Ee/qwCX3JXg/V2og8V7RZOK+t9iQ==","signatures":[{"sig":"MEUCIQDNRxnpYtqmCW4Y0LzORLgv5PeRYAy1xoPOyWXa25DeKQIgNKoPN8YlC4XsCC/Bo0enVygdL/ZqCFFr4kssmIjW9cY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52659386},"main":"index.js","gitHead":"c3f85f9028297612b91d5268bfd528901466892e","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests/index.js","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmcordova@hotmail.com"},"_npmVersion":"6.14.12","description":"### Install & Launch ``` npm install cordovabox -g cordovabox new applicationName cordovabox start  ```","directories":{"lib":"lib"},"_nodeVersion":"12.22.1","dependencies":{"del":"^1.2.1","ejs":"^2.7.4","bson":"^1.0.4","csrf":"^3.1.0","gulp":"^4.0.2","open":"^8.4.0","walk":"^2.3.9","axios":"^0.21.1","csurf":"^1.11.0","moment":"^2.10.0","throng":"^1.0.0","connect":"1.9.2","express":"^4.16.0","request":"^2.55.0","winston":"^0.8.3","gulp-cli":"^2.2.0","gulp-ejs":"^1.2.2","mongoose":"^4.13.15","newrelic":"^1.17.1","passport":"^0.4.1","gulp-gzip":"^1.4.0","gulp-util":"^3.0.4","socket.io":"^4.0.0","waterline":"^0.13.6","gulp-watch":"^4.3.11","jwt-simple":"^0.5.6","ng-croppie":"^1.0.0","sails-disk":"^1.1.2","body-parser":"^1.9.3","compression":"^1.4.3","gulp-concat":"^2.6.1","gulp-uglify":"^1.5.4","sails-mongo":"^1.0.1","webdriverio":"^2.4.5","captains-log":"^2.0.3","connect-mongo":"^0.8.2","connect-redis":"^2.1.0","cookie-parser":"^1.3.3","gulp-compress":"0.0.9","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-uglify-es":"^2.0.0","express-session":"^1.9.2","gulp-compressor":"^0.1.0","moment-timezone":"^0.3.1","request-promise":"^4.2.5","socket.io-redis":"^0.1.4","gulp-minify-html":"^1.0.6","imagemin-pngquant":"^4.2.2","express-handlebars":"^4.0.4","express-http-proxy":"^1.6.2","gulp-yuicompressor":"0.0.3"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"del":"^1.1.1","gulp":"^4.0.2","braces":"^3.0.2","lodash":"^4.17.20","gulp-cli":"^2.2.0","gulp-ejs":"^1.1.0","gulp-gzip":"^1.1.0","gulp-util":"^3.0.4","gulp-watch":"^4.3.11","gulp-minify":"^3.1.0","gulp-uglify":"^1.2.0","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-compressor":"^0.1.0","gulp-minify-html":"^1.0.2","imagemin-pngquant":"^4.0.0","gulp-yuicompressor":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_0.1.5_1760735915430_0.5054750331177573","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"cordovabox","version":"0.1.6","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@0.1.6","maintainers":[{"name":"derrekmc","email":"derrekmcordova@hotmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"45eaa151e1c6eb7b1ccdc35c5d1175bd688713b8","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-0.1.6.tgz","fileCount":81,"integrity":"sha512-AxlYh7kKsqEJyqGD2PclJAqhe3hDFLWXHcFeqGt292KMhDngjydx7MR2VE/4aC4hJbT0UjI5yZ7uHPi5/odEDQ==","signatures":[{"sig":"MEYCIQDqEwCdzT+LpzulZz/yUx08KkWYKHaWH3jEcQ9ez3IrEAIhAMTkuobFYTDlFrtQLcDcv7c5vdpQ/rsjwbthvVzgYsIC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52659271},"main":"index.js","gitHead":"747357deef91a314510c166c34f55b0ceec54413","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests/index.js","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmcordova@hotmail.com"},"_npmVersion":"6.14.12","description":"### Install & Launch ``` npm install cordovabox -g cordovabox new applicationName cordovabox start  ```","directories":{"lib":"lib"},"_nodeVersion":"12.22.1","dependencies":{"del":"^1.2.1","ejs":"^2.7.4","bson":"^1.0.4","csrf":"^3.1.0","gulp":"^4.0.2","open":"^8.4.0","walk":"^2.3.9","axios":"^0.21.1","csurf":"^1.11.0","moment":"^2.10.0","throng":"^1.0.0","connect":"1.9.2","express":"^4.16.0","request":"^2.55.0","winston":"^0.8.3","gulp-cli":"^2.2.0","gulp-ejs":"^1.2.2","mongoose":"^4.13.15","newrelic":"^1.17.1","passport":"^0.4.1","gulp-gzip":"^1.4.0","gulp-util":"^3.0.4","socket.io":"^4.0.0","waterline":"^0.13.6","gulp-watch":"^4.3.11","jwt-simple":"^0.5.6","ng-croppie":"^1.0.0","sails-disk":"^1.1.2","body-parser":"^1.9.3","compression":"^1.4.3","gulp-concat":"^2.6.1","gulp-uglify":"^1.5.4","sails-mongo":"^1.0.1","webdriverio":"^2.4.5","captains-log":"^2.0.3","connect-mongo":"^0.8.2","connect-redis":"^2.1.0","cookie-parser":"^1.3.3","gulp-compress":"0.0.9","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-uglify-es":"^2.0.0","express-session":"^1.9.2","gulp-compressor":"^0.1.0","moment-timezone":"^0.3.1","request-promise":"^4.2.5","socket.io-redis":"^0.1.4","gulp-minify-html":"^1.0.6","imagemin-pngquant":"^4.2.2","express-handlebars":"^4.0.4","express-http-proxy":"^1.6.2","gulp-yuicompressor":"0.0.3"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"del":"^1.1.1","gulp":"^4.0.2","braces":"^3.0.2","lodash":"^4.17.20","gulp-cli":"^2.2.0","gulp-ejs":"^1.1.0","gulp-gzip":"^1.1.0","gulp-util":"^3.0.4","gulp-watch":"^4.3.11","gulp-minify":"^3.1.0","gulp-uglify":"^1.2.0","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-compressor":"^0.1.0","gulp-minify-html":"^1.0.2","imagemin-pngquant":"^4.0.0","gulp-yuicompressor":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_0.1.6_1760737280177_0.7897730377517065","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"cordovabox","version":"0.1.7","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@0.1.7","maintainers":[{"name":"derrekmc","email":"derrekmcordova@hotmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"367b253831e32cb13c989e95f52135f1fa09f612","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-0.1.7.tgz","fileCount":81,"integrity":"sha512-hB/ZlITUwEuNZmxQl3PzdXbvJw7HlYpzSyQWsfirofT5O9u9kl0049sDQ1SlmVDSI1irdSffrZWSkc66/E/t9Q==","signatures":[{"sig":"MEUCIGh6074NMDbMnC+LiK4mSU5v1xmahbAp1hchHChXKBVNAiEA7ndfNmeLErxdvgubLHM7jVFzNJs9o01pmeBd2dubJKE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52659571},"main":"index.js","gitHead":"5c22a48ad0b9cf7e36d3ab52ae1fd04b898188ec","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests/index.js","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmcordova@hotmail.com"},"_npmVersion":"6.14.12","description":"### Install & Launch ``` npm install cordovabox -g cordovabox new applicationName cordovabox start  ```","directories":{"lib":"lib"},"_nodeVersion":"12.22.1","dependencies":{"del":"^1.2.1","ejs":"^2.7.4","bson":"^1.0.4","csrf":"^3.1.0","gulp":"^4.0.2","open":"^8.4.0","walk":"^2.3.9","axios":"^0.21.1","csurf":"^1.11.0","moment":"^2.10.0","throng":"^1.0.0","connect":"1.9.2","express":"^4.16.0","request":"^2.55.0","winston":"^0.8.3","gulp-cli":"^2.2.0","gulp-ejs":"^1.2.2","mongoose":"^4.13.15","newrelic":"^1.17.1","passport":"^0.4.1","gulp-gzip":"^1.4.0","gulp-util":"^3.0.4","socket.io":"^4.0.0","waterline":"^0.13.6","gulp-watch":"^4.3.11","jwt-simple":"^0.5.6","ng-croppie":"^1.0.0","sails-disk":"^1.1.2","body-parser":"^1.9.3","compression":"^1.4.3","gulp-concat":"^2.6.1","gulp-uglify":"^1.5.4","sails-mongo":"^1.0.1","webdriverio":"^2.4.5","captains-log":"^2.0.3","connect-mongo":"^0.8.2","connect-redis":"^2.1.0","cookie-parser":"^1.3.3","gulp-compress":"0.0.9","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-uglify-es":"^2.0.0","express-session":"^1.9.2","gulp-compressor":"^0.1.0","moment-timezone":"^0.3.1","request-promise":"^4.2.5","socket.io-redis":"^0.1.4","gulp-minify-html":"^1.0.6","imagemin-pngquant":"^4.2.2","express-handlebars":"^4.0.4","express-http-proxy":"^1.6.2","gulp-yuicompressor":"0.0.3"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"del":"^1.1.1","gulp":"^4.0.2","braces":"^3.0.2","lodash":"^4.17.20","gulp-cli":"^2.2.0","gulp-ejs":"^1.1.0","gulp-gzip":"^1.1.0","gulp-util":"^3.0.4","gulp-watch":"^4.3.11","gulp-minify":"^3.1.0","gulp-uglify":"^1.2.0","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-compressor":"^0.1.0","gulp-minify-html":"^1.0.2","imagemin-pngquant":"^4.0.0","gulp-yuicompressor":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_0.1.7_1760738715120_0.4319233399233615","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"cordovabox","version":"0.1.8","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@0.1.8","maintainers":[{"name":"derrekmc","email":"derrekmcordova@hotmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"bb4b0e6216b509074040089fb5cc3500efbcdbe3","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-0.1.8.tgz","fileCount":81,"integrity":"sha512-1R7QVclhZjPtTPm2WbWq85W0ziaSoCbextpnP4lhBJjqXbmm/vC3wRU77DSCuaQTKub5oPtT2krg11w2/bAofg==","signatures":[{"sig":"MEYCIQDYMAThLupUkFo0haxvKOVizJ62D6xRO6Blyl/oHBU3jwIhAJGK+1hZeo9La8QjPAjQ5+F8MBTxjxTt+R2XUeZE28HP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52661163},"main":"index.js","gitHead":"78d9009145c93e806e8c0387759d7f914e46d5b2","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests/index.js","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmcordova@hotmail.com"},"_npmVersion":"6.14.12","description":"### Install & Launch ``` npm install cordovabox -g cordovabox new applicationName cordovabox start  ```","directories":{"lib":"lib"},"_nodeVersion":"12.22.1","dependencies":{"del":"^1.2.1","ejs":"^2.7.4","bson":"^1.0.4","csrf":"^3.1.0","gulp":"^4.0.2","open":"^8.4.0","walk":"^2.3.9","axios":"^0.21.1","csurf":"^1.11.0","moment":"^2.10.0","throng":"^1.0.0","connect":"1.9.2","express":"^4.16.0","request":"^2.55.0","winston":"^0.8.3","gulp-cli":"^2.2.0","gulp-ejs":"^1.2.2","mongoose":"^4.13.15","newrelic":"^1.17.1","passport":"^0.4.1","gulp-gzip":"^1.4.0","gulp-util":"^3.0.4","socket.io":"^4.0.0","waterline":"^0.13.6","gulp-watch":"^4.3.11","jwt-simple":"^0.5.6","ng-croppie":"^1.0.0","sails-disk":"^1.1.2","body-parser":"^1.9.3","compression":"^1.4.3","gulp-concat":"^2.6.1","gulp-uglify":"^1.5.4","sails-mongo":"^1.0.1","webdriverio":"^2.4.5","captains-log":"^2.0.3","connect-mongo":"^0.8.2","connect-redis":"^2.1.0","cookie-parser":"^1.3.3","gulp-compress":"0.0.9","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-uglify-es":"^2.0.0","express-session":"^1.9.2","gulp-compressor":"^0.1.0","moment-timezone":"^0.3.1","request-promise":"^4.2.5","socket.io-redis":"^0.1.4","gulp-minify-html":"^1.0.6","imagemin-pngquant":"^4.2.2","express-handlebars":"^4.0.4","express-http-proxy":"^1.6.2","gulp-yuicompressor":"0.0.3"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"del":"^1.1.1","gulp":"^4.0.2","braces":"^3.0.2","lodash":"^4.17.20","gulp-cli":"^2.2.0","gulp-ejs":"^1.1.0","gulp-gzip":"^1.1.0","gulp-util":"^3.0.4","gulp-watch":"^4.3.11","gulp-minify":"^3.1.0","gulp-uglify":"^1.2.0","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-compressor":"^0.1.0","gulp-minify-html":"^1.0.2","imagemin-pngquant":"^4.0.0","gulp-yuicompressor":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_0.1.8_1760739602430_0.9808283156289357","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"cordovabox","version":"0.1.9","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@0.1.9","maintainers":[{"name":"derrekmc","email":"derrekmcordova@hotmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"ea4708151b11e251f9f3f2f21ff71b52e544b070","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-0.1.9.tgz","fileCount":81,"integrity":"sha512-8FdcpZR+IGMS7lnOkTabfJVBpM5P7xWUc7i3pp+9Sjj71OEJTlCvb7xse/BiTS7cDI2KI2YCkDGD6ddk1oc2sw==","signatures":[{"sig":"MEYCIQD+ZMnLXBq+jf/hq0QHLSQz1cp0/CB9P43KNXodStzIQwIhAOj6D4VRrlsS9y+4DtJNpB8NfnK7+hMvaEY3BhX2mgxC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52659571},"main":"index.js","gitHead":"524a4ea3356345ec08406406a2ee19817844df04","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests/index.js","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmcordova@hotmail.com"},"_npmVersion":"6.14.12","description":"### Install & Launch ``` npm install cordovabox -g cordovabox new applicationName cordovabox start  ```","directories":{"lib":"lib"},"_nodeVersion":"12.22.1","dependencies":{"del":"^1.2.1","ejs":"^2.7.4","bson":"^1.0.4","csrf":"^3.1.0","gulp":"^4.0.2","open":"^8.4.0","walk":"^2.3.9","axios":"^0.21.1","csurf":"^1.11.0","moment":"^2.10.0","throng":"^1.0.0","connect":"1.9.2","express":"^4.16.0","request":"^2.55.0","winston":"^0.8.3","gulp-cli":"^2.2.0","gulp-ejs":"^1.2.2","mongoose":"^4.13.15","newrelic":"^1.17.1","passport":"^0.4.1","gulp-gzip":"^1.4.0","gulp-util":"^3.0.4","socket.io":"^4.0.0","waterline":"^0.13.6","gulp-watch":"^4.3.11","jwt-simple":"^0.5.6","ng-croppie":"^1.0.0","sails-disk":"^1.1.2","body-parser":"^1.9.3","compression":"^1.4.3","gulp-concat":"^2.6.1","gulp-uglify":"^1.5.4","sails-mongo":"^1.0.1","webdriverio":"^2.4.5","captains-log":"^2.0.3","connect-mongo":"^0.8.2","connect-redis":"^2.1.0","cookie-parser":"^1.3.3","gulp-compress":"0.0.9","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-uglify-es":"^2.0.0","express-session":"^1.9.2","gulp-compressor":"^0.1.0","moment-timezone":"^0.3.1","request-promise":"^4.2.5","socket.io-redis":"^0.1.4","gulp-minify-html":"^1.0.6","imagemin-pngquant":"^4.2.2","express-handlebars":"^4.0.4","express-http-proxy":"^1.6.2","gulp-yuicompressor":"0.0.3"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"del":"^1.1.1","gulp":"^4.0.2","braces":"^3.0.2","lodash":"^4.17.20","gulp-cli":"^2.2.0","gulp-ejs":"^1.1.0","gulp-gzip":"^1.1.0","gulp-util":"^3.0.4","gulp-watch":"^4.3.11","gulp-minify":"^3.1.0","gulp-uglify":"^1.2.0","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-compressor":"^0.1.0","gulp-minify-html":"^1.0.2","imagemin-pngquant":"^4.0.0","gulp-yuicompressor":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_0.1.9_1760972432486_0.04903177583476026","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"cordovabox","version":"0.1.10","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@0.1.10","maintainers":[{"name":"derrekmc","email":"derrekmcordova@hotmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"e21386762b6cea8803ebbe5abd5ef3042f22c5ec","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-0.1.10.tgz","fileCount":73,"integrity":"sha512-jvcty5gqBLrHrA3y9gRnazWVC0QnG1MpJAui5xyLQAQv4wVXGtcIPiZ4194AzZNZWK0Fe32bha/KAL5pBJ2LvQ==","signatures":[{"sig":"MEQCIG2/5j8rM7sqQGiebj29VtLQzlCVq3iGSi2R7Di/X84NAiBrybEh3844wxWReil5tgzERfO6tARahXIy0ITZwAOxsA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18215386},"main":"index.js","gitHead":"ea10f4c0a3bdcd8621c859daa0d931be30180134","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests/index.js","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmcordova@hotmail.com"},"_npmVersion":"6.14.12","description":"### Install cordovabox ``` npm install cordovabox -g ```","directories":{"lib":"lib"},"_nodeVersion":"12.22.1","dependencies":{"del":"^1.2.1","ejs":"^2.7.4","bson":"^1.0.4","csrf":"^3.1.0","gulp":"^4.0.2","open":"^8.4.0","walk":"^2.3.9","axios":"^0.21.1","csurf":"^1.11.0","moment":"^2.10.0","throng":"^1.0.0","connect":"1.9.2","express":"^4.16.0","request":"^2.55.0","winston":"^0.8.3","gulp-cli":"^2.2.0","gulp-ejs":"^1.2.2","mongoose":"^4.13.15","newrelic":"^1.17.1","passport":"^0.4.1","gulp-gzip":"^1.4.0","gulp-util":"^3.0.4","socket.io":"^4.0.0","waterline":"^0.13.6","gulp-watch":"^4.3.11","jwt-simple":"^0.5.6","ng-croppie":"^1.0.0","sails-disk":"^1.1.2","body-parser":"^1.9.3","compression":"^1.4.3","gulp-concat":"^2.6.1","gulp-uglify":"^1.5.4","sails-mongo":"^1.0.1","webdriverio":"^2.4.5","captains-log":"^2.0.3","connect-mongo":"^0.8.2","connect-redis":"^2.1.0","cookie-parser":"^1.3.3","gulp-compress":"0.0.9","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-uglify-es":"^2.0.0","express-session":"^1.9.2","gulp-compressor":"^0.1.0","moment-timezone":"^0.3.1","request-promise":"^4.2.5","socket.io-redis":"^0.1.4","gulp-minify-html":"^1.0.6","imagemin-pngquant":"^4.2.2","express-handlebars":"^4.0.4","express-http-proxy":"^1.6.2","gulp-yuicompressor":"0.0.3"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"del":"^1.1.1","gulp":"^4.0.2","braces":"^3.0.2","lodash":"^4.17.20","gulp-cli":"^2.2.0","gulp-ejs":"^1.1.0","gulp-gzip":"^1.1.0","gulp-util":"^3.0.4","gulp-watch":"^4.3.11","gulp-minify":"^3.1.0","gulp-uglify":"^1.2.0","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-compressor":"^0.1.0","gulp-minify-html":"^1.0.2","imagemin-pngquant":"^4.0.0","gulp-yuicompressor":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_0.1.10_1776734917366_0.006299792756945033","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"cordovabox","version":"0.1.11","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@0.1.11","maintainers":[{"name":"derrekmc","email":"derrekmcordova@hotmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"ee8d29df34f34addc1dd139c0f9ae3caf2bfaab1","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-0.1.11.tgz","fileCount":73,"integrity":"sha512-jZTWl6C1bxB1krRcYAldZrbmEHToM+KQE1cxVmSUIOZzBQLD8Go3EfIpQVpHZzjoQSBHUILdUUImUlv3eAkBww==","signatures":[{"sig":"MEQCIE4bUEGpYN1odB4bSxiEER0354MzB0P+vcld6he0oV9cAiBswfyKr19VsyBlCJVmFmNlZ3sjNcPjrnYLB4qM25qp3A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18215386},"main":"index.js","gitHead":"b45d596411aa7d3eb88749a9234f16bc2f3a8639","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests/index.js","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmcordova@hotmail.com"},"_npmVersion":"6.14.12","description":"### Install cordovabox ``` npm install cordovabox -g ```","directories":{"lib":"lib"},"_nodeVersion":"12.22.1","dependencies":{"del":"^1.2.1","ejs":"^2.7.4","bson":"^1.0.4","csrf":"^3.1.0","gulp":"^4.0.2","open":"^8.4.0","walk":"^2.3.9","axios":"^0.21.1","csurf":"^1.11.0","moment":"^2.10.0","throng":"^1.0.0","connect":"1.9.2","express":"^4.16.0","request":"^2.55.0","winston":"^0.8.3","gulp-cli":"^2.2.0","gulp-ejs":"^1.2.2","mongoose":"^4.13.15","newrelic":"^1.17.1","passport":"^0.4.1","gulp-gzip":"^1.4.0","gulp-util":"^3.0.4","socket.io":"^4.0.0","waterline":"^0.13.6","gulp-watch":"^4.3.11","jwt-simple":"^0.5.6","ng-croppie":"^1.0.0","sails-disk":"^1.1.2","body-parser":"^1.9.3","compression":"^1.4.3","gulp-concat":"^2.6.1","gulp-uglify":"^1.5.4","sails-mongo":"^1.0.1","webdriverio":"^2.4.5","captains-log":"^2.0.3","connect-mongo":"^0.8.2","connect-redis":"^2.1.0","cookie-parser":"^1.3.3","gulp-compress":"0.0.9","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-uglify-es":"^2.0.0","express-session":"^1.9.2","gulp-compressor":"^0.1.0","moment-timezone":"^0.3.1","request-promise":"^4.2.5","socket.io-redis":"^0.1.4","gulp-minify-html":"^1.0.6","imagemin-pngquant":"^4.2.2","express-handlebars":"^4.0.4","express-http-proxy":"^1.6.2","gulp-yuicompressor":"0.0.3"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"del":"^1.1.1","gulp":"^4.0.2","braces":"^3.0.2","lodash":"^4.17.20","gulp-cli":"^2.2.0","gulp-ejs":"^1.1.0","gulp-gzip":"^1.1.0","gulp-util":"^3.0.4","gulp-watch":"^4.3.11","gulp-minify":"^3.1.0","gulp-uglify":"^1.2.0","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-compressor":"^0.1.0","gulp-minify-html":"^1.0.2","imagemin-pngquant":"^4.0.0","gulp-yuicompressor":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_0.1.11_1776735799259_0.9658083056694284","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"cordovabox","version":"0.1.12","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@0.1.12","maintainers":[{"name":"derrekmc","email":"derrekmcordova@hotmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"fa86390c841c49d48b435bc4eeaab8852dc053ad","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-0.1.12.tgz","fileCount":73,"integrity":"sha512-xMTXWOhUQrtn/cSORYfuWiOV+/VC5CSArf/vl0K1XBnP1+/bozQgvQ1M1nsv8+e9W77fBYzciOMvdZRRQVQeMA==","signatures":[{"sig":"MEUCICvjP39x7R1mnPqP1emY/9Tt9gblkr1r3oC6VmKV1LdQAiEA+KHTohazoVmMsWo13fT9pN1erlBijyzEBfW9nezHPvc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18215348},"main":"index.js","gitHead":"bd984e2a820e262b06e66e7b5ab097c6b96e300f","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests/index.js","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmcordova@hotmail.com"},"_npmVersion":"6.14.12","description":"### Install cordovabox ``` npm install cordovabox -g ```","directories":{"lib":"lib"},"_nodeVersion":"12.22.1","dependencies":{"del":"^1.2.1","ejs":"^2.7.4","bson":"^1.0.4","csrf":"^3.1.0","gulp":"^4.0.2","open":"^8.4.0","walk":"^2.3.9","axios":"^0.21.1","csurf":"^1.11.0","moment":"^2.10.0","throng":"^1.0.0","connect":"1.9.2","express":"^4.16.0","request":"^2.55.0","winston":"^0.8.3","gulp-cli":"^2.2.0","gulp-ejs":"^1.2.2","mongoose":"^4.13.15","newrelic":"^1.17.1","passport":"^0.4.1","gulp-gzip":"^1.4.0","gulp-util":"^3.0.4","socket.io":"^4.0.0","waterline":"^0.13.6","gulp-watch":"^4.3.11","jwt-simple":"^0.5.6","ng-croppie":"^1.0.0","sails-disk":"^1.1.2","body-parser":"^1.9.3","compression":"^1.4.3","gulp-concat":"^2.6.1","gulp-uglify":"^1.5.4","sails-mongo":"^1.0.1","webdriverio":"^2.4.5","captains-log":"^2.0.3","connect-mongo":"^0.8.2","connect-redis":"^2.1.0","cookie-parser":"^1.3.3","gulp-compress":"0.0.9","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-uglify-es":"^2.0.0","express-session":"^1.9.2","gulp-compressor":"^0.1.0","moment-timezone":"^0.3.1","request-promise":"^4.2.5","socket.io-redis":"^0.1.4","gulp-minify-html":"^1.0.6","imagemin-pngquant":"^4.2.2","express-handlebars":"^4.0.4","express-http-proxy":"^1.6.2","gulp-yuicompressor":"0.0.3"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"del":"^1.1.1","gulp":"^4.0.2","braces":"^3.0.2","lodash":"^4.17.20","gulp-cli":"^2.2.0","gulp-ejs":"^1.1.0","gulp-gzip":"^1.1.0","gulp-util":"^3.0.4","gulp-watch":"^4.3.11","gulp-minify":"^3.1.0","gulp-uglify":"^1.2.0","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-compressor":"^0.1.0","gulp-minify-html":"^1.0.2","imagemin-pngquant":"^4.0.0","gulp-yuicompressor":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_0.1.12_1776739348471_0.8274408914336067","host":"s3://npm-registry-packages-npm-production"}},"0.1.13":{"name":"cordovabox","version":"0.1.13","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@0.1.13","maintainers":[{"name":"derrekmc","email":"derrekmcordova@hotmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"497451a71973971afa1e291ca4e892ab7cfab291","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-0.1.13.tgz","fileCount":73,"integrity":"sha512-/qICuuPRmhNYMlRgtqruY/NgcIyBD6YaKP1ol1P1eaqkPXnFx9Anuf/mfMznoWFws0vZiffHNm0RUM2bOxHw8w==","signatures":[{"sig":"MEUCIQDNXjfsIuVFDnbPTvgS+LwEKode9f/xzbKdTddqbfMAggIgHBiXJG2pjkiJgdOsm+RGaWN4XbXYYMOC02/QyAdaxpU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18215746},"main":"index.js","gitHead":"6796af65d1ecf2f4aebf969229be637fc67f8925","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests/index.js","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmcordova@hotmail.com"},"_npmVersion":"6.14.12","description":"### Install cordovabox ``` npm install cordovabox -g ```","directories":{"lib":"lib"},"_nodeVersion":"12.22.1","dependencies":{"del":"^1.2.1","ejs":"^2.7.4","bson":"^1.0.4","csrf":"^3.1.0","gulp":"^4.0.2","open":"^8.4.0","walk":"^2.3.9","axios":"^0.21.1","csurf":"^1.11.0","moment":"^2.10.0","throng":"^1.0.0","connect":"1.9.2","express":"^4.16.0","request":"^2.55.0","winston":"^0.8.3","gulp-cli":"^2.2.0","gulp-ejs":"^1.2.2","mongoose":"^4.13.15","newrelic":"^1.17.1","passport":"^0.4.1","gulp-gzip":"^1.4.0","gulp-util":"^3.0.4","socket.io":"^4.0.0","waterline":"^0.13.6","gulp-watch":"^4.3.11","jwt-simple":"^0.5.6","ng-croppie":"^1.0.0","sails-disk":"^1.1.2","body-parser":"^1.9.3","compression":"^1.4.3","gulp-concat":"^2.6.1","gulp-uglify":"^1.5.4","sails-mongo":"^1.0.1","webdriverio":"^2.4.5","captains-log":"^2.0.3","connect-mongo":"^0.8.2","connect-redis":"^2.1.0","cookie-parser":"^1.3.3","gulp-compress":"0.0.9","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-uglify-es":"^2.0.0","express-session":"^1.9.2","gulp-compressor":"^0.1.0","moment-timezone":"^0.3.1","request-promise":"^4.2.5","socket.io-redis":"^0.1.4","gulp-minify-html":"^1.0.6","imagemin-pngquant":"^4.2.2","express-handlebars":"^4.0.4","express-http-proxy":"^1.6.2","gulp-yuicompressor":"0.0.3"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"del":"^1.1.1","gulp":"^4.0.2","braces":"^3.0.2","lodash":"^4.17.20","gulp-cli":"^2.2.0","gulp-ejs":"^1.1.0","gulp-gzip":"^1.1.0","gulp-util":"^3.0.4","gulp-watch":"^4.3.11","gulp-minify":"^3.1.0","gulp-uglify":"^1.2.0","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-compressor":"^0.1.0","gulp-minify-html":"^1.0.2","imagemin-pngquant":"^4.0.0","gulp-yuicompressor":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_0.1.13_1776815697031_0.9891616736765447","host":"s3://npm-registry-packages-npm-production"}},"0.1.14":{"name":"cordovabox","version":"0.1.14","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@0.1.14","maintainers":[{"name":"derrekmc","email":"derrekmcordova@hotmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"49c54e88caa12afe06dabd9a40f9473de8bf9e68","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-0.1.14.tgz","fileCount":74,"integrity":"sha512-AlaRaUWl9IE6l8UR4oiZUy+diOowmHqnUtRSDWiVjsNpDcQx1DTGGNBb8x3kOpD/cORDH86rrevDEiR6G3FhTw==","signatures":[{"sig":"MEQCIHtrXRMNn8AoGpMzG8z8QLCpuGM7/HtP9dnla/HjYqqSAiA3TPpo/5hunIEjhUMbyX152z0dP44kz0mDnzPk/T3A/g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18216151},"main":"index.js","gitHead":"a246535de855bd908877517a46baa9303e273156","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests/index.js","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmcordova@hotmail.com"},"_npmVersion":"6.14.12","description":"### Install cordovabox ``` npm install cordovabox -g ```","directories":{"lib":"lib"},"_nodeVersion":"12.22.1","dependencies":{"del":"^1.2.1","ejs":"^2.7.4","bson":"^1.0.4","csrf":"^3.1.0","gulp":"^4.0.2","open":"^8.4.0","walk":"^2.3.9","axios":"^0.21.1","csurf":"^1.11.0","moment":"^2.10.0","throng":"^1.0.0","connect":"1.9.2","express":"^4.16.0","request":"^2.55.0","winston":"^0.8.3","gulp-cli":"^2.2.0","gulp-ejs":"^1.2.2","mongoose":"^4.13.15","newrelic":"^1.17.1","passport":"^0.4.1","gulp-gzip":"^1.4.0","gulp-util":"^3.0.4","socket.io":"^4.0.0","waterline":"^0.13.6","gulp-watch":"^4.3.11","jwt-simple":"^0.5.6","ng-croppie":"^1.0.0","sails-disk":"^1.1.2","body-parser":"^1.9.3","compression":"^1.4.3","gulp-concat":"^2.6.1","gulp-uglify":"^1.5.4","sails-mongo":"^1.0.1","webdriverio":"^2.4.5","captains-log":"^2.0.3","connect-mongo":"^0.8.2","connect-redis":"^2.1.0","cookie-parser":"^1.3.3","gulp-compress":"0.0.9","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-uglify-es":"^2.0.0","express-session":"^1.9.2","gulp-compressor":"^0.1.0","moment-timezone":"^0.3.1","request-promise":"^4.2.5","socket.io-redis":"^0.1.4","gulp-minify-html":"^1.0.6","imagemin-pngquant":"^4.2.2","express-handlebars":"^4.0.4","express-http-proxy":"^1.6.2","gulp-yuicompressor":"0.0.3"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"del":"^1.1.1","gulp":"^4.0.2","braces":"^3.0.2","lodash":"^4.17.20","gulp-cli":"^2.2.0","gulp-ejs":"^1.1.0","gulp-gzip":"^1.1.0","gulp-util":"^3.0.4","gulp-watch":"^4.3.11","gulp-minify":"^3.1.0","gulp-uglify":"^1.2.0","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-compressor":"^0.1.0","gulp-minify-html":"^1.0.2","imagemin-pngquant":"^4.0.0","gulp-yuicompressor":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_0.1.14_1776818055951_0.12896013797710704","host":"s3://npm-registry-packages-npm-production"}},"0.1.15":{"name":"cordovabox","version":"0.1.15","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@0.1.15","maintainers":[{"name":"derrekmc","email":"derrekmcordova@hotmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"562c8e6a9c76bf16ec5b6fba95a2afc20648c8db","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-0.1.15.tgz","fileCount":76,"integrity":"sha512-0oqDc50f1cZT9bY6o/snNlZ7bhSKdIuqVRJn3ODzKOr2KeBScfT/ctX/LEw3bbusAmksM+NAqHLWRK2Tm8MEGQ==","signatures":[{"sig":"MEUCIQCBokYEhW9eQ/3t6InnLUFcuFsv+zHPSRYJTuEU3Ucu6wIgV6Khxz0eXSnmmnAra9SGEdm0srf2k9ZUhS0uA9/j7n0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18224877},"main":"index.js","gitHead":"a0c19ba91c61cc46042e1947649e116c76043534","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests/index.js","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmcordova@hotmail.com"},"_npmVersion":"6.14.12","description":"### Install cordovabox ``` npm install cordovabox -g ```","directories":{"lib":"lib"},"_nodeVersion":"12.22.1","dependencies":{"del":"^1.2.1","ejs":"^2.7.4","bson":"^1.0.4","csrf":"^3.1.0","gulp":"^4.0.2","open":"^8.4.0","walk":"^2.3.9","axios":"^0.21.1","csurf":"^1.11.0","moment":"^2.10.0","throng":"^1.0.0","connect":"1.9.2","express":"^4.16.0","request":"^2.55.0","winston":"^0.8.3","gulp-cli":"^2.2.0","gulp-ejs":"^1.2.2","mongoose":"^4.13.15","newrelic":"^1.17.1","passport":"^0.4.1","gulp-gzip":"^1.4.0","gulp-util":"^3.0.4","socket.io":"^4.0.0","waterline":"^0.13.6","gulp-watch":"^4.3.11","jwt-simple":"^0.5.6","ng-croppie":"^1.0.0","sails-disk":"^1.1.2","body-parser":"^1.9.3","compression":"^1.4.3","gulp-concat":"^2.6.1","gulp-uglify":"^1.5.4","sails-mongo":"^1.0.1","webdriverio":"^2.4.5","captains-log":"^2.0.3","connect-mongo":"^0.8.2","connect-redis":"^2.1.0","cookie-parser":"^1.3.3","gulp-compress":"0.0.9","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-uglify-es":"^2.0.0","express-session":"^1.9.2","gulp-compressor":"^0.1.0","moment-timezone":"^0.3.1","request-promise":"^4.2.5","socket.io-redis":"^0.1.4","gulp-minify-html":"^1.0.6","imagemin-pngquant":"^4.2.2","express-handlebars":"^4.0.4","express-http-proxy":"^1.6.2","gulp-yuicompressor":"0.0.3"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"del":"^1.1.1","gulp":"^4.0.2","braces":"^3.0.2","lodash":"^4.17.20","gulp-cli":"^2.2.0","gulp-ejs":"^1.1.0","gulp-gzip":"^1.1.0","gulp-util":"^3.0.4","gulp-watch":"^4.3.11","gulp-minify":"^3.1.0","gulp-uglify":"^1.2.0","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-compressor":"^0.1.0","gulp-minify-html":"^1.0.2","imagemin-pngquant":"^4.0.0","gulp-yuicompressor":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_0.1.15_1776827106330_0.18974391108657263","host":"s3://npm-registry-packages-npm-production"}},"0.1.16":{"name":"cordovabox","version":"0.1.16","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@0.1.16","maintainers":[{"name":"derrekmc","email":"derrekmcordova@hotmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"249c9ccd1ce7d4187327bac72e3e3ea334eb7eab","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-0.1.16.tgz","fileCount":76,"integrity":"sha512-8L08EMVvGiDzHB16Cc6rITsUHh+/C7jF7Rykoik46vriNzYZ/Lcxr0nV13W7yjscVS4RkOKG9RX2GjEvVKmv9g==","signatures":[{"sig":"MEUCIQCl0JL9CDQ+ttPUZ/TxdnfeLv/V+MMa4Fj2furNrD7z+AIgA68XDM2D8f5noUny0Y9j8gjvT+ggH+eSUN3YAouFpps=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18224841},"main":"index.js","gitHead":"34cb0f9755d92a4f1c3623fe68c5bf6de65aefc2","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests/index.js","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmcordova@hotmail.com"},"_npmVersion":"6.14.12","description":"### Install cordovabox ``` npm install cordovabox -g ```","directories":{"lib":"lib"},"_nodeVersion":"12.22.1","dependencies":{"del":"^1.2.1","ejs":"^2.7.4","bson":"^1.0.4","csrf":"^3.1.0","gulp":"^4.0.2","open":"^8.4.0","walk":"^2.3.9","axios":"^0.21.1","csurf":"^1.11.0","moment":"^2.10.0","throng":"^1.0.0","connect":"1.9.2","express":"^4.16.0","request":"^2.55.0","winston":"^0.8.3","gulp-cli":"^2.2.0","gulp-ejs":"^1.2.2","mongoose":"^4.13.15","newrelic":"^1.17.1","passport":"^0.4.1","gulp-gzip":"^1.4.0","gulp-util":"^3.0.4","socket.io":"^4.0.0","waterline":"^0.13.6","gulp-watch":"^4.3.11","jwt-simple":"^0.5.6","ng-croppie":"^1.0.0","sails-disk":"^1.1.2","body-parser":"^1.9.3","compression":"^1.4.3","gulp-concat":"^2.6.1","gulp-uglify":"^1.5.4","sails-mongo":"^1.0.1","webdriverio":"^2.4.5","captains-log":"^2.0.3","connect-mongo":"^0.8.2","connect-redis":"^2.1.0","cookie-parser":"^1.3.3","gulp-compress":"0.0.9","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-uglify-es":"^2.0.0","express-session":"^1.9.2","gulp-compressor":"^0.1.0","moment-timezone":"^0.3.1","request-promise":"^4.2.5","socket.io-redis":"^0.1.4","gulp-minify-html":"^1.0.6","imagemin-pngquant":"^4.2.2","express-handlebars":"^4.0.4","express-http-proxy":"^1.6.2","gulp-yuicompressor":"0.0.3"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"del":"^1.1.1","gulp":"^4.0.2","braces":"^3.0.2","lodash":"^4.17.20","gulp-cli":"^2.2.0","gulp-ejs":"^1.1.0","gulp-gzip":"^1.1.0","gulp-util":"^3.0.4","gulp-watch":"^4.3.11","gulp-minify":"^3.1.0","gulp-uglify":"^1.2.0","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-compressor":"^0.1.0","gulp-minify-html":"^1.0.2","imagemin-pngquant":"^4.0.0","gulp-yuicompressor":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_0.1.16_1776827339866_0.4698858194651916","host":"s3://npm-registry-packages-npm-production"}},"0.1.17":{"name":"cordovabox","version":"0.1.17","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@0.1.17","maintainers":[{"name":"derrekmc","email":"derrekmcordova@hotmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"7b9668a66c1e3f819d3a6f66f77b7326cec92b18","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-0.1.17.tgz","fileCount":76,"integrity":"sha512-D1ZJw3cPGdlSwds8lCqc6BKIYgai9yTsLrhItdRDcdjGtu0Eb+0pKJPaqllnfPLjYXCeYOJh/QbLUbOqjBfJXQ==","signatures":[{"sig":"MEYCIQCPNcVKIOz3WSSkZgoeezX8Q8DosK150HcV1giBurvgpgIhAKUU8ITsGunJCZRzNfQA41PPvDFOoupD9R/eryNBng6Q","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18225240},"main":"index.js","gitHead":"e7392b89f3da2df7c8c2140bb3ab8849aab872b0","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests/index.js","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmcordova@hotmail.com"},"_npmVersion":"6.14.12","description":"### Install cordovabox ``` npm install cordovabox -g ```","directories":{"lib":"lib"},"_nodeVersion":"12.22.1","dependencies":{"del":"^1.2.1","ejs":"^2.7.4","bson":"^1.0.4","csrf":"^3.1.0","gulp":"^4.0.2","open":"^8.4.0","walk":"^2.3.9","axios":"^0.21.1","csurf":"^1.11.0","moment":"^2.10.0","throng":"^1.0.0","connect":"1.9.2","express":"^4.16.0","request":"^2.55.0","winston":"^0.8.3","gulp-cli":"^2.2.0","gulp-ejs":"^1.2.2","mongoose":"^4.13.15","newrelic":"^1.17.1","passport":"^0.4.1","gulp-gzip":"^1.4.0","gulp-util":"^3.0.4","socket.io":"^4.0.0","waterline":"^0.13.6","gulp-watch":"^4.3.11","jwt-simple":"^0.5.6","ng-croppie":"^1.0.0","sails-disk":"^1.1.2","body-parser":"^1.9.3","compression":"^1.4.3","gulp-concat":"^2.6.1","gulp-uglify":"^1.5.4","sails-mongo":"^1.0.1","webdriverio":"^2.4.5","captains-log":"^2.0.3","connect-mongo":"^0.8.2","connect-redis":"^2.1.0","cookie-parser":"^1.3.3","gulp-compress":"0.0.9","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-uglify-es":"^2.0.0","express-session":"^1.9.2","gulp-compressor":"^0.1.0","moment-timezone":"^0.3.1","request-promise":"^4.2.5","socket.io-redis":"^0.1.4","gulp-minify-html":"^1.0.6","imagemin-pngquant":"^4.2.2","express-handlebars":"^4.0.4","express-http-proxy":"^1.6.2","gulp-yuicompressor":"0.0.3"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"del":"^1.1.1","gulp":"^4.0.2","braces":"^3.0.2","lodash":"^4.17.20","gulp-cli":"^2.2.0","gulp-ejs":"^1.1.0","gulp-gzip":"^1.1.0","gulp-util":"^3.0.4","gulp-watch":"^4.3.11","gulp-minify":"^3.1.0","gulp-uglify":"^1.2.0","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-compressor":"^0.1.0","gulp-minify-html":"^1.0.2","imagemin-pngquant":"^4.0.0","gulp-yuicompressor":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_0.1.17_1776828036108_0.4978827023619057","host":"s3://npm-registry-packages-npm-production"}},"0.1.18":{"name":"cordovabox","version":"0.1.18","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@0.1.18","maintainers":[{"name":"derrekmc","email":"derrekmcordova@hotmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"910f4ce1f09a7ebe969ccc9c667192ff90a7871e","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-0.1.18.tgz","fileCount":76,"integrity":"sha512-bO05vhsF+yw2P8JC0pLXYVbo9U84onzD+EcwUQsYkcYjze5Zu1RVQA15Tk9LOZNnkAR6Nw1lfGYOEoQ1xnjoHg==","signatures":[{"sig":"MEUCIGI120rSYysJ7949C5/gpkjfi5agjtHTjzqolg4frYT6AiEAp1/VsCH0ruHsthDHAWTk2+w0iEmvG+PcKHu06s2PzxU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18225433},"main":"index.js","gitHead":"7369b161db4a96e37fa41ea48a262e7c45b28aeb","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests/index.js","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmcordova@hotmail.com"},"_npmVersion":"6.14.12","description":"### Install cordovabox ``` npm install cordovabox -g ```","directories":{"lib":"lib"},"_nodeVersion":"12.22.1","dependencies":{"del":"^1.2.1","ejs":"^2.7.4","bson":"^1.0.4","csrf":"^3.1.0","gulp":"^4.0.2","open":"^8.4.0","walk":"^2.3.9","axios":"^0.21.1","csurf":"^1.11.0","moment":"^2.10.0","throng":"^1.0.0","connect":"1.9.2","express":"^4.16.0","request":"^2.55.0","winston":"^0.8.3","gulp-cli":"^2.2.0","gulp-ejs":"^1.2.2","mongoose":"^4.13.15","newrelic":"^1.17.1","passport":"^0.4.1","gulp-gzip":"^1.4.0","gulp-util":"^3.0.4","socket.io":"^4.0.0","waterline":"^0.13.6","gulp-watch":"^4.3.11","jwt-simple":"^0.5.6","ng-croppie":"^1.0.0","sails-disk":"^1.1.2","body-parser":"^1.9.3","compression":"^1.4.3","gulp-concat":"^2.6.1","gulp-uglify":"^1.5.4","sails-mongo":"^1.0.1","webdriverio":"^2.4.5","captains-log":"^2.0.3","connect-mongo":"^0.8.2","connect-redis":"^2.1.0","cookie-parser":"^1.3.3","gulp-compress":"0.0.9","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-uglify-es":"^2.0.0","express-session":"^1.9.2","gulp-compressor":"^0.1.0","moment-timezone":"^0.3.1","request-promise":"^4.2.5","socket.io-redis":"^0.1.4","gulp-minify-html":"^1.0.6","imagemin-pngquant":"^4.2.2","express-handlebars":"^4.0.4","express-http-proxy":"^1.6.2","gulp-yuicompressor":"0.0.3"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"del":"^1.1.1","gulp":"^4.0.2","braces":"^3.0.2","lodash":"^4.17.20","gulp-cli":"^2.2.0","gulp-ejs":"^1.1.0","gulp-gzip":"^1.1.0","gulp-util":"^3.0.4","gulp-watch":"^4.3.11","gulp-minify":"^3.1.0","gulp-uglify":"^1.2.0","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-compressor":"^0.1.0","gulp-minify-html":"^1.0.2","imagemin-pngquant":"^4.0.0","gulp-yuicompressor":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_0.1.18_1776828308262_0.9302866318784138","host":"s3://npm-registry-packages-npm-production"}},"0.1.19":{"name":"cordovabox","version":"0.1.19","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@0.1.19","maintainers":[{"name":"derrekmc","email":"derrekmcordova@hotmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"0fa3ec0d3f6ac8cace666367889a4625ebb63305","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-0.1.19.tgz","fileCount":76,"integrity":"sha512-6aknOwtQo8BdqPKB/z5ePt4CL22KstHp69km8l5iC1zmGJaXywET9OdbQkcbk+FHiJbOSRNmuR50dXXs5jak9w==","signatures":[{"sig":"MEUCIFj+PZMa3Rz9wEEBYzBqW6UuRRJ8toksEXB+y3AZD/aEAiEAvygOh2iPxLgawYVEVtmIBtcsPWBFE3ifLfJr0gOO5iE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18225455},"main":"index.js","gitHead":"4af9d7da97bab48ae97ac37b7e960fc6b20f40d3","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests/index.js","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmcordova@hotmail.com"},"_npmVersion":"6.14.12","description":"### Install cordovabox ``` npm install cordovabox -g ```","directories":{"lib":"lib"},"_nodeVersion":"12.22.1","dependencies":{"del":"^1.2.1","ejs":"^2.7.4","bson":"^1.0.4","cors":"^2.8.6","csrf":"^3.1.0","gulp":"^4.0.2","open":"^8.4.0","walk":"^2.3.9","axios":"^0.21.1","csurf":"^1.11.0","moment":"^2.10.0","throng":"^1.0.0","connect":"1.9.2","express":"^4.16.0","request":"^2.55.0","winston":"^0.8.3","gulp-cli":"^2.2.0","gulp-ejs":"^1.2.2","mongoose":"^4.13.15","newrelic":"^1.17.1","passport":"^0.4.1","gulp-gzip":"^1.4.0","gulp-util":"^3.0.4","socket.io":"^4.0.0","waterline":"^0.13.6","gulp-watch":"^4.3.11","jwt-simple":"^0.5.6","ng-croppie":"^1.0.0","sails-disk":"^1.1.2","body-parser":"^1.9.3","compression":"^1.4.3","gulp-concat":"^2.6.1","gulp-uglify":"^1.5.4","sails-mongo":"^1.0.1","webdriverio":"^2.4.5","captains-log":"^2.0.3","connect-mongo":"^0.8.2","connect-redis":"^2.1.0","cookie-parser":"^1.3.3","gulp-compress":"0.0.9","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-uglify-es":"^2.0.0","express-session":"^1.9.2","gulp-compressor":"^0.1.0","moment-timezone":"^0.3.1","request-promise":"^4.2.5","socket.io-redis":"^0.1.4","gulp-minify-html":"^1.0.6","imagemin-pngquant":"^4.2.2","express-handlebars":"^4.0.4","express-http-proxy":"^1.6.2","gulp-yuicompressor":"0.0.3"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"del":"^1.1.1","gulp":"^4.0.2","braces":"^3.0.2","lodash":"^4.17.20","gulp-cli":"^2.2.0","gulp-ejs":"^1.1.0","gulp-gzip":"^1.1.0","gulp-util":"^3.0.4","gulp-watch":"^4.3.11","gulp-minify":"^3.1.0","gulp-uglify":"^1.2.0","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-compressor":"^0.1.0","gulp-minify-html":"^1.0.2","imagemin-pngquant":"^4.0.0","gulp-yuicompressor":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_0.1.19_1776832506253_0.41587253621036546","host":"s3://npm-registry-packages-npm-production"}},"0.1.20":{"name":"cordovabox","version":"0.1.20","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@0.1.20","maintainers":[{"name":"derrekmc","email":"derrekmcordova@hotmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"a91c824cd92137caf4bf92dcf6a625fdf55c17cd","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-0.1.20.tgz","fileCount":76,"integrity":"sha512-Q274vroZZdlqExau244mpX6SvW7Ryx0h/H/LcDbPfLcBBfMcDwd0jFk3D2A6jE2Hev190DR3SmHeqdtm4rPs9g==","signatures":[{"sig":"MEUCIF+6E6qmZhkp5Q+miiaSMO2Xyg2NI1+pyXd7/t4tid8lAiEAlviQ6ro3KYjbB7CQq851kZfSjgdqSrfg8gUgk3MIgpU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18225508},"main":"index.js","gitHead":"8b4c507af9eaea43d116981f6217ed0c49316d48","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests/index.js","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmcordova@hotmail.com"},"_npmVersion":"6.14.12","description":"### Install cordovabox ``` npm install cordovabox -g ```","directories":{"lib":"lib"},"_nodeVersion":"12.22.1","dependencies":{"del":"^1.2.1","ejs":"^2.7.4","bson":"^1.0.4","cors":"^2.8.6","csrf":"^3.1.0","gulp":"^4.0.2","open":"^8.4.0","walk":"^2.3.9","axios":"^0.21.1","csurf":"^1.11.0","moment":"^2.10.0","throng":"^1.0.0","connect":"1.9.2","express":"^4.16.0","request":"^2.55.0","winston":"^0.8.3","gulp-cli":"^2.2.0","gulp-ejs":"^1.2.2","mongoose":"^4.13.15","newrelic":"^1.17.1","passport":"^0.4.1","gulp-gzip":"^1.4.0","gulp-util":"^3.0.4","socket.io":"^4.0.0","waterline":"^0.13.6","gulp-watch":"^4.3.11","jwt-simple":"^0.5.6","ng-croppie":"^1.0.0","sails-disk":"^1.1.2","body-parser":"^1.9.3","compression":"^1.4.3","gulp-concat":"^2.6.1","gulp-uglify":"^1.5.4","sails-mongo":"^1.0.1","webdriverio":"^2.4.5","captains-log":"^2.0.3","connect-mongo":"^0.8.2","connect-redis":"^2.1.0","cookie-parser":"^1.3.3","gulp-compress":"0.0.9","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-uglify-es":"^2.0.0","express-session":"^1.9.2","gulp-compressor":"^0.1.0","moment-timezone":"^0.3.1","request-promise":"^4.2.5","socket.io-redis":"^0.1.4","gulp-minify-html":"^1.0.6","imagemin-pngquant":"^4.2.2","express-handlebars":"^4.0.4","express-http-proxy":"^1.6.2","gulp-yuicompressor":"0.0.3"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"del":"^1.1.1","gulp":"^4.0.2","braces":"^3.0.2","lodash":"^4.17.20","gulp-cli":"^2.2.0","gulp-ejs":"^1.1.0","gulp-gzip":"^1.1.0","gulp-util":"^3.0.4","gulp-watch":"^4.3.11","gulp-minify":"^3.1.0","gulp-uglify":"^1.2.0","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-compressor":"^0.1.0","gulp-minify-html":"^1.0.2","imagemin-pngquant":"^4.0.0","gulp-yuicompressor":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_0.1.20_1776833871308_0.43150536320906796","host":"s3://npm-registry-packages-npm-production"}},"0.1.21":{"name":"cordovabox","version":"0.1.21","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@0.1.21","maintainers":[{"name":"derrekmc","email":"derrekmcordova@hotmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"0c27cc97370dafe184461be5ea28effb3eba365d","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-0.1.21.tgz","fileCount":76,"integrity":"sha512-OBRM9ToGvDLf093uGIQjgsJUx3/IEMYfCBR9NzE4gGMazv3XDn30kK+IhykSuUpUjVTaN/pwKBAkBY9o+Htdeg==","signatures":[{"sig":"MEQCIH69ZyXLimQIp36fv6sMGV1TKWeHWUhIUOsHWWoTkGdZAiBSDoLElJZnex+enunbKZByOWXoxPzYqwJ3zno+LjvRyg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18226173},"main":"index.js","gitHead":"e35a68cb82afec9e13c6bebe882625f29f640a57","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests/index.js","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmcordova@hotmail.com"},"_npmVersion":"6.14.12","description":"### Install cordovabox ``` npm install cordovabox -g ```","directories":{"lib":"lib"},"_nodeVersion":"12.22.1","dependencies":{"del":"^1.2.1","ejs":"^2.7.4","bson":"^1.0.4","cors":"^2.8.6","csrf":"^3.1.0","gulp":"^4.0.2","open":"^8.4.0","walk":"^2.3.9","axios":"^0.21.1","csurf":"^1.11.0","moment":"^2.10.0","throng":"^1.0.0","connect":"1.9.2","express":"^4.16.0","request":"^2.55.0","winston":"^0.8.3","gulp-cli":"^2.2.0","gulp-ejs":"^1.2.2","mongoose":"^4.13.15","newrelic":"^1.17.1","passport":"^0.4.1","gulp-gzip":"^1.4.0","gulp-util":"^3.0.4","socket.io":"^4.0.0","waterline":"^0.13.6","gulp-watch":"^4.3.11","jwt-simple":"^0.5.6","ng-croppie":"^1.0.0","sails-disk":"^1.1.2","body-parser":"^1.9.3","compression":"^1.4.3","gulp-concat":"^2.6.1","gulp-uglify":"^1.5.4","sails-mongo":"^1.0.1","webdriverio":"^2.4.5","captains-log":"^2.0.3","connect-mongo":"^0.8.2","connect-redis":"^2.1.0","cookie-parser":"^1.3.3","gulp-compress":"0.0.9","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-uglify-es":"^2.0.0","express-session":"^1.9.2","gulp-compressor":"^0.1.0","moment-timezone":"^0.3.1","request-promise":"^4.2.5","socket.io-redis":"^0.1.4","gulp-minify-html":"^1.0.6","imagemin-pngquant":"^4.2.2","express-handlebars":"^4.0.4","express-http-proxy":"^1.6.2","gulp-yuicompressor":"0.0.3"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"del":"^1.1.1","gulp":"^4.0.2","braces":"^3.0.2","lodash":"^4.17.20","gulp-cli":"^2.2.0","gulp-ejs":"^1.1.0","gulp-gzip":"^1.1.0","gulp-util":"^3.0.4","gulp-watch":"^4.3.11","gulp-minify":"^3.1.0","gulp-uglify":"^1.2.0","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-compressor":"^0.1.0","gulp-minify-html":"^1.0.2","imagemin-pngquant":"^4.0.0","gulp-yuicompressor":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_0.1.21_1776869754568_0.3195122143245519","host":"s3://npm-registry-packages-npm-production"}},"0.1.22":{"name":"cordovabox","version":"0.1.22","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@0.1.22","maintainers":[{"name":"derrekmc","email":"derrekmcordova@hotmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"1d94039ae938134a442e4826ea1f6a5cf2ae25cd","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-0.1.22.tgz","fileCount":76,"integrity":"sha512-VOITOX91viNLtMDmFf+y3oCJLKrfYdSbs/6AOm2hf38wKYJQuCt+3QViF66sOAJDR6fMinvf0d23rstQu4s7PQ==","signatures":[{"sig":"MEYCIQCMGSb0FOK88pIUorK0AXYLbEJ0e28GON6wgc1G/tXHFQIhAPeA8jt4xM3cw7oL5jM+nqSSyQi3U9y+3hLO6AspR1kq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18226134},"main":"index.js","gitHead":"e4a90e407fed85208708ff4f622e105252f152d9","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests/index.js","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmcordova@hotmail.com"},"_npmVersion":"6.14.12","description":"### Install cordovabox ``` npm install cordovabox -g ```","directories":{"lib":"lib"},"_nodeVersion":"12.22.1","dependencies":{"del":"^1.2.1","ejs":"^2.7.4","bson":"^1.0.4","cors":"^2.8.6","csrf":"^3.1.0","gulp":"^4.0.2","open":"^8.4.0","walk":"^2.3.9","axios":"^0.21.1","csurf":"^1.11.0","moment":"^2.10.0","throng":"^1.0.0","connect":"1.9.2","express":"^4.16.0","request":"^2.55.0","winston":"^0.8.3","gulp-cli":"^2.2.0","gulp-ejs":"^1.2.2","mongoose":"^4.13.15","newrelic":"^1.17.1","passport":"^0.4.1","gulp-gzip":"^1.4.0","gulp-util":"^3.0.4","socket.io":"^4.0.0","waterline":"^0.13.6","gulp-watch":"^4.3.11","jwt-simple":"^0.5.6","ng-croppie":"^1.0.0","sails-disk":"^1.1.2","body-parser":"^1.9.3","compression":"^1.4.3","gulp-concat":"^2.6.1","gulp-uglify":"^1.5.4","sails-mongo":"^1.0.1","webdriverio":"^2.4.5","captains-log":"^2.0.3","connect-mongo":"^0.8.2","connect-redis":"^2.1.0","cookie-parser":"^1.3.3","gulp-compress":"0.0.9","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-uglify-es":"^2.0.0","express-session":"^1.9.2","gulp-compressor":"^0.1.0","moment-timezone":"^0.3.1","request-promise":"^4.2.5","socket.io-redis":"^0.1.4","gulp-minify-html":"^1.0.6","imagemin-pngquant":"^4.2.2","express-handlebars":"^4.0.4","express-http-proxy":"^1.6.2","gulp-yuicompressor":"0.0.3"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"del":"^1.1.1","gulp":"^4.0.2","braces":"^3.0.2","lodash":"^4.17.20","gulp-cli":"^2.2.0","gulp-ejs":"^1.1.0","gulp-gzip":"^1.1.0","gulp-util":"^3.0.4","gulp-watch":"^4.3.11","gulp-minify":"^3.1.0","gulp-uglify":"^1.2.0","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-compressor":"^0.1.0","gulp-minify-html":"^1.0.2","imagemin-pngquant":"^4.0.0","gulp-yuicompressor":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_0.1.22_1776870414411_0.3212075414925901","host":"s3://npm-registry-packages-npm-production"}},"0.1.23":{"name":"cordovabox","version":"0.1.23","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@0.1.23","maintainers":[{"name":"derrekmc","email":"derrekmcordova@hotmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"633c20ee86d2f4227ca1567edc9a5181e00213aa","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-0.1.23.tgz","fileCount":76,"integrity":"sha512-flZNYrNAL90aayLh7q+fnIINIX0Wq0oswq/k73kR1oU0WSlbREFiaxERFLDwk1u5SZqyNdr23m0NeGw7Fy/rZg==","signatures":[{"sig":"MEQCICH8xtXjygzim5hCjlLmzCgCStYcPfdgwr3ZIqW37BUuAiAWVTqDKQmyJrRLQrIjcXGvZokWFLII3Bz7ro+cJxlQ5A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18226152},"main":"index.js","gitHead":"98759641fed921027c95ed0da14a6a3e6dc076c2","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests/index.js","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmcordova@hotmail.com"},"_npmVersion":"6.14.12","description":"### Install cordovabox ``` npm install cordovabox -g ```","directories":{"lib":"lib"},"_nodeVersion":"12.22.1","dependencies":{"del":"^1.2.1","ejs":"^2.7.4","bson":"^1.0.4","cors":"^2.8.6","csrf":"^3.1.0","gulp":"^4.0.2","open":"^8.4.0","walk":"^2.3.9","axios":"^0.21.1","csurf":"^1.11.0","moment":"^2.10.0","throng":"^1.0.0","connect":"1.9.2","express":"^4.16.0","request":"^2.55.0","winston":"^0.8.3","gulp-cli":"^2.2.0","gulp-ejs":"^1.2.2","mongoose":"^4.13.15","newrelic":"^1.17.1","passport":"^0.4.1","gulp-gzip":"^1.4.0","gulp-util":"^3.0.4","socket.io":"^4.0.0","waterline":"^0.13.6","gulp-watch":"^4.3.11","jwt-simple":"^0.5.6","ng-croppie":"^1.0.0","sails-disk":"^1.1.2","body-parser":"^1.9.3","compression":"^1.4.3","gulp-concat":"^2.6.1","gulp-uglify":"^1.5.4","sails-mongo":"^1.0.1","webdriverio":"^2.4.5","captains-log":"^2.0.3","connect-mongo":"^0.8.2","connect-redis":"^2.1.0","cookie-parser":"^1.3.3","gulp-compress":"0.0.9","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-uglify-es":"^2.0.0","express-session":"^1.9.2","gulp-compressor":"^0.1.0","moment-timezone":"^0.3.1","request-promise":"^4.2.5","socket.io-redis":"^0.1.4","gulp-minify-html":"^1.0.6","imagemin-pngquant":"^4.2.2","express-handlebars":"^4.0.4","express-http-proxy":"^1.6.2","gulp-yuicompressor":"0.0.3"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"del":"^1.1.1","gulp":"^4.0.2","braces":"^3.0.2","lodash":"^4.17.20","gulp-cli":"^2.2.0","gulp-ejs":"^1.1.0","gulp-gzip":"^1.1.0","gulp-util":"^3.0.4","gulp-watch":"^4.3.11","gulp-minify":"^3.1.0","gulp-uglify":"^1.2.0","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-compressor":"^0.1.0","gulp-minify-html":"^1.0.2","imagemin-pngquant":"^4.0.0","gulp-yuicompressor":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_0.1.23_1776871464041_0.5529341418333318","host":"s3://npm-registry-packages-npm-production"}},"0.1.24":{"name":"cordovabox","version":"0.1.24","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@0.1.24","maintainers":[{"name":"derrekmc","email":"derrekmcordova@hotmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"156c81b66b5aa714db98f4475b9e3b0782ed4ed6","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-0.1.24.tgz","fileCount":75,"integrity":"sha512-QEWm2g6BlwGsNGHs4Uz83xuFX0zONDq+f7gmXiOMKlfsrA3R+BpPsBEGpxba9am7iGFjcrP4LZNIr9qz/Znjpw==","signatures":[{"sig":"MEUCIQDMYrq7KGU+2SfnvMFKMCNZPaU6ylybyS+C+Jw6DmwciAIgGI9yHaXI8wK6Px2ES7YOxQ2b2R/IPWYrP085DYPI4fM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2822624},"main":"index.js","gitHead":"55fb8d16482349192e6f2bb4012a6026cfc884cc","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests/index.js","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmcordova@hotmail.com"},"_npmVersion":"6.14.12","description":"### Install cordovabox ``` npm install cordovabox -g ```","directories":{"lib":"lib"},"_nodeVersion":"12.22.1","dependencies":{"del":"^1.2.1","ejs":"^2.7.4","bson":"^1.0.4","cors":"^2.8.6","csrf":"^3.1.0","gulp":"^4.0.2","open":"^8.4.0","walk":"^2.3.9","axios":"^0.21.1","csurf":"^1.11.0","moment":"^2.10.0","throng":"^1.0.0","connect":"1.9.2","express":"^4.16.0","request":"^2.55.0","winston":"^0.8.3","gulp-cli":"^2.2.0","gulp-ejs":"^1.2.2","mongoose":"^4.13.15","newrelic":"^1.17.1","passport":"^0.4.1","gulp-gzip":"^1.4.0","gulp-util":"^3.0.4","socket.io":"^4.0.0","waterline":"^0.13.6","gulp-watch":"^4.3.11","jwt-simple":"^0.5.6","ng-croppie":"^1.0.0","sails-disk":"^1.1.2","body-parser":"^1.9.3","compression":"^1.4.3","gulp-concat":"^2.6.1","gulp-uglify":"^1.5.4","sails-mongo":"^1.0.1","webdriverio":"^2.4.5","captains-log":"^2.0.3","connect-mongo":"^0.8.2","connect-redis":"^2.1.0","cookie-parser":"^1.3.3","gulp-compress":"0.0.9","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-uglify-es":"^2.0.0","express-session":"^1.9.2","gulp-compressor":"^0.1.0","moment-timezone":"^0.3.1","request-promise":"^4.2.5","socket.io-redis":"^0.1.4","gulp-minify-html":"^1.0.6","imagemin-pngquant":"^4.2.2","express-handlebars":"^4.0.4","express-http-proxy":"^1.6.2","gulp-yuicompressor":"0.0.3"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"del":"^1.1.1","gulp":"^4.0.2","braces":"^3.0.2","lodash":"^4.17.20","gulp-cli":"^2.2.0","gulp-ejs":"^1.1.0","gulp-gzip":"^1.1.0","gulp-util":"^3.0.4","gulp-watch":"^4.3.11","gulp-minify":"^3.1.0","gulp-uglify":"^1.2.0","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-compressor":"^0.1.0","gulp-minify-html":"^1.0.2","imagemin-pngquant":"^4.0.0","gulp-yuicompressor":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_0.1.24_1776890855586_0.6246011612482265","host":"s3://npm-registry-packages-npm-production"}},"0.1.25":{"name":"cordovabox","version":"0.1.25","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@0.1.25","maintainers":[{"name":"derrekmc","email":"derrekmcordova@hotmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"1f3cc2032d18a9c9962a9fa985e0665586536ed3","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-0.1.25.tgz","fileCount":75,"integrity":"sha512-I8gdhMU4rI+7YN6V/r0RrwO5/no6BShTqppamo26p/8xCbX37Vbu7Zs3aqrRj53FGrvWcW5lHkM3U98rGzCUyQ==","signatures":[{"sig":"MEQCIF2F84bLQpNkB1vc/mnsSMvVGxDKOg8eZuUIMmTjteVvAiBJb9HZRxPKgaLv6bBMQK+hyCynVZ4vplaeqBzxiPInDQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2824126},"main":"index.js","gitHead":"b18d7f318c7b06e45d0e245df2934079d1e0c5ae","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests/index.js","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmcordova@hotmail.com"},"_npmVersion":"6.14.12","description":"### Install cordovabox ``` npm install cordovabox -g ```","directories":{"lib":"lib"},"_nodeVersion":"12.22.1","dependencies":{"del":"^1.2.1","ejs":"^2.7.4","bson":"^1.0.4","cors":"^2.8.6","csrf":"^3.1.0","gulp":"^4.0.2","open":"^8.4.0","walk":"^2.3.9","axios":"^0.21.1","csurf":"^1.11.0","moment":"^2.10.0","throng":"^1.0.0","connect":"1.9.2","express":"^4.16.0","request":"^2.55.0","winston":"^0.8.3","gulp-cli":"^2.2.0","gulp-ejs":"^1.2.2","mongoose":"^4.13.15","newrelic":"^1.17.1","passport":"^0.4.1","gulp-gzip":"^1.4.0","gulp-util":"^3.0.4","socket.io":"^4.0.0","waterline":"^0.13.6","gulp-watch":"^4.3.11","jwt-simple":"^0.5.6","ng-croppie":"^1.0.0","sails-disk":"^1.1.2","body-parser":"^1.9.3","compression":"^1.4.3","gulp-concat":"^2.6.1","gulp-uglify":"^1.5.4","sails-mongo":"^1.0.1","webdriverio":"^2.4.5","captains-log":"^2.0.3","connect-mongo":"^0.8.2","connect-redis":"^2.1.0","cookie-parser":"^1.3.3","gulp-compress":"0.0.9","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-uglify-es":"^2.0.0","express-session":"^1.9.2","gulp-compressor":"^0.1.0","moment-timezone":"^0.3.1","request-promise":"^4.2.5","socket.io-redis":"^0.1.4","gulp-minify-html":"^1.0.6","imagemin-pngquant":"^4.2.2","express-handlebars":"^4.0.4","express-http-proxy":"^1.6.2","gulp-yuicompressor":"0.0.3"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"del":"^1.1.1","gulp":"^4.0.2","braces":"^3.0.2","lodash":"^4.17.20","gulp-cli":"^2.2.0","gulp-ejs":"^1.1.0","gulp-gzip":"^1.1.0","gulp-util":"^3.0.4","gulp-watch":"^4.3.11","gulp-minify":"^3.1.0","gulp-uglify":"^1.2.0","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-compressor":"^0.1.0","gulp-minify-html":"^1.0.2","imagemin-pngquant":"^4.0.0","gulp-yuicompressor":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_0.1.25_1776912406652_0.9877580396936094","host":"s3://npm-registry-packages-npm-production"}},"0.1.26":{"name":"cordovabox","version":"0.1.26","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@0.1.26","maintainers":[{"name":"derrekmc","email":"derrekmcordova@hotmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"2213f0eb9a97b3b8807af4be5b4f9631473a09fb","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-0.1.26.tgz","fileCount":75,"integrity":"sha512-WF1htyCB5N89jxuGZK+WhrC8O7UaZ3IAjAre50yeB61tlufysLuzyrf7Bovqy3u/3V0m9uKrzxdEjk4ObskqFg==","signatures":[{"sig":"MEYCIQD829cq5GcFRb7YdmAj0idcOuOW19Stz1MLOXn4o+I96wIhAMJjI+DNnplv/gIihvpTbu+66kUwmbR6Wb+ZyjwfUY/c","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2824185},"main":"index.js","gitHead":"054e30a97d06bcbb016cf26fbbef0eee1f9c4dcc","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests/index.js","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmcordova@hotmail.com"},"_npmVersion":"6.14.12","description":"### Install cordovabox ``` npm install cordovabox -g ```","directories":{"lib":"lib"},"_nodeVersion":"12.22.1","dependencies":{"del":"^1.2.1","ejs":"^2.7.4","bson":"^1.0.4","cors":"^2.8.6","csrf":"^3.1.0","gulp":"^4.0.2","open":"^8.4.0","walk":"^2.3.9","axios":"^0.21.1","csurf":"^1.11.0","moment":"^2.10.0","throng":"^1.0.0","connect":"1.9.2","express":"^4.16.0","request":"^2.55.0","winston":"^0.8.3","gulp-cli":"^2.2.0","gulp-ejs":"^1.2.2","mongoose":"^4.13.15","newrelic":"^1.17.1","passport":"^0.4.1","gulp-gzip":"^1.4.0","gulp-util":"^3.0.4","socket.io":"^4.0.0","waterline":"^0.13.6","gulp-watch":"^4.3.11","jwt-simple":"^0.5.6","ng-croppie":"^1.0.0","sails-disk":"^1.1.2","body-parser":"^1.9.3","compression":"^1.4.3","gulp-concat":"^2.6.1","gulp-uglify":"^1.5.4","sails-mongo":"^1.0.1","webdriverio":"^2.4.5","captains-log":"^2.0.3","connect-mongo":"^0.8.2","connect-redis":"^2.1.0","cookie-parser":"^1.3.3","gulp-compress":"0.0.9","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-uglify-es":"^2.0.0","express-session":"^1.9.2","gulp-compressor":"^0.1.0","moment-timezone":"^0.3.1","request-promise":"^4.2.5","socket.io-redis":"^0.1.4","gulp-minify-html":"^1.0.6","imagemin-pngquant":"^4.2.2","express-handlebars":"^4.0.4","express-http-proxy":"^1.6.2","gulp-yuicompressor":"0.0.3"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"del":"^1.1.1","gulp":"^4.0.2","braces":"^3.0.2","lodash":"^4.17.20","gulp-cli":"^2.2.0","gulp-ejs":"^1.1.0","gulp-gzip":"^1.1.0","gulp-util":"^3.0.4","gulp-watch":"^4.3.11","gulp-minify":"^3.1.0","gulp-uglify":"^1.2.0","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-compressor":"^0.1.0","gulp-minify-html":"^1.0.2","imagemin-pngquant":"^4.0.0","gulp-yuicompressor":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_0.1.26_1776912887744_0.6277973910872332","host":"s3://npm-registry-packages-npm-production"}},"0.1.27":{"name":"cordovabox","version":"0.1.27","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@0.1.27","maintainers":[{"name":"derrekmc","email":"derrekmcordova@hotmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"d2ef14e51c5ca7c7e0729e92896a40034f1a0b63","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-0.1.27.tgz","fileCount":75,"integrity":"sha512-9Qbv1iTPHCv5tQwSqyFf2zvTDXQfA+GKbsoUbJfmc8cKPztAZu57XzLl7C+e/97geROrtUZzeenqhp1IrDa+vA==","signatures":[{"sig":"MEYCIQCIRyMYI8dzSjmavU0kv2JFFFQ9bz3GGXkz/U7Vu3SlHQIhAKwHffx/OFVYcHc79vfLCFxl27qCQFVqEIPU7DSpFTh5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2823726},"main":"index.js","gitHead":"ad904e76d5850eee2074b38f532c722fef7a26ae","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests/index.js","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmcordova@hotmail.com"},"_npmVersion":"6.14.12","description":"### Install cordovabox ``` npm install cordovabox -g ```","directories":{"lib":"lib"},"_nodeVersion":"12.22.1","dependencies":{"del":"^1.2.1","ejs":"^2.7.4","bson":"^1.0.4","cors":"^2.8.6","csrf":"^3.1.0","gulp":"^4.0.2","open":"^8.4.0","walk":"^2.3.9","axios":"^0.21.1","csurf":"^1.11.0","moment":"^2.10.0","throng":"^1.0.0","connect":"1.9.2","express":"^4.16.0","request":"^2.55.0","winston":"^0.8.3","gulp-cli":"^2.2.0","gulp-ejs":"^1.2.2","mongoose":"^4.13.15","newrelic":"^1.17.1","passport":"^0.4.1","gulp-gzip":"^1.4.0","gulp-util":"^3.0.4","socket.io":"^4.0.0","waterline":"^0.13.6","gulp-watch":"^4.3.11","jwt-simple":"^0.5.6","ng-croppie":"^1.0.0","sails-disk":"^1.1.2","body-parser":"^1.9.3","compression":"^1.4.3","gulp-concat":"^2.6.1","gulp-uglify":"^1.5.4","sails-mongo":"^1.0.1","webdriverio":"^2.4.5","captains-log":"^2.0.3","connect-mongo":"^0.8.2","connect-redis":"^2.1.0","cookie-parser":"^1.3.3","gulp-compress":"0.0.9","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-uglify-es":"^2.0.0","express-session":"^1.9.2","gulp-compressor":"^0.1.0","moment-timezone":"^0.3.1","request-promise":"^4.2.5","socket.io-redis":"^0.1.4","gulp-minify-html":"^1.0.6","imagemin-pngquant":"^4.2.2","express-handlebars":"^4.0.4","express-http-proxy":"^1.6.2","gulp-yuicompressor":"0.0.3"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"del":"^1.1.1","gulp":"^4.0.2","braces":"^3.0.2","lodash":"^4.17.20","gulp-cli":"^2.2.0","gulp-ejs":"^1.1.0","gulp-gzip":"^1.1.0","gulp-util":"^3.0.4","gulp-watch":"^4.3.11","gulp-minify":"^3.1.0","gulp-uglify":"^1.2.0","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-compressor":"^0.1.0","gulp-minify-html":"^1.0.2","imagemin-pngquant":"^4.0.0","gulp-yuicompressor":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_0.1.27_1776913201953_0.957633208911497","host":"s3://npm-registry-packages-npm-production"}},"0.1.28":{"name":"cordovabox","version":"0.1.28","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@0.1.28","maintainers":[{"name":"derrekmc","email":"derrekmcordova@hotmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"d7ba63fe09f5d826cb351a5b6eaa27f20f35fef8","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-0.1.28.tgz","fileCount":76,"integrity":"sha512-FbxL216B1bNP5wai+B1XWwqgICBoPkLe0AWvZMvhGahvf/Xp3G4vIyqsP+qqCHJhZJ1W/gyQ5vvaTv/wa3A5KQ==","signatures":[{"sig":"MEUCIBju/IIr0SQ4rmd8dPpEcy76zMFbSimuk5dQDNY1+YjXAiEA97Ics9flVKDH3ZpibEq1JRJHXB9y2DCFGwRoD0xu0MM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2828741},"main":"index.js","gitHead":"8ed907d639e7bf11ae3ea53737ed794e4291d0e3","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests/index.js","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmcordova@hotmail.com"},"_npmVersion":"6.14.12","description":"### Install cordovabox ``` npm install cordovabox -g ```","directories":{"lib":"lib"},"_nodeVersion":"12.22.1","dependencies":{"del":"^1.2.1","ejs":"^2.7.4","bson":"^1.0.4","cors":"^2.8.6","csrf":"^3.1.0","gulp":"^4.0.2","open":"^8.4.0","walk":"^2.3.9","axios":"^0.21.1","csurf":"^1.11.0","moment":"^2.10.0","throng":"^1.0.0","connect":"1.9.2","express":"^4.16.0","request":"^2.55.0","winston":"^0.8.3","gulp-cli":"^2.2.0","gulp-ejs":"^1.2.2","mongoose":"^4.13.15","newrelic":"^1.17.1","passport":"^0.4.1","gulp-gzip":"^1.4.0","gulp-util":"^3.0.4","socket.io":"^4.0.0","waterline":"^0.13.6","gulp-watch":"^4.3.11","jwt-simple":"^0.5.6","ng-croppie":"^1.0.0","sails-disk":"^1.1.2","body-parser":"^1.9.3","compression":"^1.4.3","gulp-concat":"^2.6.1","gulp-uglify":"^1.5.4","sails-mongo":"^1.0.1","webdriverio":"^2.4.5","captains-log":"^2.0.3","connect-mongo":"^0.8.2","connect-redis":"^2.1.0","cookie-parser":"^1.3.3","gulp-compress":"0.0.9","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-uglify-es":"^2.0.0","express-session":"^1.9.2","gulp-compressor":"^0.1.0","moment-timezone":"^0.3.1","request-promise":"^4.2.5","socket.io-redis":"^0.1.4","gulp-minify-html":"^1.0.6","imagemin-pngquant":"^4.2.2","express-handlebars":"^4.0.4","express-http-proxy":"^1.6.2","gulp-yuicompressor":"0.0.3"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"del":"^1.1.1","gulp":"^4.0.2","braces":"^3.0.2","lodash":"^4.17.20","gulp-cli":"^2.2.0","gulp-ejs":"^1.1.0","gulp-gzip":"^1.1.0","gulp-util":"^3.0.4","gulp-watch":"^4.3.11","gulp-minify":"^3.1.0","gulp-uglify":"^1.2.0","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-compressor":"^0.1.0","gulp-minify-html":"^1.0.2","imagemin-pngquant":"^4.0.0","gulp-yuicompressor":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_0.1.28_1776916262655_0.005662139470805405","host":"s3://npm-registry-packages-npm-production"}},"0.1.29":{"name":"cordovabox","version":"0.1.29","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@0.1.29","maintainers":[{"name":"derrekmc","email":"derrekmcordova@hotmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"a529bd0cf7a65a585c73bb5f52bce73c5c58069c","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-0.1.29.tgz","fileCount":76,"integrity":"sha512-mFN+x8tQq4jMwUizps3sM9cLoxXxWf6Ojn1vVjtW2Re4W6gsSLzvD8YjVeUCVHSUzUYfvuEvtfnu9wBukm1Pnw==","signatures":[{"sig":"MEUCIQCdOrJU8nh/lbWb9pYVzu2kp8VFNiw+cAlv6oHomWYhJQIgU9lB+KOiDMxc1woheyZfjaBV17E2UJuY8wbXpV/PwqU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2828847},"main":"index.js","gitHead":"27093e0232cace5ac8f5b6d487bd30ee96fa47bd","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests/index.js","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmcordova@hotmail.com"},"_npmVersion":"6.14.12","description":"### Install cordovabox ``` npm install cordovabox -g ```","directories":{"lib":"lib"},"_nodeVersion":"12.22.1","dependencies":{"fs":"0.0.1-security","del":"^1.2.1","ejs":"^2.7.4","bson":"^1.0.4","cors":"^2.8.6","csrf":"^3.1.0","gulp":"^4.0.2","open":"^8.4.0","path":"^0.12.7","walk":"^2.3.9","axios":"^0.21.1","csurf":"^1.11.0","crypto":"^1.0.1","moment":"^2.10.0","throng":"^1.0.0","connect":"1.9.2","express":"^4.16.0","request":"^2.55.0","winston":"^0.8.3","gulp-cli":"^2.2.0","gulp-ejs":"^1.2.2","mongoose":"^4.13.15","newrelic":"^1.17.1","passport":"^0.4.1","gulp-gzip":"^1.4.0","gulp-util":"^3.0.4","socket.io":"^4.0.0","waterline":"^0.13.6","gulp-watch":"^4.3.11","jwt-simple":"^0.5.6","ng-croppie":"^1.0.0","sails-disk":"^1.1.2","body-parser":"^1.9.3","compression":"^1.4.3","gulp-concat":"^2.6.1","gulp-uglify":"^1.5.4","sails-mongo":"^1.0.1","webdriverio":"^2.4.5","captains-log":"^2.0.3","skipper-disk":"^0.5.12","connect-mongo":"^0.8.2","connect-redis":"^2.1.0","cookie-parser":"^1.3.3","gulp-compress":"0.0.9","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-uglify-es":"^2.0.0","express-session":"^1.9.2","gulp-compressor":"^0.1.0","moment-timezone":"^0.3.1","request-promise":"^4.2.5","socket.io-redis":"^0.1.4","gulp-minify-html":"^1.0.6","imagemin-pngquant":"^4.2.2","express-handlebars":"^4.0.4","express-http-proxy":"^1.6.2","gulp-yuicompressor":"0.0.3"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"del":"^1.1.1","gulp":"^4.0.2","braces":"^3.0.2","lodash":"^4.17.20","gulp-cli":"^2.2.0","gulp-ejs":"^1.1.0","gulp-gzip":"^1.1.0","gulp-util":"^3.0.4","gulp-watch":"^4.3.11","gulp-minify":"^3.1.0","gulp-uglify":"^1.2.0","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-compressor":"^0.1.0","gulp-minify-html":"^1.0.2","imagemin-pngquant":"^4.0.0","gulp-yuicompressor":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_0.1.29_1776916831400_0.9031217595523997","host":"s3://npm-registry-packages-npm-production"}},"0.1.30":{"name":"cordovabox","version":"0.1.30","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@0.1.30","maintainers":[{"name":"derrekmc","email":"derrekmcordova@hotmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"9cd722bbfbc3fcdc1b81e6a613618690968fd4bb","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-0.1.30.tgz","fileCount":76,"integrity":"sha512-hoMp+yP6FzZFbOqhkMfk72nJmKmme54DKShenHJo0FojjMHgETLOAAzNMmaJNmw8Av5rUt4PYyl5iNdw4bUnDQ==","signatures":[{"sig":"MEQCIFIRERegfg8IVcFDrytpOCv9mOdiRWGPyiDe/KD/UXErAiA6A1LjTBHX5ynxTA6SrZ9On2yUNX5NO4hScFvHdHf0GA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2828847},"main":"index.js","gitHead":"4b8d7170c9d07b9557e2c9f6a7aeee5a133187c9","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests/index.js","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmcordova@hotmail.com"},"_npmVersion":"6.14.12","description":"### Install cordovabox ``` npm install cordovabox -g ```","directories":{"lib":"lib"},"_nodeVersion":"12.22.1","dependencies":{"fs":"0.0.1-security","del":"^1.2.1","ejs":"^2.7.4","bson":"^1.0.4","cors":"^2.8.6","csrf":"^3.1.0","gulp":"^4.0.2","open":"^8.4.0","path":"^0.12.7","walk":"^2.3.9","axios":"^0.21.1","csurf":"^1.11.0","crypto":"^1.0.1","moment":"^2.10.0","throng":"^1.0.0","connect":"1.9.2","express":"^4.16.0","request":"^2.55.0","winston":"^0.8.3","gulp-cli":"^2.2.0","gulp-ejs":"^1.2.2","mongoose":"^4.13.15","newrelic":"^1.17.1","passport":"^0.4.1","gulp-gzip":"^1.4.0","gulp-util":"^3.0.4","socket.io":"^4.0.0","waterline":"^0.13.6","gulp-watch":"^4.3.11","jwt-simple":"^0.5.6","ng-croppie":"^1.0.0","sails-disk":"^1.1.2","body-parser":"^1.9.3","compression":"^1.4.3","gulp-concat":"^2.6.1","gulp-uglify":"^1.5.4","sails-mongo":"^1.0.1","webdriverio":"^2.4.5","captains-log":"^2.0.3","skipper-disk":"^0.5.12","connect-mongo":"^0.8.2","connect-redis":"^2.1.0","cookie-parser":"^1.3.3","gulp-compress":"0.0.9","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-uglify-es":"^2.0.0","express-session":"^1.9.2","gulp-compressor":"^0.1.0","moment-timezone":"^0.3.1","request-promise":"^4.2.5","socket.io-redis":"^0.1.4","gulp-minify-html":"^1.0.6","imagemin-pngquant":"^4.2.2","express-handlebars":"^4.0.4","express-http-proxy":"^1.6.2","gulp-yuicompressor":"0.0.3"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"del":"^1.1.1","gulp":"^4.0.2","braces":"^3.0.2","lodash":"^4.17.20","gulp-cli":"^2.2.0","gulp-ejs":"^1.1.0","gulp-gzip":"^1.1.0","gulp-util":"^3.0.4","gulp-watch":"^4.3.11","gulp-minify":"^3.1.0","gulp-uglify":"^1.2.0","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-compressor":"^0.1.0","gulp-minify-html":"^1.0.2","imagemin-pngquant":"^4.0.0","gulp-yuicompressor":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_0.1.30_1776918087313_0.08700339937520818","host":"s3://npm-registry-packages-npm-production"}},"0.1.31":{"name":"cordovabox","version":"0.1.31","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@0.1.31","maintainers":[{"name":"derrekmc","email":"derrekmcordova@hotmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"2327db9dc4fbd8a84e6ec1f25609f338a2426dc7","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-0.1.31.tgz","fileCount":76,"integrity":"sha512-Ek+j0LJd8mRs7+YXIHvprX3fd5vycfRIfw3aGPG1NaZsrtz3uZphXohhGFG2QA7NBft5uOiMxTtxk1MAjdEISg==","signatures":[{"sig":"MEUCIQC584HfP4sAH/lKbk/4iMUcj1Jn69xzy3sFazHdjL5uDwIgLOX6hViIqtnfAKfCcP4HtXNT2tttlRh1g2qTn9g31Aw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2828846},"main":"index.js","gitHead":"1f8dd441121a8c5d47df579b448b08cee606f712","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests/index.js","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmcordova@hotmail.com"},"_npmVersion":"6.14.12","description":"### Install cordovabox ``` npm install cordovabox -g ```","directories":{"lib":"lib"},"_nodeVersion":"12.22.1","dependencies":{"fs":"0.0.1-security","del":"^1.2.1","ejs":"^2.7.4","bson":"^1.0.4","cors":"^2.8.6","csrf":"^3.1.0","gulp":"^4.0.2","open":"^8.4.0","path":"^0.12.7","walk":"^2.3.9","axios":"^0.21.1","csurf":"^1.11.0","crypto":"^1.0.1","moment":"^2.10.0","throng":"^1.0.0","connect":"1.9.2","express":"^4.16.0","request":"^2.55.0","winston":"^0.8.3","gulp-cli":"^2.2.0","gulp-ejs":"^1.2.2","mongoose":"^4.13.15","newrelic":"^1.17.1","passport":"^0.4.1","gulp-gzip":"^1.4.0","gulp-util":"^3.0.4","socket.io":"^4.0.0","waterline":"^0.13.6","gulp-watch":"^4.3.11","jwt-simple":"^0.5.6","ng-croppie":"^1.0.0","sails-disk":"^1.1.2","body-parser":"^1.9.3","compression":"^1.4.3","gulp-concat":"^2.6.1","gulp-uglify":"^1.5.4","sails-mongo":"^1.0.1","webdriverio":"^2.4.5","captains-log":"^2.0.3","skipper-disk":"^0.5.12","connect-mongo":"^0.8.2","connect-redis":"^2.1.0","cookie-parser":"^1.3.3","gulp-compress":"0.0.9","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-uglify-es":"^2.0.0","express-session":"^1.9.2","gulp-compressor":"^0.1.0","moment-timezone":"^0.3.1","request-promise":"^4.2.5","socket.io-redis":"^0.1.4","gulp-minify-html":"^1.0.6","imagemin-pngquant":"^4.2.2","express-handlebars":"^4.0.4","express-http-proxy":"^1.6.2","gulp-yuicompressor":"0.0.3"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"del":"^1.1.1","gulp":"^4.0.2","braces":"^3.0.2","lodash":"^4.17.20","gulp-cli":"^2.2.0","gulp-ejs":"^1.1.0","gulp-gzip":"^1.1.0","gulp-util":"^3.0.4","gulp-watch":"^4.3.11","gulp-minify":"^3.1.0","gulp-uglify":"^1.2.0","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-compressor":"^0.1.0","gulp-minify-html":"^1.0.2","imagemin-pngquant":"^4.0.0","gulp-yuicompressor":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_0.1.31_1776919066662_0.2503918486839427","host":"s3://npm-registry-packages-npm-production"}},"0.1.32":{"name":"cordovabox","version":"0.1.32","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@0.1.32","maintainers":[{"name":"derrekmc","email":"derrekmcordova@hotmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"5ff72d07cf4e5dbb5aeaa69cf414fa5a168afc38","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-0.1.32.tgz","fileCount":77,"integrity":"sha512-lNU3t8TkUELeX8yKqblrR/TKsr9TW+94y22strNuK/A1aSPnaJKruE1HkmkoutkL30cWFQnYBwX+nfyYrrHwEg==","signatures":[{"sig":"MEUCIQC7kRFiKf6vMEgV4PtQgUQwkgPpDwaOyTFNy3iqR5icfAIgUdNpio/DBsLczkrSkGaNe9TdJhlZqR6pZoR1jCarvQM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2842492},"main":"index.js","gitHead":"03dce88c44489865e10d6cf9a846e26386941f40","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests/index.js","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmcordova@hotmail.com"},"_npmVersion":"6.14.12","description":"### Install cordovabox ``` npm install cordovabox -g ```","directories":{"lib":"lib"},"_nodeVersion":"12.22.1","dependencies":{"fs":"0.0.1-security","del":"^1.2.1","ejs":"^2.7.4","bson":"^1.0.4","cors":"^2.8.6","csrf":"^3.1.0","gulp":"^4.0.2","open":"^8.4.0","path":"^0.12.7","walk":"^2.3.9","axios":"^0.21.1","csurf":"^1.11.0","crypto":"^1.0.1","moment":"^2.10.0","throng":"^1.0.0","connect":"1.9.2","express":"^4.16.0","request":"^2.55.0","winston":"^0.8.3","gulp-cli":"^2.2.0","gulp-ejs":"^1.2.2","mongoose":"^4.13.15","newrelic":"^1.17.1","passport":"^0.4.1","gulp-gzip":"^1.4.0","gulp-util":"^3.0.4","socket.io":"^4.0.0","waterline":"^0.13.6","gulp-watch":"^4.3.11","jwt-simple":"^0.5.6","ng-croppie":"^1.0.0","sails-disk":"^1.1.2","body-parser":"^1.9.3","compression":"^1.4.3","gulp-concat":"^2.6.1","gulp-uglify":"^1.5.4","sails-mongo":"^1.0.1","webdriverio":"^2.4.5","captains-log":"^2.0.3","skipper-disk":"^0.5.12","connect-mongo":"^0.8.2","connect-redis":"^2.1.0","cookie-parser":"^1.3.3","gulp-compress":"0.0.9","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-uglify-es":"^2.0.0","express-session":"^1.9.2","gulp-compressor":"^0.1.0","moment-timezone":"^0.3.1","request-promise":"^4.2.5","socket.io-redis":"^0.1.4","gulp-minify-html":"^1.0.6","imagemin-pngquant":"^4.2.2","express-handlebars":"^4.0.4","express-http-proxy":"^1.6.2","gulp-yuicompressor":"0.0.3"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"del":"^1.1.1","gulp":"^4.0.2","braces":"^3.0.2","lodash":"^4.17.20","gulp-cli":"^2.2.0","gulp-ejs":"^1.1.0","gulp-gzip":"^1.1.0","gulp-util":"^3.0.4","gulp-watch":"^4.3.11","gulp-minify":"^3.1.0","gulp-uglify":"^1.2.0","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-compressor":"^0.1.0","gulp-minify-html":"^1.0.2","imagemin-pngquant":"^4.0.0","gulp-yuicompressor":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_0.1.32_1776920314595_0.4700460140666338","host":"s3://npm-registry-packages-npm-production"}},"0.1.33":{"name":"cordovabox","version":"0.1.33","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@0.1.33","maintainers":[{"name":"derrekmc","email":"derrekmcordova@hotmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"8d34857585702de6f1d7ba0b26a4ed6e01e102d9","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-0.1.33.tgz","fileCount":77,"integrity":"sha512-d+3vBFJQsjoyfPqU84/lTmtIWx4avRrP8NixQw0FBltzXX6YBbi1hs1QFC1HgeqbfM1ifxSs16mMYLgKTCSpLQ==","signatures":[{"sig":"MEUCIBbaVy9B1oOpL3+lPq+8QBDkQ/j7xXIbAnuK+8wv7CA8AiEA4C2ojovDzjau2jOg/m3Kt1GqTBKpcyW2qbrcbTvro2w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2856078},"main":"index.js","gitHead":"50fef8e7a98e869b05a31071e9a13f3ccb6eaf82","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests/index.js","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmcordova@hotmail.com"},"_npmVersion":"6.14.12","description":"### Install cordovabox ``` npm install cordovabox -g ```","directories":{"lib":"lib"},"_nodeVersion":"12.22.1","dependencies":{"fs":"0.0.1-security","del":"^1.2.1","ejs":"^2.7.4","bson":"^1.0.4","cors":"^2.8.6","csrf":"^3.1.0","gulp":"^4.0.2","open":"^8.4.0","path":"^0.12.7","walk":"^2.3.9","axios":"^0.21.1","csurf":"^1.11.0","crypto":"^1.0.1","moment":"^2.10.0","throng":"^1.0.0","connect":"1.9.2","express":"^4.16.0","request":"^2.55.0","winston":"^0.8.3","gulp-cli":"^2.2.0","gulp-ejs":"^1.2.2","mongoose":"^4.13.15","newrelic":"^1.17.1","passport":"^0.4.1","gulp-gzip":"^1.4.0","gulp-util":"^3.0.4","socket.io":"^4.0.0","waterline":"^0.13.6","gulp-watch":"^4.3.11","jwt-simple":"^0.5.6","ng-croppie":"^1.0.0","sails-disk":"^1.1.2","body-parser":"^1.9.3","compression":"^1.4.3","gulp-concat":"^2.6.1","gulp-uglify":"^1.5.4","sails-mongo":"^1.0.1","webdriverio":"^2.4.5","captains-log":"^2.0.3","skipper-disk":"^0.5.12","connect-mongo":"^0.8.2","connect-redis":"^2.1.0","cookie-parser":"^1.3.3","gulp-compress":"0.0.9","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-uglify-es":"^2.0.0","express-session":"^1.9.2","gulp-compressor":"^0.1.0","moment-timezone":"^0.3.1","request-promise":"^4.2.5","socket.io-redis":"^0.1.4","gulp-minify-html":"^1.0.6","imagemin-pngquant":"^4.2.2","express-handlebars":"^4.0.4","express-http-proxy":"^1.6.2","gulp-yuicompressor":"0.0.3"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"del":"^1.1.1","gulp":"^4.0.2","braces":"^3.0.2","lodash":"^4.17.20","gulp-cli":"^2.2.0","gulp-ejs":"^1.1.0","gulp-gzip":"^1.1.0","gulp-util":"^3.0.4","gulp-watch":"^4.3.11","gulp-minify":"^3.1.0","gulp-uglify":"^1.2.0","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-compressor":"^0.1.0","gulp-minify-html":"^1.0.2","imagemin-pngquant":"^4.0.0","gulp-yuicompressor":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_0.1.33_1776921208134_0.6995612278732157","host":"s3://npm-registry-packages-npm-production"}},"0.1.34":{"name":"cordovabox","version":"0.1.34","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@0.1.34","maintainers":[{"name":"derrekmc","email":"derrekmcordova@hotmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"e26484d6810a3a807a9e928c7854dfc05cf0b4ac","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-0.1.34.tgz","fileCount":78,"integrity":"sha512-V8WgyvK843U149C0QKkriTmB9OpM3PhSOxcOe4D7291wdjoJCHcmEd331D2Ip8LhciKKEV9CWeJv2rPBEGGOtQ==","signatures":[{"sig":"MEYCIQCvPdGB3jYe9M+rOsQE1jCFbkwaPRsMJXesqf1huRob5gIhAPYtenbFBIQDi8p8lMpclFvkUPQW8xoDSh9yV6yHb8og","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2867940},"main":"index.js","gitHead":"2cdd81d4a8c12c2589325a19bdc477801667f42d","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests/index.js","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmcordova@hotmail.com"},"_npmVersion":"6.14.12","description":"### Install cordovabox ``` npm install cordovabox -g ```","directories":{"lib":"lib"},"_nodeVersion":"12.22.1","dependencies":{"fs":"0.0.1-security","del":"^1.2.1","ejs":"^2.7.4","bson":"^1.0.4","cors":"^2.8.6","csrf":"^3.1.0","gulp":"^4.0.2","open":"^8.4.0","path":"^0.12.7","walk":"^2.3.9","axios":"^0.21.1","csurf":"^1.11.0","crypto":"^1.0.1","moment":"^2.10.0","throng":"^1.0.0","connect":"1.9.2","express":"^4.16.0","request":"^2.55.0","winston":"^0.8.3","gulp-cli":"^2.2.0","gulp-ejs":"^1.2.2","mongoose":"^4.13.15","newrelic":"^1.17.1","passport":"^0.4.1","gulp-gzip":"^1.4.0","gulp-util":"^3.0.4","socket.io":"^4.0.0","waterline":"^0.13.6","gulp-watch":"^4.3.11","jwt-simple":"^0.5.6","ng-croppie":"^1.0.0","sails-disk":"^1.1.2","body-parser":"^1.9.3","compression":"^1.4.3","gulp-concat":"^2.6.1","gulp-uglify":"^1.5.4","sails-mongo":"^1.0.1","webdriverio":"^2.4.5","captains-log":"^2.0.3","skipper-disk":"^0.5.12","connect-mongo":"^0.8.2","connect-redis":"^2.1.0","cookie-parser":"^1.3.3","gulp-compress":"0.0.9","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-uglify-es":"^2.0.0","express-session":"^1.9.2","gulp-compressor":"^0.1.0","moment-timezone":"^0.3.1","request-promise":"^4.2.5","socket.io-redis":"^0.1.4","gulp-minify-html":"^1.0.6","imagemin-pngquant":"^4.2.2","express-handlebars":"^4.0.4","express-http-proxy":"^1.6.2","gulp-yuicompressor":"0.0.3"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"del":"^1.1.1","gulp":"^4.0.2","braces":"^3.0.2","lodash":"^4.17.20","gulp-cli":"^2.2.0","gulp-ejs":"^1.1.0","gulp-gzip":"^1.1.0","gulp-util":"^3.0.4","gulp-watch":"^4.3.11","gulp-minify":"^3.1.0","gulp-uglify":"^1.2.0","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-compressor":"^0.1.0","gulp-minify-html":"^1.0.2","imagemin-pngquant":"^4.0.0","gulp-yuicompressor":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_0.1.34_1776922034778_0.1979082311254623","host":"s3://npm-registry-packages-npm-production"}},"0.1.35":{"name":"cordovabox","version":"0.1.35","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@0.1.35","maintainers":[{"name":"derrekmc","email":"derrekmcordova@hotmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"82e537ceaa5caf43abdd45207d17753cb6ec540f","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-0.1.35.tgz","fileCount":78,"integrity":"sha512-Jh407cuFsgQTapehiY20isZ3dKWH31AzD2tCPAL+TDsMkcGrsbJT+pBAP+jhJkTM63+6PSF8zCi4MSGXSI7GQg==","signatures":[{"sig":"MEYCIQDFhXIi3XDyMwflpYuJn+HeYEZqCpJ7bqzvaO87Qn4JZQIhAMaFTJdaJOJUQ8Gl+pKxI9xhv3yGqCZNZVcb9AcSvv17","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2869185},"main":"index.js","gitHead":"9ed0aa6b775a0635399cac4931462809993fbb9e","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests/index.js","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmcordova@hotmail.com"},"_npmVersion":"6.14.12","description":"### Install cordovabox ``` npm install cordovabox -g ```","directories":{"lib":"lib"},"_nodeVersion":"12.22.1","dependencies":{"fs":"0.0.1-security","del":"^1.2.1","ejs":"^2.7.4","bson":"^1.0.4","cors":"^2.8.6","csrf":"^3.1.0","gulp":"^4.0.2","open":"^8.4.0","path":"^0.12.7","walk":"^2.3.9","axios":"^0.21.1","csurf":"^1.11.0","crypto":"^1.0.1","moment":"^2.10.0","throng":"^1.0.0","connect":"1.9.2","express":"^4.16.0","request":"^2.55.0","winston":"^0.8.3","gulp-cli":"^2.2.0","gulp-ejs":"^1.2.2","mongoose":"^4.13.15","newrelic":"^1.17.1","passport":"^0.4.1","gulp-gzip":"^1.4.0","gulp-util":"^3.0.4","socket.io":"^4.0.0","waterline":"^0.13.6","gulp-watch":"^4.3.11","jwt-simple":"^0.5.6","ng-croppie":"^1.0.0","sails-disk":"^1.1.2","body-parser":"^1.9.3","compression":"^1.4.3","gulp-concat":"^2.6.1","gulp-uglify":"^1.5.4","sails-mongo":"^1.0.1","webdriverio":"^2.4.5","captains-log":"^2.0.3","skipper-disk":"^0.5.12","connect-mongo":"^0.8.2","connect-redis":"^2.1.0","cookie-parser":"^1.3.3","gulp-compress":"0.0.9","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-uglify-es":"^2.0.0","express-session":"^1.9.2","gulp-compressor":"^0.1.0","moment-timezone":"^0.3.1","request-promise":"^4.2.5","socket.io-redis":"^0.1.4","gulp-minify-html":"^1.0.6","imagemin-pngquant":"^4.2.2","express-handlebars":"^4.0.4","express-http-proxy":"^1.6.2","gulp-yuicompressor":"0.0.3"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"del":"^1.1.1","gulp":"^4.0.2","braces":"^3.0.2","lodash":"^4.17.20","gulp-cli":"^2.2.0","gulp-ejs":"^1.1.0","gulp-gzip":"^1.1.0","gulp-util":"^3.0.4","gulp-watch":"^4.3.11","gulp-minify":"^3.1.0","gulp-uglify":"^1.2.0","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-compressor":"^0.1.0","gulp-minify-html":"^1.0.2","imagemin-pngquant":"^4.0.0","gulp-yuicompressor":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_0.1.35_1776924216141_0.44732035368677714","host":"s3://npm-registry-packages-npm-production"}},"0.1.36":{"name":"cordovabox","version":"0.1.36","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@0.1.36","maintainers":[{"name":"derrekmc","email":"derrekmcordova@hotmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"66fb41bbbd2db2dc319eaa278ef1c297cff5c953","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-0.1.36.tgz","fileCount":78,"integrity":"sha512-l3OxIAEH6qVe5U1pVMLgB/lmkIJILUOQ1Gqu83y+iIj7tFi6yih57PZATi3S+S1C5wO9ArrNXixQY27Lq3X9qA==","signatures":[{"sig":"MEQCIGyeq9mgU0iwZ4q+Rh1Vo3yb8hSnQMEu5EVMudG/NiYVAiBDrAF+5n0tkLI8tvmR6eBYhuewE3b12/wEHXDzrfPZJw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2870546},"main":"index.js","gitHead":"8130d3d91331998a12e3ffd848f4bd83cc2338a3","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests/index.js","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmcordova@hotmail.com"},"_npmVersion":"6.14.12","description":"### Install cordovabox ``` npm install cordovabox -g ```","directories":{"lib":"lib"},"_nodeVersion":"12.22.1","dependencies":{"fs":"0.0.1-security","del":"^1.2.1","ejs":"^2.7.4","bson":"^1.0.4","cors":"^2.8.6","csrf":"^3.1.0","gulp":"^4.0.2","open":"^8.4.0","path":"^0.12.7","walk":"^2.3.9","axios":"^0.21.1","csurf":"^1.11.0","crypto":"^1.0.1","moment":"^2.10.0","throng":"^1.0.0","connect":"1.9.2","express":"^4.16.0","request":"^2.55.0","winston":"^0.8.3","gulp-cli":"^2.2.0","gulp-ejs":"^1.2.2","mongoose":"^4.13.15","newrelic":"^1.17.1","passport":"^0.4.1","gulp-gzip":"^1.4.0","gulp-util":"^3.0.4","socket.io":"^4.0.0","waterline":"^0.13.6","gulp-watch":"^4.3.11","jwt-simple":"^0.5.6","ng-croppie":"^1.0.0","sails-disk":"^1.1.2","body-parser":"^1.9.3","compression":"^1.4.3","gulp-concat":"^2.6.1","gulp-uglify":"^1.5.4","sails-mongo":"^1.0.1","webdriverio":"^2.4.5","captains-log":"^2.0.3","skipper-disk":"^0.5.12","connect-mongo":"^0.8.2","connect-redis":"^2.1.0","cookie-parser":"^1.3.3","gulp-compress":"0.0.9","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-uglify-es":"^2.0.0","express-session":"^1.9.2","gulp-compressor":"^0.1.0","moment-timezone":"^0.3.1","request-promise":"^4.2.5","socket.io-redis":"^0.1.4","gulp-minify-html":"^1.0.6","imagemin-pngquant":"^4.2.2","express-handlebars":"^4.0.4","express-http-proxy":"^1.6.2","gulp-yuicompressor":"0.0.3"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"del":"^1.1.1","gulp":"^4.0.2","braces":"^3.0.2","lodash":"^4.17.20","gulp-cli":"^2.2.0","gulp-ejs":"^1.1.0","gulp-gzip":"^1.1.0","gulp-util":"^3.0.4","gulp-watch":"^4.3.11","gulp-minify":"^3.1.0","gulp-uglify":"^1.2.0","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-compressor":"^0.1.0","gulp-minify-html":"^1.0.2","imagemin-pngquant":"^4.0.0","gulp-yuicompressor":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_0.1.36_1776950181257_0.920339354006094","host":"s3://npm-registry-packages-npm-production"}},"0.1.37":{"name":"cordovabox","version":"0.1.37","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@0.1.37","maintainers":[{"name":"derrekmc","email":"derrekmcordova@hotmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"97c6e8cc6eeba74de4062581e5c42eaac3e9dfe1","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-0.1.37.tgz","fileCount":78,"integrity":"sha512-MQo3OtjpWF2f8Tw3pRqgCKx17l/5ZU8ozoTRi4E+nxrLk25luWgRa3Anqvb3ST6Q1x+WhT/Y8etvmjLZdIVI7g==","signatures":[{"sig":"MEUCIES5R4wYlSb330/tXwgpT73uqS4vTgwzPUGbZ5srkYBdAiEAs12wfp/eH+k3/9hNjVf+ULpfQp3nYsmnsiqkiexsu4g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2836884},"main":"index.js","gitHead":"2622185ef82797774155a58c5b5f10a3a9bd0a92","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests/index.js","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmcordova@hotmail.com"},"_npmVersion":"6.14.12","description":"### Install cordovabox ``` npm install cordovabox -g ```","directories":{"lib":"lib"},"_nodeVersion":"12.22.1","dependencies":{"fs":"0.0.1-security","del":"^1.2.1","ejs":"^2.7.4","bson":"^1.0.4","cors":"^2.8.6","csrf":"^3.1.0","gulp":"^4.0.2","open":"^8.4.0","path":"^0.12.7","walk":"^2.3.9","axios":"^0.21.1","csurf":"^1.11.0","crypto":"^1.0.1","moment":"^2.10.0","throng":"^1.0.0","connect":"1.9.2","express":"^4.16.0","request":"^2.55.0","winston":"^0.8.3","gulp-cli":"^2.2.0","gulp-ejs":"^1.2.2","mongoose":"^4.13.15","newrelic":"^1.17.1","passport":"^0.4.1","gulp-gzip":"^1.4.0","gulp-util":"^3.0.4","socket.io":"^4.0.0","waterline":"^0.13.6","gulp-watch":"^4.3.11","jwt-simple":"^0.5.6","ng-croppie":"^1.0.0","sails-disk":"^1.1.2","body-parser":"^1.9.3","compression":"^1.4.3","gulp-concat":"^2.6.1","gulp-uglify":"^1.5.4","sails-mongo":"^1.0.1","webdriverio":"^2.4.5","captains-log":"^2.0.3","skipper-disk":"^0.5.12","connect-mongo":"^0.8.2","connect-redis":"^2.1.0","cookie-parser":"^1.3.3","gulp-compress":"0.0.9","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-uglify-es":"^2.0.0","express-session":"^1.9.2","gulp-compressor":"^0.1.0","moment-timezone":"^0.3.1","request-promise":"^4.2.5","socket.io-redis":"^0.1.4","gulp-minify-html":"^1.0.6","imagemin-pngquant":"^4.2.2","express-handlebars":"^4.0.4","express-http-proxy":"^1.6.2","gulp-yuicompressor":"0.0.3"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"del":"^1.1.1","gulp":"^4.0.2","braces":"^3.0.2","lodash":"^4.17.20","gulp-cli":"^2.2.0","gulp-ejs":"^1.1.0","gulp-gzip":"^1.1.0","gulp-util":"^3.0.4","gulp-watch":"^4.3.11","gulp-minify":"^3.1.0","gulp-uglify":"^1.2.0","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-compressor":"^0.1.0","gulp-minify-html":"^1.0.2","imagemin-pngquant":"^4.0.0","gulp-yuicompressor":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_0.1.37_1776977918754_0.274652552718748","host":"s3://npm-registry-packages-npm-production"}},"0.1.38":{"name":"cordovabox","version":"0.1.38","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@0.1.38","maintainers":[{"name":"derrekmc","email":"derrekmcordova@hotmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"11a20ddda2d12cde936b8fe35522db1844e0b591","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-0.1.38.tgz","fileCount":78,"integrity":"sha512-mldYI282LDI9XpWSc3PRxGhsDrQwH0rEh6+KfDTs+LTQLY/XeUJi+sk6hI5VyEZCKWsTxbmpozwbv/HZTRhAAg==","signatures":[{"sig":"MEUCIQDxaKJKV2gn3gUr1dibhC5X4857Aa+apxR8Q50t+28KOwIgUqIGeOPCjP7oyrj3GdA/Bxonz8hew5Qk7wbsabr9XHA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2872798},"main":"index.js","gitHead":"cefb89ff81ff212c8678a08fb92b5803f7dab7bf","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests/index.js","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmcordova@hotmail.com"},"_npmVersion":"6.14.12","description":"### Install cordovabox ``` npm install cordovabox -g ```","directories":{"lib":"lib"},"_nodeVersion":"12.22.1","dependencies":{"fs":"0.0.1-security","del":"^1.2.1","ejs":"^2.7.4","bson":"^1.0.4","cors":"^2.8.6","csrf":"^3.1.0","gulp":"^4.0.2","open":"^8.4.0","path":"^0.12.7","walk":"^2.3.9","axios":"^0.21.1","csurf":"^1.11.0","crypto":"^1.0.1","moment":"^2.10.0","throng":"^1.0.0","connect":"1.9.2","express":"^4.16.0","request":"^2.55.0","winston":"^0.8.3","gulp-cli":"^2.2.0","gulp-ejs":"^1.2.2","mongoose":"^4.13.15","newrelic":"^1.17.1","passport":"^0.4.1","gulp-gzip":"^1.4.0","gulp-util":"^3.0.4","socket.io":"^4.0.0","waterline":"^0.13.6","gulp-watch":"^4.3.11","jwt-simple":"^0.5.6","ng-croppie":"^1.0.0","sails-disk":"^1.1.2","body-parser":"^1.9.3","compression":"^1.4.3","gulp-concat":"^2.6.1","gulp-uglify":"^1.5.4","sails-mongo":"^1.0.1","webdriverio":"^2.4.5","captains-log":"^2.0.3","skipper-disk":"^0.5.12","connect-mongo":"^0.8.2","connect-redis":"^2.1.0","cookie-parser":"^1.3.3","gulp-compress":"0.0.9","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-uglify-es":"^2.0.0","express-session":"^1.9.2","gulp-compressor":"^0.1.0","moment-timezone":"^0.3.1","request-promise":"^4.2.5","socket.io-redis":"^0.1.4","gulp-minify-html":"^1.0.6","imagemin-pngquant":"^4.2.2","express-handlebars":"^4.0.4","express-http-proxy":"^1.6.2","gulp-yuicompressor":"0.0.3"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"del":"^1.1.1","gulp":"^4.0.2","braces":"^3.0.2","lodash":"^4.17.20","gulp-cli":"^2.2.0","gulp-ejs":"^1.1.0","gulp-gzip":"^1.1.0","gulp-util":"^3.0.4","gulp-watch":"^4.3.11","gulp-minify":"^3.1.0","gulp-uglify":"^1.2.0","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-compressor":"^0.1.0","gulp-minify-html":"^1.0.2","imagemin-pngquant":"^4.0.0","gulp-yuicompressor":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_0.1.38_1776979363957_0.14355008877741082","host":"s3://npm-registry-packages-npm-production"}},"0.1.39":{"name":"cordovabox","version":"0.1.39","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@0.1.39","maintainers":[{"name":"derrekmc","email":"derrekmc@gmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"12ca5d9fe79080365fe2b0d6d638278db0420dd3","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-0.1.39.tgz","fileCount":77,"integrity":"sha512-vHeGtzIHWIADFNkWkxOtRL3TlbaMfWVCubVCjf7r/5B6jP2kkff1aWzgTqbt9X7WMBoN/pwr5NBWpygGGQgdxg==","signatures":[{"sig":"MEQCIB/UuiGjQG5HZ3Hd4rZSkbckxL80YDqVdVWmjO30aIgIAiA2ssX6Dc45WiTkNbguaWax0zhSJ4cXU7Grz2lt79jVKg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2865576},"main":"index.js","gitHead":"53e68110497eacfa062ff1f3d14ee58d9de9a8ae","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests/index.js","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmc@gmail.com"},"_npmVersion":"6.14.12","description":"### Install cordovabox ``` npm install cordovabox -g ```","directories":{"lib":"lib"},"_nodeVersion":"12.22.1","dependencies":{"fs":"0.0.1-security","del":"^1.2.1","ejs":"^2.7.4","bson":"^1.0.4","cors":"^2.8.6","csrf":"^3.1.0","gulp":"^4.0.2","open":"^8.4.0","path":"^0.12.7","walk":"^2.3.9","axios":"^0.21.1","csurf":"^1.11.0","crypto":"^1.0.1","moment":"^2.10.0","throng":"^1.0.0","connect":"1.9.2","express":"^4.16.0","request":"^2.55.0","winston":"^0.8.3","gulp-cli":"^2.2.0","gulp-ejs":"^1.2.2","mongoose":"^4.13.15","newrelic":"^1.17.1","passport":"^0.4.1","gulp-gzip":"^1.4.0","gulp-util":"^3.0.4","socket.io":"^4.0.0","waterline":"^0.13.6","gulp-watch":"^4.3.11","jwt-simple":"^0.5.6","ng-croppie":"^1.0.0","sails-disk":"^1.1.2","body-parser":"^1.9.3","compression":"^1.4.3","gulp-concat":"^2.6.1","gulp-uglify":"^1.5.4","sails-mongo":"^1.0.1","webdriverio":"^2.4.5","captains-log":"^2.0.3","skipper-disk":"^0.5.12","connect-mongo":"^0.8.2","connect-redis":"^2.1.0","cookie-parser":"^1.3.3","gulp-compress":"0.0.9","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-uglify-es":"^2.0.0","express-session":"^1.9.2","gulp-compressor":"^0.1.0","moment-timezone":"^0.3.1","request-promise":"^4.2.5","socket.io-redis":"^0.1.4","gulp-minify-html":"^1.0.6","imagemin-pngquant":"^4.2.2","express-handlebars":"^4.0.4","express-http-proxy":"^1.6.2","gulp-yuicompressor":"0.0.3"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"del":"^1.1.1","gulp":"^4.0.2","braces":"^3.0.2","lodash":"^4.17.20","gulp-cli":"^2.2.0","gulp-ejs":"^1.1.0","gulp-gzip":"^1.1.0","gulp-util":"^3.0.4","gulp-watch":"^4.3.11","gulp-minify":"^3.1.0","gulp-uglify":"^1.2.0","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-compressor":"^0.1.0","gulp-minify-html":"^1.0.2","imagemin-pngquant":"^4.0.0","gulp-yuicompressor":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_0.1.39_1776982523885_0.6996162238009442","host":"s3://npm-registry-packages-npm-production"}},"0.1.40":{"name":"cordovabox","version":"0.1.40","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@0.1.40","maintainers":[{"name":"derrekmc","email":"derrekmc@gmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"6209ce29bd9192dcaf6cf3d3728e35c1159f8e86","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-0.1.40.tgz","fileCount":77,"integrity":"sha512-XTBAEPCukyPJQjxN7SbfIoNaxvBRt9yZx+EGAXYm1Nt1eaF70eeOFzQXn8/R/BRcBTWyRiF1KoFPkjuqipGuFQ==","signatures":[{"sig":"MEUCIQDeHjJ2iQq5e1DFXMTfCsgvLmNFaydkpJyLHyDlqoWiDwIgXXSHJ0Yaa03y6/fCLSLqIy8/k10jFOsD5gxuJr36IPI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2865576},"main":"index.js","gitHead":"889777a9805eb6096cdbe04e04e2db67bfc21069","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests/index.js","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmc@gmail.com"},"_npmVersion":"6.14.12","description":"### Install cordovabox ``` npm install cordovabox -g ```","directories":{"lib":"lib"},"_nodeVersion":"12.22.1","dependencies":{"fs":"0.0.1-security","del":"^1.2.1","ejs":"^2.7.4","bson":"^1.0.4","cors":"^2.8.6","csrf":"^3.1.0","gulp":"^4.0.2","open":"^8.4.0","path":"^0.12.7","walk":"^2.3.9","axios":"^0.21.1","csurf":"^1.11.0","crypto":"^1.0.1","moment":"^2.10.0","throng":"^1.0.0","connect":"1.9.2","express":"^4.16.0","request":"^2.55.0","winston":"^0.8.3","gulp-cli":"^2.2.0","gulp-ejs":"^1.2.2","mongoose":"^4.13.15","newrelic":"^1.17.1","passport":"^0.4.1","gulp-gzip":"^1.4.0","gulp-util":"^3.0.4","socket.io":"^4.0.0","waterline":"^0.13.6","gulp-watch":"^4.3.11","jwt-simple":"^0.5.6","ng-croppie":"^1.0.0","sails-disk":"^1.1.2","body-parser":"^1.9.3","compression":"^1.4.3","gulp-concat":"^2.6.1","gulp-uglify":"^1.5.4","sails-mongo":"^1.0.1","webdriverio":"^2.4.5","captains-log":"^2.0.3","skipper-disk":"^0.5.12","connect-mongo":"^0.8.2","connect-redis":"^2.1.0","cookie-parser":"^1.3.3","gulp-compress":"0.0.9","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-uglify-es":"^2.0.0","express-session":"^1.9.2","gulp-compressor":"^0.1.0","moment-timezone":"^0.3.1","request-promise":"^4.2.5","socket.io-redis":"^0.1.4","gulp-minify-html":"^1.0.6","imagemin-pngquant":"^4.2.2","express-handlebars":"^4.0.4","express-http-proxy":"^1.6.2","gulp-yuicompressor":"0.0.3"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"del":"^1.1.1","gulp":"^4.0.2","braces":"^3.0.2","lodash":"^4.17.20","gulp-cli":"^2.2.0","gulp-ejs":"^1.1.0","gulp-gzip":"^1.1.0","gulp-util":"^3.0.4","gulp-watch":"^4.3.11","gulp-minify":"^3.1.0","gulp-uglify":"^1.2.0","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-compressor":"^0.1.0","gulp-minify-html":"^1.0.2","imagemin-pngquant":"^4.0.0","gulp-yuicompressor":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_0.1.40_1776982906994_0.8846191595132653","host":"s3://npm-registry-packages-npm-production"}},"0.1.41":{"name":"cordovabox","version":"0.1.41","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@0.1.41","maintainers":[{"name":"derrekmc","email":"derrekmc@gmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"a7d876ae81b07c6410fd805ef806f807d05e02c8","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-0.1.41.tgz","fileCount":84,"integrity":"sha512-CjSazW27uwGFeRwxvx41+iz56ca7ysDFp+1TKRlC/pT0a+J/p8LK+0jOGHvExsMfBIBpALzai7HtTajttYUhjA==","signatures":[{"sig":"MEUCIQCAtbUxUnZ5ZXKuOzz6svS2I8xrg7nKvuLC83TYmNDtQQIgSmy4kSZGBnZ7XJ0c3Ugr0rSQVSGP5+HdYjEq4RQ0dqo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2880530},"main":"index.js","gitHead":"982076f1f66f68ae6cfaaaf5f24174b4d8241a4a","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests/index.js","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmc@gmail.com"},"_npmVersion":"10.9.2","description":"## Quick Overview CordovaBox is a lightweight MVC framework for Node.js designed to spin up real‑time servers and REST APIs in minutes. It bundles Express, Socket.io, Mongoose/MongoDB, Redis session clustering, and a command‑line scaffolding system for mo","directories":{"lib":"lib"},"_nodeVersion":"22.13.1","dependencies":{"fs":"0.0.1-security","del":"^1.2.1","ejs":"^2.7.4","bson":"^1.0.4","cors":"^2.8.6","csrf":"^3.1.0","gulp":"^4.0.2","open":"^8.4.0","path":"^0.12.7","walk":"^2.3.9","axios":"^0.21.1","csurf":"^1.11.0","crypto":"^1.0.1","moment":"^2.10.0","throng":"^1.0.0","connect":"1.9.2","express":"^4.16.0","request":"^2.55.0","winston":"^0.8.3","gulp-cli":"^2.2.0","gulp-ejs":"^1.2.2","mongoose":"^4.13.15","newrelic":"^1.17.1","passport":"^0.4.1","gulp-gzip":"^1.4.0","gulp-util":"^3.0.4","socket.io":"^4.0.0","waterline":"^0.13.6","gulp-watch":"^4.3.11","jwt-simple":"^0.5.6","ng-croppie":"^1.0.0","sails-disk":"^1.1.2","body-parser":"^1.9.3","compression":"^1.4.3","gulp-concat":"^2.6.1","gulp-uglify":"^1.5.4","sails-mongo":"^1.0.1","webdriverio":"^2.4.5","captains-log":"^2.0.3","skipper-disk":"^0.5.12","connect-mongo":"^0.8.2","connect-redis":"^2.1.0","cookie-parser":"^1.3.3","gulp-compress":"0.0.9","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-uglify-es":"^2.0.0","express-session":"^1.9.2","gulp-compressor":"^0.1.0","moment-timezone":"^0.3.1","request-promise":"^4.2.5","socket.io-redis":"^0.1.4","gulp-minify-html":"^1.0.6","imagemin-pngquant":"^4.2.2","express-handlebars":"^4.0.4","express-http-proxy":"^1.6.2","gulp-yuicompressor":"0.0.3"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"del":"^1.1.1","gulp":"^4.0.2","braces":"^3.0.2","lodash":"^4.17.20","gulp-cli":"^2.2.0","gulp-ejs":"^1.1.0","gulp-gzip":"^1.1.0","gulp-util":"^3.0.4","gulp-watch":"^4.3.11","gulp-minify":"^3.1.0","gulp-uglify":"^1.2.0","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-compressor":"^0.1.0","gulp-minify-html":"^1.0.2","imagemin-pngquant":"^4.0.0","gulp-yuicompressor":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_0.1.41_1777491263161_0.013551412031987953","host":"s3://npm-registry-packages-npm-production"}},"0.1.42":{"name":"cordovabox","version":"0.1.42","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@0.1.42","maintainers":[{"name":"derrekmc","email":"derrekmc@gmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"4d4709fda473d46da7b7be8d3b036d9be85ec2b0","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-0.1.42.tgz","fileCount":84,"integrity":"sha512-l2Fnv6Rd7U3lb4ptxZ/Wi0LyXOmtFBSNUkiclE4xqP4CpJH2D+ER1LgjReYnb/ISOzTlUofOsZaPpBwmy+dC5A==","signatures":[{"sig":"MEQCICmp0fAJUsTL357Duj3OBzstVPWQnAnbcjRmk2PY/zKnAiBnbIhlFBF7KKpXBQg1P8YV4BCXF2tJQHqU6YKqPOs16Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2883189},"main":"index.js","gitHead":"56cbd1c809bf1a70dcbf0a42be94c8afca92c9d4","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests/index.js","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmc@gmail.com"},"_npmVersion":"10.9.2","description":"CordovaBox is a Node.js MVC framework and CLI for scaffolding Express-style applications with controllers, models, routes, hooks, asset builds, Socket.io, Redis-backed sessions, and MongoDB/Waterline data layers.","directories":{"lib":"lib"},"_nodeVersion":"22.13.1","dependencies":{"fs":"0.0.1-security","del":"^1.2.1","ejs":"^2.7.4","bson":"^1.0.4","cors":"^2.8.6","csrf":"^3.1.0","gulp":"^4.0.2","open":"^8.4.0","path":"^0.12.7","walk":"^2.3.9","axios":"^0.21.1","csurf":"^1.11.0","crypto":"^1.0.1","moment":"^2.10.0","throng":"^1.0.0","connect":"1.9.2","express":"^4.16.0","request":"^2.55.0","winston":"^0.8.3","gulp-cli":"^2.2.0","gulp-ejs":"^1.2.2","mongoose":"^4.13.15","newrelic":"^1.17.1","passport":"^0.4.1","gulp-gzip":"^1.4.0","gulp-util":"^3.0.4","socket.io":"^4.0.0","waterline":"^0.13.6","gulp-watch":"^4.3.11","jwt-simple":"^0.5.6","ng-croppie":"^1.0.0","sails-disk":"^1.1.2","body-parser":"^1.9.3","compression":"^1.4.3","gulp-concat":"^2.6.1","gulp-uglify":"^1.5.4","sails-mongo":"^1.0.1","webdriverio":"^2.4.5","captains-log":"^2.0.3","skipper-disk":"^0.5.12","connect-mongo":"^0.8.2","connect-redis":"^2.1.0","cookie-parser":"^1.3.3","gulp-compress":"0.0.9","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-uglify-es":"^2.0.0","express-session":"^1.9.2","gulp-compressor":"^0.1.0","moment-timezone":"^0.3.1","request-promise":"^4.2.5","socket.io-redis":"^0.1.4","gulp-minify-html":"^1.0.6","imagemin-pngquant":"^4.2.2","express-handlebars":"^4.0.4","express-http-proxy":"^1.6.2","gulp-yuicompressor":"0.0.3"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"del":"^1.1.1","gulp":"^4.0.2","braces":"^3.0.2","lodash":"^4.17.20","gulp-cli":"^2.2.0","gulp-ejs":"^1.1.0","gulp-gzip":"^1.1.0","gulp-util":"^3.0.4","gulp-watch":"^4.3.11","gulp-minify":"^3.1.0","gulp-uglify":"^1.2.0","gulp-imagemin":"^6.1.0","gulp-clean-css":"^2.3.2","gulp-compressor":"^0.1.0","gulp-minify-html":"^1.0.2","imagemin-pngquant":"^4.0.0","gulp-yuicompressor":"0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_0.1.42_1777687528097_0.17311073326565563","host":"s3://npm-registry-packages-npm-production"}},"0.1.43":{"name":"cordovabox","version":"0.1.43","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@0.1.43","maintainers":[{"name":"derrekmc","email":"derrekmc@gmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"288f78da26c493decf65062e10da507d0c1a0ef8","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-0.1.43.tgz","fileCount":84,"integrity":"sha512-VbQix0SnJTjRzM8dCwQt1iSRusMV97cRt9qgagbOVa/IBtyehogJxO6jHer3z0M1a7gmCQ4uolrijxGCzFe4SA==","signatures":[{"sig":"MEQCIAgz6SReWgOJv5BO5qr2CYqAl/O9J2TRQ1fYdQX9+kvUAiA82yAT4IkuSQrgS+vHmZp9erJJU/O5ZF7iNdIrtro1gg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2883896},"main":"index.js","engines":{"node":">=22"},"gitHead":"a3630a82bf2d46cd163a81f53051a5b82173324b","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests/index.js","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmc@gmail.com"},"_npmVersion":"10.9.2","description":"CordovaBox is a Node.js MVC framework and CLI for scaffolding Express-style applications with controllers, models, routes, hooks, asset builds, Socket.io, Redis-backed sessions, and MongoDB/Waterline data layers.","directories":{"lib":"lib"},"_nodeVersion":"22.13.1","dependencies":{"ejs":"^5.0.2","cors":"^2.8.6","csrf":"^3.1.0","open":"^11.0.0","walk":"^2.3.15","async":"^3.2.6","axios":"^1.15.2","csurf":"^1.11.0","redis":"^5.10.0","lodash":"^4.18.1","throng":"^5.0.0","express":"^5.2.1","skipper":"^0.9.0","winston":"^3.19.0","fs-extra":"^11.3.2","passport":"^0.7.0","socket.io":"^4.8.3","waterline":"^0.15.2","jwt-simple":"^0.5.6","sails-disk":"^2.1.2","body-parser":"^2.2.2","sails-mongo":"^2.1.2","skipper-disk":"^0.5.12","connect-redis":"^9.0.0","cookie-parser":"^1.4.7","express-session":"^1.19.0","moment-timezone":"^0.6.2","express-http-proxy":"^2.1.2","@socket.io/redis-adapter":"^8.3.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"mocha":"^11.7.5"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_0.1.43_1777696629319_0.07414608374623066","host":"s3://npm-registry-packages-npm-production"}},"0.1.44":{"name":"cordovabox","version":"0.1.44","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@0.1.44","maintainers":[{"name":"derrekmc","email":"derrekmc@gmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"56ad1123b3db5cad217250266f181de9e888b52c","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-0.1.44.tgz","fileCount":84,"integrity":"sha512-NhG3s8sVZiHRMX6SjFC2UYSHUtgMoPcVJES/v0xnMFWlDxve29qDzKU/7nGd0Qa67BG0XjSmqIZSzL8ZfQb41Q==","signatures":[{"sig":"MEYCIQDDaJL0TAOQ6uQZR/Mj4l88NheOMDlrJrClgRT7Y8aW/wIhALh52SInrnlDrHAmSDYOTVGpKL7hivluNVg0RZI12Ok+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2883904},"main":"index.js","engines":{"node":">=22"},"gitHead":"f04c0c13959dfd1c0a24dfe0327e39f4a162154c","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests/index.js","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmc@gmail.com"},"_npmVersion":"10.9.2","description":"CordovaBox is a Node.js MVC framework and CLI for scaffolding Express-style applications with controllers, models, routes, hooks, asset builds, Socket.io, Redis-backed sessions, and MongoDB/Waterline data layers.","directories":{"lib":"lib"},"_nodeVersion":"22.13.1","dependencies":{"ejs":"^5.0.2","cors":"^2.8.6","csrf":"^3.1.0","open":"^11.0.0","walk":"^2.3.15","async":"^3.2.6","axios":"^1.15.2","csurf":"^1.11.0","redis":"^5.10.0","lodash":"^4.18.1","throng":"^5.0.0","express":"^5.2.1","skipper":"^0.9.0","winston":"^3.19.0","fs-extra":"^11.3.2","passport":"^0.7.0","socket.io":"^4.8.3","waterline":"^0.15.2","jwt-simple":"^0.5.6","sails-disk":"^2.1.2","body-parser":"^2.2.2","sails-mongo":"^2.1.2","skipper-disk":"^0.5.12","connect-redis":"^9.0.0","cookie-parser":"^1.4.7","express-session":"^1.19.0","moment-timezone":"^0.6.2","express-http-proxy":"^2.1.2","@socket.io/redis-adapter":"^8.3.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"mocha":"^11.7.5"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_0.1.44_1777698868003_0.2864544309644741","host":"s3://npm-registry-packages-npm-production"}},"0.1.45":{"name":"cordovabox","version":"0.1.45","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@0.1.45","maintainers":[{"name":"derrekmc","email":"derrekmc@gmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"eb50d1626f82fbe0c83db4962f9320d0e1d71424","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-0.1.45.tgz","fileCount":84,"integrity":"sha512-Ik80YUGJE1DVjmua2XY6alrZVXQvfvV8uFtYWxhalufJZu52lEilXubgggLkhuyxwJ/w76DATEmed8RPwoVH+A==","signatures":[{"sig":"MEYCIQDc357DyLWcn7pmPtO13EqhnUQS2lioK6ajNOZJSyqQmQIhANezEInHjhQJFNq0eG6kpG82gx1ZSSY0a0VtAvhSVJJm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2885392},"main":"index.js","engines":{"node":">=22"},"gitHead":"9507ff629380e4abb6f031b8cf45f2cd866849bc","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests/index.js","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmc@gmail.com"},"_npmVersion":"10.9.2","description":"CordovaBox is a Node.js MVC framework and CLI for scaffolding Express-style applications with controllers, models, routes, hooks, asset builds, Socket.io, Redis-backed sessions, and MongoDB/Waterline data layers.","directories":{"lib":"lib"},"_nodeVersion":"22.13.1","dependencies":{"ejs":"^5.0.2","cors":"^2.8.6","csrf":"^3.1.0","open":"^11.0.0","walk":"^2.3.15","async":"^3.2.6","axios":"^1.15.2","csurf":"^1.11.0","redis":"^5.10.0","lodash":"^4.18.1","throng":"^5.0.0","express":"^5.2.1","skipper":"^0.9.0","winston":"^3.19.0","fs-extra":"^11.3.2","passport":"^0.7.0","socket.io":"^4.8.3","waterline":"^0.15.2","jwt-simple":"^0.5.6","sails-disk":"^2.1.2","body-parser":"^2.2.2","sails-mongo":"^2.1.2","skipper-disk":"^0.5.12","connect-redis":"^9.0.0","cookie-parser":"^1.4.7","express-session":"^1.19.0","moment-timezone":"^0.6.2","express-http-proxy":"^2.1.2","@socket.io/redis-adapter":"^8.3.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"mocha":"^11.7.5"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_0.1.45_1777699815735_0.14977385584382952","host":"s3://npm-registry-packages-npm-production"}},"0.1.46":{"name":"cordovabox","version":"0.1.46","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@0.1.46","maintainers":[{"name":"derrekmc","email":"derrekmc@gmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"d80564e1ddea0ed1a37113ff2456ae1cb60c2281","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-0.1.46.tgz","fileCount":87,"integrity":"sha512-5/OKSPf7vS3XwOSDmrK9Y6VTu+A3cFLAD1tyWl3h6lKMCtmP97Ea1W9XntG0ZG09qSxtuiFgc6aSIfDaMl42vg==","signatures":[{"sig":"MEYCIQDSJ/IsQq/sSl20Vp6Xczv8RM1nlB9X46lHSHvGAKhkEAIhAIu0Pkpvghj6uQ39eRJwYp+KEkQawXcg701YS+Ik/ioj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2888926},"main":"index.js","engines":{"node":">=22"},"gitHead":"d1f79ef8932e153a383a8098ae6616a4f59ef946","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests/index.js","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmc@gmail.com"},"_npmVersion":"10.9.2","description":"CordovaBox is a Node.js MVC framework and CLI for scaffolding Express-style applications with controllers, models, routes, hooks, asset builds, Socket.io, Redis-backed sessions, and MongoDB/Waterline data layers.","directories":{"lib":"lib"},"_nodeVersion":"22.13.1","dependencies":{"ejs":"^5.0.2","cors":"^2.8.6","csrf":"^3.1.0","open":"^11.0.0","walk":"^2.3.15","async":"^3.2.6","axios":"^1.15.2","csurf":"^1.11.0","redis":"^5.10.0","lodash":"^4.18.1","throng":"^5.0.0","express":"^5.2.1","skipper":"^0.9.0","winston":"^3.19.0","fs-extra":"^11.3.2","passport":"^0.7.0","socket.io":"^4.8.3","waterline":"^0.15.2","jwt-simple":"^0.5.6","sails-disk":"^2.1.2","body-parser":"^2.2.2","sails-mongo":"^2.1.2","skipper-disk":"^0.5.12","connect-redis":"^9.0.0","cookie-parser":"^1.4.7","express-session":"^1.19.0","moment-timezone":"^0.6.2","express-http-proxy":"^2.1.2","@socket.io/redis-adapter":"^8.3.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"mocha":"^11.7.5"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_0.1.46_1777701076232_0.8706500424058363","host":"s3://npm-registry-packages-npm-production"}},"0.1.47":{"name":"cordovabox","version":"0.1.47","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@0.1.47","maintainers":[{"name":"derrekmc","email":"derrekmc@gmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"57f4b1f3f633b629a19bda3d759bba2fe6ed2836","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-0.1.47.tgz","fileCount":143,"integrity":"sha512-MujAwvcBEG4mW+ZeNCFQrw5EfxO5wnxzGaMeqrN0aJp95ow/FHuSfznuz+x8tgxgp6bD3Ql5kOifsMQecjFBeA==","signatures":[{"sig":"MEQCIC2oOIEFT3xASmcWiHvoR8tAiBO3p2XkVtJ3qW/4uzeiAiAYnUioz01TGPr6iAHCPuPi8wjuZKvqJdJv9YneX7Pa7Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5681474},"main":"index.js","engines":{"node":">=22"},"gitHead":"59b3458c10dd1b732c6169992acaf2fa0d6c1202","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests/index.js","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmc@gmail.com"},"_npmVersion":"10.9.2","description":"CordovaBox is a Node.js MVC framework and CLI for scaffolding Express-style applications with controllers, models, routes, hooks, asset builds, Socket.io, Redis-backed sessions, and MongoDB/Waterline data layers.","directories":{"lib":"lib"},"_nodeVersion":"22.13.1","dependencies":{"ejs":"^5.0.2","cors":"^2.8.6","csrf":"^3.1.0","open":"^11.0.0","walk":"^2.3.15","async":"^3.2.6","axios":"^1.15.2","csurf":"^1.11.0","redis":"^5.10.0","lodash":"^4.18.1","throng":"^5.0.0","express":"^5.2.1","skipper":"^0.9.0","winston":"^3.19.0","fs-extra":"^11.3.2","passport":"^0.7.0","socket.io":"^4.8.3","waterline":"^0.15.2","jwt-simple":"^0.5.6","sails-disk":"^2.1.2","body-parser":"^2.2.2","sails-mongo":"^2.1.2","skipper-disk":"^0.5.12","connect-redis":"^9.0.0","cookie-parser":"^1.4.7","express-session":"^1.19.0","moment-timezone":"^0.6.2","express-http-proxy":"^2.1.2","@socket.io/redis-adapter":"^8.3.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"mocha":"^11.7.5"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_0.1.47_1777702914734_0.15446292771502934","host":"s3://npm-registry-packages-npm-production"}},"0.1.48":{"name":"cordovabox","version":"0.1.48","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@0.1.48","maintainers":[{"name":"derrekmc","email":"derrekmc@gmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"b659e8dd42cd2272e5a507b11c33de8e43659c90","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-0.1.48.tgz","fileCount":144,"integrity":"sha512-6iDcaMTeyFYEERcA9bjECuOR0gqXSXVvU6tmiwfzwUtyYrmheflJtb8Xxq3Jz5ahea+QLVJnDKWG/erDtBUIQg==","signatures":[{"sig":"MEQCIHfdk+lckGRnIu2DeZCY/FkZjKvuEjLmE+VgNKQZaDHAAiA3DiFhOIdIgWQzDu6enhhQD6ozBHbqR6uGeIaGdYIRDA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5686415},"main":"index.js","engines":{"node":">=22"},"gitHead":"60759c5cd109a0fb2e676c37e5b21838e81f443a","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests/index.js","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmc@gmail.com"},"_npmVersion":"10.9.2","description":"CordovaBox is a Node.js MVC framework and CLI for scaffolding Express-style applications with controllers, models, routes, hooks, asset builds, Socket.io, Redis-backed sessions, and MongoDB/Waterline data layers.","directories":{"lib":"lib"},"_nodeVersion":"22.13.1","dependencies":{"ejs":"^5.0.2","cors":"^2.8.6","csrf":"^3.1.0","open":"^11.0.0","walk":"^2.3.15","async":"^3.2.6","axios":"^1.15.2","csurf":"^1.11.0","redis":"^5.10.0","lodash":"^4.18.1","throng":"^5.0.0","express":"^5.2.1","skipper":"^0.9.0","winston":"^3.19.0","fs-extra":"^11.3.2","passport":"^0.7.0","socket.io":"^4.8.3","waterline":"^0.15.2","jwt-simple":"^0.5.6","sails-disk":"^2.1.2","body-parser":"^2.2.2","sails-mongo":"^2.1.2","skipper-disk":"^0.5.12","connect-redis":"^9.0.0","cookie-parser":"^1.4.7","express-session":"^1.19.0","moment-timezone":"^0.6.2","express-http-proxy":"^2.1.2","@socket.io/redis-adapter":"^8.3.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"mocha":"^11.7.5"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_0.1.48_1777704208311_0.5636365843285205","host":"s3://npm-registry-packages-npm-production"}},"0.1.49":{"name":"cordovabox","version":"0.1.49","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@0.1.49","maintainers":[{"name":"derrekmc","email":"derrekmc@gmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"a9d20318717eae1140a0161a3ad58447245b06cb","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-0.1.49.tgz","fileCount":95,"integrity":"sha512-N4ZrM1iAYk+Q7q7+KpRQAktLcifueHg933QQboIUT02NUO7aRaGbx3K2++o+5bkhyKqUg/tEiie/wf1xcr58ug==","signatures":[{"sig":"MEUCICEKrI76didH31NtF3yqdVLm3WTWg0+Qo6Hrx0P8aBKrAiEA3H5tJXY3eqvivl9eCBpL2eSkYStCZYlT2ktKLYgAqJM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2951908},"main":"index.js","engines":{"node":">=22"},"gitHead":"284121015bb9d3442a023168402d5c8a83fade76","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests/index.js","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmc@gmail.com"},"_npmVersion":"10.9.2","description":"CordovaBox is a Node.js MVC framework and CLI for scaffolding Express-style applications with controllers, models, routes, hooks, asset builds, Socket.io, Redis-backed sessions, and MongoDB/Waterline data layers.","directories":{"lib":"lib"},"_nodeVersion":"22.13.1","dependencies":{"ejs":"^5.0.2","cors":"^2.8.6","csrf":"^3.1.0","open":"^11.0.0","walk":"^2.3.15","async":"^3.2.6","axios":"^1.15.2","csurf":"^1.11.0","redis":"^5.10.0","lodash":"^4.18.1","throng":"^5.0.0","express":"^5.2.1","skipper":"^0.9.0","winston":"^3.19.0","fs-extra":"^11.3.2","passport":"^0.7.0","socket.io":"^4.8.3","waterline":"^0.15.2","jwt-simple":"^0.5.6","sails-disk":"^2.1.2","body-parser":"^2.2.2","sails-mongo":"^2.1.2","skipper-disk":"^0.5.12","connect-redis":"^9.0.0","cookie-parser":"^1.4.7","express-session":"^1.19.0","moment-timezone":"^0.6.2","express-http-proxy":"^2.1.2","@socket.io/redis-adapter":"^8.3.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"mocha":"^11.7.5"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_0.1.49_1777736709980_0.33111381508596294","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"cordovabox","version":"1.0.0","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@1.0.0","maintainers":[{"name":"derrekmc","email":"derrekmc@gmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"df3f2da9ddc89d6304069ef8b25b9b414dedef8a","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-1.0.0.tgz","fileCount":94,"integrity":"sha512-skIlVCETGfemA5+6wnopKLJZyXPAgGiXs8e/WKMfuvTsNKtPk23So5A9B5yBFe6CjHDA6xDsbelMGmXz0bR/yQ==","signatures":[{"sig":"MEYCIQCdhS/8fkAgeoPPgihkAAjCFIjxfTMtkGd3J2buPOFfgQIhAJ6L/1ujk996sCehPwwFEDc13qm2Q7pk148xDAjWbrTk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2951398},"main":"index.js","engines":{"node":">=22"},"gitHead":"cbcf8b52f1dffff1653a7ed4ad12ae8199698fe7","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmc@gmail.com"},"_npmVersion":"10.9.2","description":"CordovaBox is a Node.js MVC framework and CLI for scaffolding Express-style applications with controllers, models, routes, hooks, asset builds, Socket.io, Redis-backed sessions, and MongoDB/Waterline data layers.","directories":{"lib":"lib"},"_nodeVersion":"22.13.1","dependencies":{"ejs":"^5.0.2","cors":"^2.8.6","csrf":"^3.1.0","open":"^11.0.0","walk":"^2.3.15","async":"^3.2.6","axios":"^1.15.2","csurf":"^1.11.0","redis":"^5.10.0","lodash":"^4.18.1","throng":"^5.0.0","express":"^5.2.1","skipper":"^0.9.0","winston":"^3.19.0","fs-extra":"^11.3.2","passport":"^0.7.0","socket.io":"^4.8.3","waterline":"^0.15.2","jwt-simple":"^0.5.6","sails-disk":"^2.1.2","body-parser":"^2.2.2","sails-mongo":"^2.1.2","skipper-disk":"^0.5.12","connect-redis":"^9.0.0","cookie-parser":"^1.4.7","express-session":"^1.19.0","moment-timezone":"^0.6.2","express-http-proxy":"^2.1.2","@socket.io/redis-adapter":"^8.3.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"mocha":"^11.7.5"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_1.0.0_1777738680774_0.9809133850625769","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"cordovabox","version":"1.0.1","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@1.0.1","maintainers":[{"name":"derrekmc","email":"derrekmc@gmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"357473696fa1e76f70e927aed7430ce2811e8268","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-1.0.1.tgz","fileCount":95,"integrity":"sha512-4B1GtOc1eHckvCuoA55Z64y16z46FPuLx7NLafUX33qeOaC8CflxcgtJr0KfeTkFAkwwnqpKtLUkTaJDMPo1jg==","signatures":[{"sig":"MEUCIQDOSvkX8P7T9e6EuUZmU7aJsC1YgC2xDy/OHfSMp85o+gIgTPspTwNvpoF0MtbjZ2IlMN/eGhI0L1NYR9VclVH/fOA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2954198},"main":"index.js","engines":{"node":">=22"},"gitHead":"9b803bb20f5b107cfdfe028f8a3eb91788548041","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmc@gmail.com"},"_npmVersion":"10.9.2","description":"CordovaBox is a Node.js MVC framework and CLI for scaffolding Express-style applications with controllers, models, routes, hooks, asset builds, Socket.io, Redis-backed sessions, and MongoDB/Waterline data layers.","directories":{"lib":"lib"},"_nodeVersion":"22.13.1","dependencies":{"ejs":"^5.0.2","cors":"^2.8.6","csrf":"^3.1.0","open":"^11.0.0","walk":"^2.3.15","async":"^3.2.6","axios":"^1.15.2","csurf":"^1.11.0","redis":"^5.10.0","lodash":"^4.18.1","throng":"^5.0.0","express":"^5.2.1","skipper":"^0.9.0","winston":"^3.19.0","fs-extra":"^11.3.2","passport":"^0.7.0","socket.io":"^4.8.3","waterline":"^0.15.2","jwt-simple":"^0.5.6","sails-disk":"^2.1.2","body-parser":"^2.2.2","sails-mongo":"^2.1.2","skipper-disk":"^0.5.12","connect-redis":"^9.0.0","cookie-parser":"^1.4.7","express-session":"^1.19.0","moment-timezone":"^0.6.2","express-http-proxy":"^2.1.2","@socket.io/redis-adapter":"^8.3.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"mocha":"^11.7.5"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_1.0.1_1777739866858_0.19612295208806074","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"cordovabox","version":"1.0.2","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@1.0.2","maintainers":[{"name":"derrekmc","email":"derrekmc@gmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"e05cd9272d3e890cd4b4cac7416a4ccd4236b6a7","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-1.0.2.tgz","fileCount":95,"integrity":"sha512-QfYc8qgBSZ0TwD+MYx/aSyRaWaYpv5vVaJDsc291E9kkcgsKryFfe4DwNVcsoC/McuDlq5ItZP4O9TqyUp5HtQ==","signatures":[{"sig":"MEQCIFNAvEoMORlUCWmgcZBNDiR9+sp/6+ltIuqKQRyjg41AAiBUZh858nhuFrfXpNZZaT2F95J0wcxJ2/PV5ERLgFkcsg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2447744},"main":"index.js","engines":{"node":">=22"},"gitHead":"74195b3f2a93dd975b6578d5f2bdf35c37c6ced4","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmc@gmail.com"},"overrides":{"mocha":{"diff":"^8.0.3","serialize-javascript":"^7.0.5"},"sails-mongo":{"qs":"^6.15.1"}},"_npmVersion":"10.9.2","description":"CordovaBox is a Node.js MVC framework and CLI for scaffolding Express-style applications with controllers, models, routes, hooks, asset builds, Socket.io, Redis-backed sessions, and MongoDB/Waterline data layers.","directories":{"lib":"lib"},"_nodeVersion":"22.13.1","dependencies":{"ejs":"^5.0.2","cors":"^2.8.6","csrf":"^3.1.0","open":"^11.0.0","walk":"^2.3.15","async":"^3.2.6","axios":"^1.16.0","redis":"^5.10.0","lodash":"^4.18.1","multer":"^2.1.1","throng":"^5.0.0","express":"^5.2.1","winston":"^3.19.0","fs-extra":"^11.3.2","passport":"^0.7.0","socket.io":"^4.8.3","waterline":"^0.15.2","jwt-simple":"^0.5.6","sails-disk":"^2.1.2","sails-mongo":"^2.1.2","connect-redis":"^9.0.0","cookie-parser":"^1.4.7","express-session":"^1.19.0","moment-timezone":"^0.6.2","express-http-proxy":"^2.1.2","@socket.io/redis-adapter":"^8.3.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"mocha":"^11.7.5"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_1.0.2_1777742133148_0.41624718354247947","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"cordovabox","version":"1.0.3","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@1.0.3","maintainers":[{"name":"derrekmc","email":"derrekmc@gmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"9a2d01344a31724373f632af575a7b647cdbdea8","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-1.0.3.tgz","fileCount":97,"integrity":"sha512-/kCQQ53jaQbvtyaeaM4ugbcrjNnCiZZ59EdXLWZXJUR2EGYXxH8e1mYIaxhvzyaEfQ/6N62eXYjGO+NCogtnXQ==","signatures":[{"sig":"MEUCIGaUtRTb0I37aBo5Ra6/LouEVDnaHCcHU/0e7um69+mLAiEAkh5EbIrIqbAoXTf+OEPq+h6ztj7LiD6gxztMWKrmZbc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2459551},"main":"index.js","engines":{"node":">=22"},"gitHead":"5aaae00d0794ee589e05f09ca8e1fea6a72ee51a","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmc@gmail.com"},"overrides":{"mocha":{"diff":"^8.0.3","serialize-javascript":"^7.0.5"},"sails-mongo":{"qs":"^6.15.1"}},"_npmVersion":"10.9.2","description":"CordovaBox is a Node.js MVC framework and CLI for scaffolding Express-style applications with controllers, models, routes, hooks, asset builds, Socket.io, Redis-backed sessions, and MongoDB/Waterline data layers.","directories":{"lib":"lib"},"_nodeVersion":"22.13.1","dependencies":{"ejs":"^5.0.2","cors":"^2.8.6","csrf":"^3.1.0","open":"^11.0.0","walk":"^2.3.15","async":"^3.2.6","axios":"^1.16.0","redis":"^5.10.0","lodash":"^4.18.1","multer":"^2.1.1","throng":"^5.0.0","express":"^5.2.1","winston":"^3.19.0","fs-extra":"^11.3.2","passport":"^0.7.0","socket.io":"^4.8.3","waterline":"^0.15.2","jwt-simple":"^0.5.6","sails-disk":"^2.1.2","sails-mongo":"^2.1.2","connect-redis":"^9.0.0","cookie-parser":"^1.4.7","express-session":"^1.19.0","moment-timezone":"^0.6.2","express-http-proxy":"^2.1.2","@socket.io/redis-adapter":"^8.3.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"mocha":"^11.7.5"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_1.0.3_1777744363877_0.9240712619703939","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"cordovabox","version":"1.0.4","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@1.0.4","maintainers":[{"name":"derrekmc","email":"derrekmc@gmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"d1f27240f0686b6e96866d2c826476c6307482dd","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-1.0.4.tgz","fileCount":97,"integrity":"sha512-kWk6qGDH7Bf3a/9utQUq/OPVYNE1gWY/PFZ3wTJQrDQYcjosbsmr9VSsDqh17ovvJ3/WzTO52hEk0dILISD0BQ==","signatures":[{"sig":"MEYCIQCGe8tF0b4602kCekg5+nFGvNfj29xMiFb9/F3yVQnS6wIhAJMa5ESna75ZNnLZZgnnY1oV6aHtqxr1oV8wbCZu6jbz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1640854},"main":"index.js","engines":{"node":">=22"},"gitHead":"0cc345a2d85e06cdd653d9c3247d383a7ae27538","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmc@gmail.com"},"overrides":{"mocha":{"diff":"^8.0.3","serialize-javascript":"^7.0.5"},"sails-mongo":{"qs":"^6.15.1"}},"_npmVersion":"10.9.2","description":"CordovaBox is a Node.js MVC framework and CLI for scaffolding Express-style applications with controllers, models, routes, hooks, asset builds, Socket.io, Redis-backed sessions, and MongoDB/Waterline data layers.","directories":{"lib":"lib"},"_nodeVersion":"22.13.1","dependencies":{"ejs":"^5.0.2","cors":"^2.8.6","csrf":"^3.1.0","open":"^11.0.0","walk":"^2.3.15","async":"^3.2.6","axios":"^1.16.0","redis":"^5.10.0","lodash":"^4.18.1","multer":"^2.1.1","throng":"^5.0.0","express":"^5.2.1","winston":"^3.19.0","fs-extra":"^11.3.2","passport":"^0.7.0","socket.io":"^4.8.3","waterline":"^0.15.2","jwt-simple":"^0.5.6","sails-disk":"^2.1.2","sails-mongo":"^2.1.2","connect-redis":"^9.0.0","cookie-parser":"^1.4.7","express-session":"^1.19.0","moment-timezone":"^0.6.2","express-http-proxy":"^2.1.2","@socket.io/redis-adapter":"^8.3.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"mocha":"^11.7.5"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_1.0.4_1777747946276_0.19470737817648232","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"cordovabox","version":"1.0.5","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@1.0.5","maintainers":[{"name":"derrekmc","email":"derrekmc@gmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"6ce17c5400a97e57cde0d61d583877368c02f999","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-1.0.5.tgz","fileCount":97,"integrity":"sha512-mvRa4xeF6iTTRziqFRFhwNn6FFwEbwZsH7hpd67HCLh7HCj7XZ+YEge7akAhUIjH9YBWcZcMWeygTlIkyAZ8qg==","signatures":[{"sig":"MEYCIQDikJKrVLRBmCGUHKQ1ywfoyCKh+PJsX9kOeJQEzSkxTAIhANit9uJqLBwAsckBFEvpOXorQ1scY4Yx8jX2/xYPPsmz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1641424},"main":"index.js","engines":{"node":">=22"},"gitHead":"e8d6ceb7ae390ad766cffc1fd4870b9dd48b15c0","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmc@gmail.com"},"overrides":{"mocha":{"diff":"^8.0.3","serialize-javascript":"^7.0.5"},"sails-mongo":{"qs":"^6.15.1"}},"_npmVersion":"10.9.2","description":"CordovaBox is a Node.js MVC framework and CLI for scaffolding Express-style applications with controllers, models, routes, hooks, asset builds, Socket.io, Redis-backed sessions, and MongoDB/Waterline data layers.","directories":{"lib":"lib"},"_nodeVersion":"22.13.1","dependencies":{"ejs":"^5.0.2","cors":"^2.8.6","csrf":"^3.1.0","open":"^11.0.0","walk":"^2.3.15","async":"^3.2.6","axios":"^1.16.0","redis":"^5.10.0","lodash":"^4.18.1","multer":"^2.1.1","throng":"^5.0.0","express":"^5.2.1","winston":"^3.19.0","fs-extra":"^11.3.2","passport":"^0.7.0","socket.io":"^4.8.3","waterline":"^0.15.2","jwt-simple":"^0.5.6","sails-disk":"^2.1.2","sails-mongo":"^2.1.2","connect-redis":"^9.0.0","cookie-parser":"^1.4.7","express-session":"^1.19.0","moment-timezone":"^0.6.2","express-http-proxy":"^2.1.2","@socket.io/redis-adapter":"^8.3.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"mocha":"^11.7.5"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_1.0.5_1777749669605_0.9530293719396985","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"cordovabox","version":"1.0.6","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@1.0.6","maintainers":[{"name":"derrekmc","email":"derrekmc@gmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"0e4875d1544dfec97135d11e153c889b404fd9ef","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-1.0.6.tgz","fileCount":99,"integrity":"sha512-V9O8wi2jXrGw78HFS4vl6Al4cLDjJCMACoH0I+kDQS8eUUsl8yxdjWkFkwiZjbqFIWNdgwOtRUaviouKOjDwCQ==","signatures":[{"sig":"MEQCIFBz0kuf0zW69kX6YvZYwnQh/y+aPvA0ChqnAmTEx1stAiALuGww8bpN3dgl2YpqUpVMyApZx3YjYXWXe0TZtUTE+Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1659322},"main":"index.js","engines":{"node":">=22"},"gitHead":"f11b6fea3f03f708633cbb25a08bdbd17c7fac0f","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmc@gmail.com"},"overrides":{"mocha":{"diff":"^8.0.3","serialize-javascript":"^7.0.5"},"sails-mongo":{"qs":"^6.15.1"}},"_npmVersion":"10.9.2","description":"CordovaBox is a Node.js MVC framework and CLI for scaffolding Express-style applications with controllers, models, routes, hooks, asset builds, Socket.io, Redis-backed sessions, and MongoDB/Waterline data layers.","directories":{"lib":"lib"},"_nodeVersion":"22.13.1","dependencies":{"ejs":"^5.0.2","cors":"^2.8.6","csrf":"^3.1.0","open":"^11.0.0","walk":"^2.3.15","async":"^3.2.6","axios":"^1.16.0","redis":"^5.10.0","lodash":"^4.18.1","multer":"^2.1.1","throng":"^5.0.0","express":"^5.2.1","winston":"^3.19.0","fs-extra":"^11.3.2","passport":"^0.7.0","socket.io":"^4.8.3","waterline":"^0.15.2","jwt-simple":"^0.5.6","sails-disk":"^2.1.2","sails-mongo":"^2.1.2","connect-redis":"^9.0.0","cookie-parser":"^1.4.7","express-session":"^1.19.0","moment-timezone":"^0.6.2","express-http-proxy":"^2.1.2","@socket.io/redis-adapter":"^8.3.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"mocha":"^11.7.5"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_1.0.6_1777751076667_0.08915081781835621","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"cordovabox","version":"1.1.0","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@1.1.0","maintainers":[{"name":"derrekmc","email":"derrekmc@gmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"9b30e34d1df36f0a6a570e77e65f7dee48c563e4","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-1.1.0.tgz","fileCount":101,"integrity":"sha512-WAxBHm0r62tAlXbJzJzK4h9tlJx6FzweiX9UOjjGEnvYIdkFZeb9TqBRMc5F3963dKJ6CHXPuFmZntt3bIgLmA==","signatures":[{"sig":"MEYCIQDHLLhj7jhptxqSUyGk8/S79WIcvo/DZ3GWAUGAuY7nHAIhAKNrTQbIjbhfJ7fjVfzJrTcRXFKFpdC+U8zU0c7sbMDE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1686209},"main":"index.js","engines":{"node":">=22"},"gitHead":"14a3b8438b625478593f3b2cb2f595d000931c45","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmc@gmail.com"},"overrides":{"mocha":{"diff":"^8.0.3","serialize-javascript":"^7.0.5"},"sails-mongo":{"qs":"^6.15.1"}},"_npmVersion":"10.9.2","description":"CordovaBox is a Node.js MVC framework and CLI for scaffolding Express-style applications with controllers, models, routes, hooks, asset builds, Socket.io, Redis-backed sessions, and MongoDB/Waterline data layers.","directories":{"lib":"lib"},"_nodeVersion":"22.13.1","dependencies":{"ejs":"^5.0.2","cors":"^2.8.6","csrf":"^3.1.0","open":"^11.0.0","walk":"^2.3.15","async":"^3.2.6","axios":"^1.16.0","redis":"^5.10.0","lodash":"^4.18.1","multer":"^2.1.1","throng":"^5.0.0","express":"^5.2.1","winston":"^3.19.0","fs-extra":"^11.3.2","passport":"^0.7.0","socket.io":"^4.8.3","waterline":"^0.15.2","jwt-simple":"^0.5.6","sails-disk":"^2.1.2","sails-mongo":"^2.1.2","connect-redis":"^9.0.0","cookie-parser":"^1.4.7","express-session":"^1.19.0","moment-timezone":"^0.6.2","express-http-proxy":"^2.1.2","@socket.io/redis-adapter":"^8.3.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"mocha":"^11.7.5"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_1.1.0_1777753168661_0.6709219406181597","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"cordovabox","version":"1.1.1","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@1.1.1","maintainers":[{"name":"derrekmc","email":"derrekmc@gmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"aaca8fe023537838d4701f90d02e389b0d998946","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-1.1.1.tgz","fileCount":101,"integrity":"sha512-okRa/d6IufVUJJCtHI6LH813oSSyLb9rLThBFT0mKhsdml69H22qnD4VvuWthVmdSesKimJvrrwcGIUfmTMaoA==","signatures":[{"sig":"MEYCIQC7x2gpMWLEPWLNvGGVGm204BgH6mXEG6dcZ2GIQShtvAIhAJ5InvrbFc8IzYvFThjY3VAXOcR4Qi+IzfwUYEGmnha4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1691887},"main":"index.js","engines":{"node":">=22"},"gitHead":"69a768457956ab3a4ccbe0bec658f6beae1e3f8b","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmc@gmail.com"},"overrides":{"mocha":{"diff":"^8.0.3","serialize-javascript":"^7.0.5"},"sails-mongo":{"qs":"^6.15.1"}},"_npmVersion":"10.9.2","description":"CordovaBox is a Node.js MVC framework and CLI for scaffolding Express-style applications with controllers, models, routes, hooks, asset builds, Socket.io, Redis-backed sessions, and MongoDB/Waterline data layers.","directories":{"lib":"lib"},"_nodeVersion":"22.13.1","dependencies":{"ejs":"^5.0.2","cors":"^2.8.6","csrf":"^3.1.0","open":"^11.0.0","walk":"^2.3.15","async":"^3.2.6","axios":"^1.16.0","redis":"^5.10.0","lodash":"^4.18.1","multer":"^2.1.1","throng":"^5.0.0","express":"^5.2.1","winston":"^3.19.0","fs-extra":"^11.3.2","passport":"^0.7.0","socket.io":"^4.8.3","waterline":"^0.15.2","jwt-simple":"^0.5.6","sails-disk":"^2.1.2","sails-mongo":"^2.1.2","connect-redis":"^9.0.0","cookie-parser":"^1.4.7","express-session":"^1.19.0","moment-timezone":"^0.6.2","express-http-proxy":"^2.1.2","@socket.io/redis-adapter":"^8.3.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"mocha":"^11.7.5"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_1.1.1_1777756481173_0.07636078229484555","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"cordovabox","version":"1.1.2","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@1.1.2","maintainers":[{"name":"derrekmc","email":"derrekmc@gmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"81148dc37c78fddf17523ec142eba5e84d554854","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-1.1.2.tgz","fileCount":101,"integrity":"sha512-vz0KfHpYxTH619Qyq4U9OUeAA8QF7HHCw5wpyoePMSydQHntq9YEy6981aM75dtBu7EnE1B6gjrO56hjynIvMA==","signatures":[{"sig":"MEYCIQCECU6sPdbLpqqxvHNjjgAduxnXiNPWp5eoaL+tG7CFJAIhAPOaTS/AQC/igIn9x94bQATJTmBtGVOMVDQx5IV911MK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1692429},"main":"index.js","engines":{"node":">=22"},"gitHead":"c5fbd8282a6999fa47fb9fdb9ec0fa0e27ce6aac","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmc@gmail.com"},"overrides":{"mocha":{"diff":"^8.0.3","serialize-javascript":"^7.0.5"},"sails-mongo":{"qs":"^6.15.1"}},"_npmVersion":"10.9.2","description":"CordovaBox is a Node.js MVC framework and CLI for scaffolding Express-style applications with controllers, models, routes, hooks, asset builds, Socket.io, Redis-backed sessions, and MongoDB/Waterline data layers.","directories":{"lib":"lib"},"_nodeVersion":"22.13.1","dependencies":{"ejs":"^5.0.2","cors":"^2.8.6","csrf":"^3.1.0","open":"^11.0.0","walk":"^2.3.15","async":"^3.2.6","axios":"^1.16.0","redis":"^5.10.0","lodash":"^4.18.1","multer":"^2.1.1","throng":"^5.0.0","express":"^5.2.1","winston":"^3.19.0","fs-extra":"^11.3.2","passport":"^0.7.0","socket.io":"^4.8.3","waterline":"^0.15.2","jwt-simple":"^0.5.6","sails-disk":"^2.1.2","sails-mongo":"^2.1.2","connect-redis":"^9.0.0","cookie-parser":"^1.4.7","express-session":"^1.19.0","moment-timezone":"^0.6.2","express-http-proxy":"^2.1.2","@socket.io/redis-adapter":"^8.3.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"mocha":"^11.7.5"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_1.1.2_1777757803219_0.7259557327810833","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"cordovabox","version":"1.1.3","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@1.1.3","maintainers":[{"name":"derrekmc","email":"derrekmc@gmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"e6820c0669ecbe7659d16d45c20e3bbe1000418b","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-1.1.3.tgz","fileCount":105,"integrity":"sha512-twpH6AvLPoxRRxX1FLy4aIZcEQVmHpwseKA2Kj3tU1SaLmDIImbU48WSWzSqfXYjt1oeWCE8ybFXXJQ77jxeDQ==","signatures":[{"sig":"MEUCIQC+D7SzbRuVxbmeQTRNjg2g7KoibPieG4fiopSzFDXD6wIgawsA/cvSMSC80c54UYglMUURA9DSc3FRRqy33yEMIUs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1728890},"main":"index.js","engines":{"node":">=22"},"gitHead":"197daa71d81c2e2788116c47a7b34d50937d0fb5","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmc@gmail.com"},"overrides":{"mocha":{"diff":"^8.0.3","serialize-javascript":"^7.0.5"},"sails-mongo":{"qs":"^6.15.1"}},"_npmVersion":"10.9.2","description":"CordovaBox is a Node.js MVC framework and CLI for scaffolding Express-style applications with controllers, models, routes, hooks, asset builds, Socket.io, Redis-backed sessions, and MongoDB/Waterline data layers.","directories":{"lib":"lib"},"_nodeVersion":"22.13.1","dependencies":{"ejs":"^5.0.2","cors":"^2.8.6","csrf":"^3.1.0","open":"^11.0.0","walk":"^2.3.15","async":"^3.2.6","axios":"^1.16.0","redis":"^5.10.0","lodash":"^4.18.1","multer":"^2.1.1","throng":"^5.0.0","express":"^5.2.1","winston":"^3.19.0","fs-extra":"^11.3.2","passport":"^0.7.0","socket.io":"^4.8.3","waterline":"^0.15.2","jwt-simple":"^0.5.6","sails-disk":"^2.1.2","sails-mongo":"^2.1.2","connect-redis":"^9.0.0","cookie-parser":"^1.4.7","express-session":"^1.19.0","moment-timezone":"^0.6.2","express-http-proxy":"^2.1.2","@socket.io/redis-adapter":"^8.3.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"mocha":"^11.7.5"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_1.1.3_1777768036019_0.13241637078226698","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"cordovabox","version":"1.1.4","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@1.1.4","maintainers":[{"name":"derrekmc","email":"derrekmc@gmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"78ec63dbabfb463e8c1a08e72431759121b28176","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-1.1.4.tgz","fileCount":207,"integrity":"sha512-Vuq2eJ1DXABwOvR8Ncr69LRaMcgiLQJnVEHUeKJP5XXhWqgX5VmBRgYidewrZJ5t8fqBbjYGgQHQIFCnJSYrCA==","signatures":[{"sig":"MEQCIAtrk1VLC7ewlxDEs8BHwzENjDX9orYh/isa6rElXsr8AiAsEiJs4lWD7GkLTowPsUiiQ5E2x6g+rYRHs6qtYJ/YNw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4752280},"main":"index.js","engines":{"node":">=22"},"gitHead":"1b47a01d328647d43672d926502ada68990be58b","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmc@gmail.com"},"overrides":{"mocha":{"diff":"^8.0.3","serialize-javascript":"^7.0.5"},"sails-mongo":{"qs":"^6.15.1"}},"_npmVersion":"10.9.2","description":"CordovaBox is a Node.js MVC framework and CLI for scaffolding Express-style applications with controllers, models, routes, hooks, asset builds, Socket.io, Redis-backed sessions, and MongoDB/Waterline data layers.","directories":{"lib":"lib"},"_nodeVersion":"22.13.1","dependencies":{"ejs":"^5.0.2","cors":"^2.8.6","csrf":"^3.1.0","open":"^11.0.0","walk":"^2.3.15","async":"^3.2.6","axios":"^1.16.0","redis":"^5.10.0","lodash":"^4.18.1","multer":"^2.1.1","throng":"^5.0.0","express":"^5.2.1","winston":"^3.19.0","fs-extra":"^11.3.2","passport":"^0.7.0","socket.io":"^4.8.3","waterline":"^0.15.2","jwt-simple":"^0.5.6","sails-disk":"^2.1.2","sails-mongo":"^2.1.2","connect-redis":"^9.0.0","cookie-parser":"^1.4.7","express-session":"^1.19.0","moment-timezone":"^0.6.2","express-http-proxy":"^2.1.2","@socket.io/redis-adapter":"^8.3.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"mocha":"^11.7.5"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_1.1.4_1777775150063_0.4857507398047778","host":"s3://npm-registry-packages-npm-production"}},"1.1.5":{"name":"cordovabox","version":"1.1.5","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@1.1.5","maintainers":[{"name":"derrekmc","email":"derrekmc@gmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"417c9e3d70dce6fae9db65044ed6324a3953f0ec","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-1.1.5.tgz","fileCount":208,"integrity":"sha512-yz46STBTjmlgpbdoVBvXIHTwWJrO1hM02+7IkjCuIEwnoqmYBzh+LXHXxA4NwaR/V90eX10Vacv8gOVRel37yg==","signatures":[{"sig":"MEUCIQCK78Z6uSYk2eiJZnisGD+eJS1IqDFjsZGSoUx14683rAIgb10T+gQGyR0LTvUm4fgdxeKaWF7qYeVSVpdoYhA5Bgs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4769517},"main":"index.js","engines":{"node":">=22"},"gitHead":"d14d7312835ce267ba138f0de272257f8e71ef94","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmc@gmail.com"},"overrides":{"mocha":{"diff":"^8.0.3","serialize-javascript":"^7.0.5"},"sails-mongo":{"qs":"^6.15.1"}},"_npmVersion":"10.9.2","description":"CordovaBox is a Node.js MVC framework and CLI for scaffolding Express-style applications with controllers, models, routes, hooks, asset builds, Socket.io, Redis-backed sessions, and MongoDB/Waterline data layers.","directories":{"lib":"lib"},"_nodeVersion":"22.13.1","dependencies":{"ejs":"^5.0.2","cors":"^2.8.6","csrf":"^3.1.0","open":"^11.0.0","walk":"^2.3.15","async":"^3.2.6","axios":"^1.16.0","redis":"^5.10.0","lodash":"^4.18.1","multer":"^2.1.1","throng":"^5.0.0","express":"^5.2.1","winston":"^3.19.0","fs-extra":"^11.3.2","passport":"^0.7.0","socket.io":"^4.8.3","waterline":"^0.15.2","jwt-simple":"^0.5.6","sails-disk":"^2.1.2","sails-mongo":"^2.1.2","connect-redis":"^9.0.0","cookie-parser":"^1.4.7","express-session":"^1.19.0","moment-timezone":"^0.6.2","express-http-proxy":"^2.1.2","@socket.io/redis-adapter":"^8.3.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"mocha":"^11.7.5"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_1.1.5_1777778597309_0.5313740825063351","host":"s3://npm-registry-packages-npm-production"}},"1.1.6":{"name":"cordovabox","version":"1.1.6","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@1.1.6","maintainers":[{"name":"derrekmc","email":"derrekmc@gmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"08c29466d237cf2efa941d5000c54087323b5acb","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-1.1.6.tgz","fileCount":208,"integrity":"sha512-7LLPtLwOG76ghVk6mDpZPmpEjl3vg1zc8GAPNHbFlXJ1QVL36XFFeig7lQPkqNKMj4Q6lqnu4nYsIoNEYmd2nw==","signatures":[{"sig":"MEUCIQCYRpIrsZz/9jH7xrwZvDuZ46Z5t/uwuKKYXUZph/8n3gIgKcaamx6G50OdSC5OGkpzmzksWCkk3MnUbdPESNO4vck=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4776719},"main":"index.js","engines":{"node":">=22"},"gitHead":"1c4309a8e416ad4c7b8aecf34556f414c6491a5d","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmc@gmail.com"},"overrides":{"mocha":{"diff":"^8.0.3","serialize-javascript":"^7.0.5"},"sails-mongo":{"qs":"^6.15.1"}},"_npmVersion":"10.9.2","description":"CordovaBox is a Node.js MVC framework and CLI for scaffolding Express-style applications with controllers, models, routes, hooks, asset builds, Socket.io, Redis-backed sessions, and MongoDB/Waterline data layers.","directories":{"lib":"lib"},"_nodeVersion":"22.13.1","dependencies":{"ejs":"^5.0.2","cors":"^2.8.6","csrf":"^3.1.0","open":"^11.0.0","walk":"^2.3.15","async":"^3.2.6","axios":"^1.16.0","redis":"^5.10.0","lodash":"^4.18.1","multer":"^2.1.1","throng":"^5.0.0","express":"^5.2.1","winston":"^3.19.0","fs-extra":"^11.3.2","passport":"^0.7.0","socket.io":"^4.8.3","waterline":"^0.15.2","jwt-simple":"^0.5.6","sails-disk":"^2.1.2","sails-mongo":"^2.1.2","connect-redis":"^9.0.0","cookie-parser":"^1.4.7","express-session":"^1.19.0","moment-timezone":"^0.6.2","express-http-proxy":"^2.1.2","@socket.io/redis-adapter":"^8.3.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"mocha":"^11.7.5"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_1.1.6_1777842646250_0.5515728979590104","host":"s3://npm-registry-packages-npm-production"}},"1.1.7":{"name":"cordovabox","version":"1.1.7","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@1.1.7","maintainers":[{"name":"derrekmc","email":"derrekmc@gmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"97d5d2e4967bbda27f87187943042927ef78774d","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-1.1.7.tgz","fileCount":209,"integrity":"sha512-QEF2Znf5Ihog0RWhqzP3gfSx1BriJHpmBVxs2XtvQGNQQ8cjiQeEYFrlSAQ0F31PDvaoI1bbcgJ85XkzaxPFbA==","signatures":[{"sig":"MEUCIQCoJyPOwvvqclhKd2FlzsqDGIEcnz0N9v6SOy7OqZwGqQIgdX5ESR16cd4t2jL729aQMQ0JkqCxmU60gMC1RNEoFgQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4778124},"main":"index.js","engines":{"node":">=22"},"gitHead":"3f7f2ea81ddfbaebdd9b43384a95f2e0aff69e7e","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmc@gmail.com"},"overrides":{"mocha":{"diff":"^8.0.3","serialize-javascript":"^7.0.5"},"sails-mongo":{"qs":"^6.15.1"}},"_npmVersion":"10.9.2","description":"CordovaBox is a Node.js MVC framework and CLI for scaffolding Express-style applications with controllers, models, routes, hooks, asset builds, Socket.io, Redis-backed sessions, and MongoDB/Waterline data layers.","directories":{"lib":"lib"},"_nodeVersion":"22.13.1","dependencies":{"ejs":"^5.0.2","cors":"^2.8.6","csrf":"^3.1.0","open":"^11.0.0","walk":"^2.3.15","async":"^3.2.6","axios":"^1.16.0","redis":"^5.10.0","lodash":"^4.18.1","multer":"^2.1.1","throng":"^5.0.0","express":"^5.2.1","winston":"^3.19.0","fs-extra":"^11.3.2","passport":"^0.7.0","socket.io":"^4.8.3","waterline":"^0.15.2","jwt-simple":"^0.5.6","sails-disk":"^2.1.2","sails-mongo":"^2.1.2","connect-redis":"^9.0.0","cookie-parser":"^1.4.7","express-session":"^1.19.0","moment-timezone":"^0.6.2","express-http-proxy":"^2.1.2","@socket.io/redis-adapter":"^8.3.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"mocha":"^11.7.5"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_1.1.7_1777843538029_0.419586658288412","host":"s3://npm-registry-packages-npm-production"}},"1.1.8":{"name":"cordovabox","version":"1.1.8","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@1.1.8","maintainers":[{"name":"derrekmc","email":"derrekmc@gmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"d2b185522d685d6398de0f274b9a45724469b075","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-1.1.8.tgz","fileCount":105,"integrity":"sha512-GueHSB0HlJkuvBby6p3ZqnopY+qZK3Z8kwuxuDnHhWkD2LKrGoTopqoT5hcQxxFf9gfurWF8k6OvrbeTtI330A==","signatures":[{"sig":"MEUCIQC/2TKyHRnl+Bm38GbYUhQRSz+UdskU3J3NYmzjI6JzpgIgakR+2kS7/963Zj1w6BH7VOyckuUdB78H/q3p5NmEQfc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1779378},"main":"index.js","engines":{"node":">=22"},"gitHead":"a6339d47e6ab5c759b5e26a284e16eb94cbe893a","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmc@gmail.com"},"overrides":{"mocha":{"diff":"^8.0.3","serialize-javascript":"^7.0.5"},"sails-mongo":{"qs":"^6.15.1"}},"_npmVersion":"10.9.2","description":"CordovaBox is a Node.js MVC framework and CLI for scaffolding Express-style applications with controllers, models, routes, hooks, asset builds, Socket.io, Redis-backed sessions, and MongoDB/Waterline data layers.","directories":{"lib":"lib"},"_nodeVersion":"22.13.1","dependencies":{"ejs":"^5.0.2","cors":"^2.8.6","csrf":"^3.1.0","open":"^11.0.0","walk":"^2.3.15","async":"^3.2.6","axios":"^1.16.0","redis":"^5.10.0","lodash":"^4.18.1","multer":"^2.1.1","throng":"^5.0.0","express":"^5.2.1","winston":"^3.19.0","fs-extra":"^11.3.2","passport":"^0.7.0","socket.io":"^4.8.3","waterline":"^0.15.2","jwt-simple":"^0.5.6","sails-disk":"^2.1.2","sails-mongo":"^2.1.2","connect-redis":"^9.0.0","cookie-parser":"^1.4.7","express-session":"^1.19.0","moment-timezone":"^0.6.2","express-http-proxy":"^2.1.2","@socket.io/redis-adapter":"^8.3.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"mocha":"^11.7.5"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_1.1.8_1777846202771_0.5544247895668386","host":"s3://npm-registry-packages-npm-production"}},"1.1.9":{"name":"cordovabox","version":"1.1.9","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@1.1.9","maintainers":[{"name":"derrekmc","email":"derrekmc@gmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"888d2a1a5aa0919d003848dc9eb067c2292e751a","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-1.1.9.tgz","fileCount":105,"integrity":"sha512-3Z1bH/CETcuT3+Qi5PL+QGHvo7lHMSXRBRBQ9IqiJGQ4xxsbskXavAiRBGlMY1loGGWnVm0ZpO9M/pMd5lVXzQ==","signatures":[{"sig":"MEQCIFougUAr2HtLtkjC/lTOe0f0Rb5h7fp01qgM6YKEUk7HAiBHmCfVz55pLkRNL9+eCtDyCfl5vOZVYRw/2mCxiejXMQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1792542},"main":"index.js","engines":{"node":">=22"},"gitHead":"093d7dd1e67e7469aeb16969bfee5b2aa5864898","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmc@gmail.com"},"overrides":{"mocha":{"diff":"^8.0.3","serialize-javascript":"^7.0.5"},"sails-mongo":{"qs":"^6.15.1"}},"_npmVersion":"10.9.2","description":"CordovaBox is a Node.js MVC framework and CLI for scaffolding Express-style applications with controllers, models, routes, hooks, asset builds, Socket.io, Redis-backed sessions, and MongoDB/Waterline data layers.","directories":{"lib":"lib"},"_nodeVersion":"22.13.1","dependencies":{"ejs":"^5.0.2","cors":"^2.8.6","csrf":"^3.1.0","open":"^11.0.0","walk":"^2.3.15","async":"^3.2.6","axios":"^1.16.0","redis":"^5.10.0","lodash":"^4.18.1","multer":"^2.1.1","throng":"^5.0.0","express":"^5.2.1","winston":"^3.19.0","fs-extra":"^11.3.2","passport":"^0.7.0","socket.io":"^4.8.3","waterline":"^0.15.2","jwt-simple":"^0.5.6","sails-disk":"^2.1.2","sails-mongo":"^2.1.2","connect-redis":"^9.0.0","cookie-parser":"^1.4.7","express-session":"^1.19.0","moment-timezone":"^0.6.2","express-http-proxy":"^2.1.2","@socket.io/redis-adapter":"^8.3.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"mocha":"^11.7.5"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_1.1.9_1777862658115_0.7034602965629484","host":"s3://npm-registry-packages-npm-production"}},"1.1.10":{"name":"cordovabox","version":"1.1.10","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@1.1.10","maintainers":[{"name":"derrekmc","email":"derrekmc@gmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"e0fac410b0b017c3d7a1b1351ca6ec6c821e672b","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-1.1.10.tgz","fileCount":105,"integrity":"sha512-Po7w0AFgVEHyZ1XJEg8sRY8EIhfHmsyBqe1RURWWrrzX1JfszZ75ucUo9rn4eMb0DoSYS8kbfSkv+TtrXR4lRg==","signatures":[{"sig":"MEUCIHmgAR8+tffDiiU/YArBVqN/aNi19pGYbbOH1XxhLyu4AiEAlycO3sZ6lmZGBT4pE9jn6VzhtVRNxLAQVgSaVentqiA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1793093},"main":"index.js","engines":{"node":">=22"},"gitHead":"1d0593260d63cba7e0241f3b08f6a00a249c34ad","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmc@gmail.com"},"overrides":{"mocha":{"diff":"^8.0.3","serialize-javascript":"^7.0.5"},"sails-mongo":{"qs":"^6.15.1"}},"_npmVersion":"10.9.2","description":"CordovaBox is a Node.js MVC framework and CLI for scaffolding Express-style applications with controllers, models, routes, hooks, asset builds, Socket.io, Redis-backed sessions, and MongoDB/Waterline data layers.","directories":{"lib":"lib"},"_nodeVersion":"22.13.1","dependencies":{"ejs":"^5.0.2","cors":"^2.8.6","csrf":"^3.1.0","open":"^11.0.0","walk":"^2.3.15","async":"^3.2.6","axios":"^1.16.0","redis":"^5.10.0","lodash":"^4.18.1","multer":"^2.1.1","throng":"^5.0.0","express":"^5.2.1","winston":"^3.19.0","fs-extra":"^11.3.2","passport":"^0.7.0","socket.io":"^4.8.3","waterline":"^0.15.2","jwt-simple":"^0.5.6","sails-disk":"^2.1.2","sails-mongo":"^2.1.2","connect-redis":"^9.0.0","cookie-parser":"^1.4.7","express-session":"^1.19.0","moment-timezone":"^0.6.2","express-http-proxy":"^2.1.2","@socket.io/redis-adapter":"^8.3.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"mocha":"^11.7.5"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_1.1.10_1777938920159_0.033481891187884916","host":"s3://npm-registry-packages-npm-production"}},"1.1.11":{"name":"cordovabox","version":"1.1.11","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@1.1.11","maintainers":[{"name":"derrekmc","email":"derrekmc@gmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"aa351d7473b0214bd6811da13cec7670e8d56048","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-1.1.11.tgz","fileCount":106,"integrity":"sha512-S9Z7KMX7VAy1LOwtmIL08T4GAZYlEa+ZFh0NaSCl9VfQ//36RNesyglrpze505tzmalGAwDcISU2opuol2I/8Q==","signatures":[{"sig":"MEYCIQCBfXbfMRcSf5ZzAoooJHTlJusTyrHq+ubse2fBFAQVFQIhAJpGYnofUCDSKXEoJkrBuSdSfbAYffzPN39wvlGVWqSf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1801447},"main":"index.js","engines":{"node":">=22"},"gitHead":"2b640d6ef97ba906da4102b8160ce88ef01846a7","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmc@gmail.com"},"overrides":{"mocha":{"diff":"^8.0.3","serialize-javascript":"^7.0.5"},"sails-mongo":{"qs":"^6.15.1"}},"_npmVersion":"10.9.2","description":"CordovaBox is a Node.js MVC framework and CLI for scaffolding Express-style applications with controllers, models, routes, hooks, asset builds, Socket.io, Redis-backed sessions, and MongoDB/Waterline data layers.","directories":{"lib":"lib"},"_nodeVersion":"22.13.1","dependencies":{"ejs":"^5.0.2","cors":"^2.8.6","csrf":"^3.1.0","open":"^11.0.0","walk":"^2.3.15","async":"^3.2.6","axios":"^1.16.0","redis":"^5.10.0","lodash":"^4.18.1","multer":"^2.1.1","throng":"^5.0.0","express":"^5.2.1","winston":"^3.19.0","fs-extra":"^11.3.2","passport":"^0.7.0","socket.io":"^4.8.3","waterline":"^0.15.2","jwt-simple":"^0.5.6","sails-disk":"^2.1.2","sails-mongo":"^2.1.2","connect-redis":"^9.0.0","cookie-parser":"^1.4.7","express-session":"^1.19.0","moment-timezone":"^0.6.2","express-http-proxy":"^2.1.2","@socket.io/redis-adapter":"^8.3.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"mocha":"^11.7.5"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_1.1.11_1777952996131_0.9042098923212385","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"cordovabox","version":"1.2.0","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@1.2.0","maintainers":[{"name":"derrekmc","email":"derrekmc@gmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"843ecde5cbf2b192c1eb9e845fe86ea60a8ff1d7","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-1.2.0.tgz","fileCount":109,"integrity":"sha512-AROiv3TiyPWdjjYTSdAcyAQgNxsBhMgeXTjODBXTWj93aCZ4jWqMb+dVbdUPHp2jiICgehHQkSWr83F0BvJ44w==","signatures":[{"sig":"MEUCIQCz+KNSUxtdd2cFU7Q/+TTA883/KNK6hq5Ou7ZQCGpJDAIgZlzk+9pyeCN3awR3AsMp+sj4WZvhGbAbbpEUmGznDQ4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1836601},"main":"index.js","engines":{"node":">=22"},"gitHead":"e6e9e0a49236bfef18b074f402dec7fb937aefa0","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmc@gmail.com"},"overrides":{"mocha":{"diff":"^8.0.3","serialize-javascript":"^7.0.5"},"sails-mongo":{"qs":"^6.15.1"}},"_npmVersion":"10.9.2","description":"CordovaBox is a Node.js MVC framework and CLI for scaffolding Express-style applications with controllers, models, routes, hooks, asset builds, Socket.io, Redis-backed sessions, and MongoDB/Waterline data layers.","directories":{"lib":"lib"},"_nodeVersion":"22.13.1","dependencies":{"ejs":"^5.0.2","cors":"^2.8.6","csrf":"^3.1.0","open":"^11.0.0","walk":"^2.3.15","async":"^3.2.6","axios":"^1.16.0","redis":"^5.10.0","lodash":"^4.18.1","multer":"^2.1.1","throng":"^5.0.0","express":"^5.2.1","winston":"^3.19.0","fs-extra":"^11.3.2","passport":"^0.7.0","socket.io":"^4.8.3","waterline":"^0.15.2","jwt-simple":"^0.5.6","sails-disk":"^2.1.2","sails-mongo":"^2.1.2","connect-redis":"^9.0.0","cookie-parser":"^1.4.7","express-session":"^1.19.0","moment-timezone":"^0.6.2","express-http-proxy":"^2.1.2","@socket.io/redis-adapter":"^8.3.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"mocha":"^11.7.5"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_1.2.0_1777992098014_0.6104123958565384","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"cordovabox","version":"1.3.0","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@1.3.0","maintainers":[{"name":"derrekmc","email":"derrekmc@gmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"37f0fa349d3efceecceaf0b32d9410e1a55c30b9","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-1.3.0.tgz","fileCount":109,"integrity":"sha512-lxAnJP0LtO8s1bdw4LsNG7n7ztELgQxNKADscPVDZLzBzhXFE1CEJPokHNoDDv0nrS8ESHc/WuNI84Z4CZM0IQ==","signatures":[{"sig":"MEUCIQDjgcZb53YrM9qqjCncTedwFcH38fvD9zjjbRn2tayT1QIgJEkOK5yuDCgeBJgmJ4bO58nbr9gdEbZq5YknR9RQFOk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1852542},"main":"index.js","engines":{"node":">=22"},"gitHead":"83960297a8ec5889a3a52bb82313613d1b250cde","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmc@gmail.com"},"overrides":{"mocha":{"diff":"^8.0.3","serialize-javascript":"^7.0.5"},"sails-mongo":{"qs":"^6.15.1"}},"_npmVersion":"10.9.2","description":"CordovaBox is a Node.js MVC framework and CLI for scaffolding Express-style applications with controllers, models, routes, hooks, asset builds, Socket.io, Redis-backed sessions, and MongoDB/Waterline data layers.","directories":{"lib":"lib"},"_nodeVersion":"22.13.1","dependencies":{"ejs":"^5.0.2","cors":"^2.8.6","csrf":"^3.1.0","open":"^11.0.0","walk":"^2.3.15","async":"^3.2.6","axios":"^1.16.0","redis":"^5.10.0","lodash":"^4.18.1","multer":"^2.1.1","throng":"^5.0.0","express":"^5.2.1","winston":"^3.19.0","fs-extra":"^11.3.2","passport":"^0.7.0","socket.io":"^4.8.3","waterline":"^0.15.2","jwt-simple":"^0.5.6","sails-disk":"^2.1.2","sails-mongo":"^2.1.2","connect-redis":"^9.0.0","cookie-parser":"^1.4.7","express-session":"^1.19.0","moment-timezone":"^0.6.2","express-http-proxy":"^2.1.2","@socket.io/redis-adapter":"^8.3.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"mocha":"^11.7.5"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_1.3.0_1777996335542_0.48015566570639345","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"cordovabox","version":"1.4.0","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@1.4.0","maintainers":[{"name":"derrekmc","email":"derrekmc@gmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"13e2cb6ba4872eab0fb11725fe4173bde6480e03","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-1.4.0.tgz","fileCount":158,"integrity":"sha512-LsubXGysVawbZzRw8vqLG1pZTwJdtc9rwHQyWcoFrn1kqVJbrrqHFuvxymVOS9lUNW3fxoCFiD+wNlicRZ4psQ==","signatures":[{"sig":"MEUCIB1W44An9kev+7Hrk7QnB1YYQC758ePkX1Fu1/GTDWgGAiEA82DLeI5W8tE5afTzntlIQZSHTKgncn+Tv0rzYLX4BOM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1938794},"main":"index.js","engines":{"node":">=22"},"gitHead":"7dc7d415c7dc6ea7bab983a74d93ae2b207a81cf","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmc@gmail.com"},"overrides":{"mocha":{"diff":"^8.0.3","serialize-javascript":"^7.0.5"},"sails-mongo":{"qs":"^6.15.1"}},"_npmVersion":"10.9.2","description":"CordovaBox is a Node.js MVC framework and CLI for scaffolding Express-style applications with controllers, models, routes, hooks, asset builds, Socket.io, Redis-backed sessions, and MongoDB/Waterline data layers.","directories":{"lib":"lib"},"_nodeVersion":"22.13.1","dependencies":{"ejs":"^5.0.2","cors":"^2.8.6","csrf":"^3.1.0","open":"^11.0.0","walk":"^2.3.15","async":"^3.2.6","axios":"^1.16.0","redis":"^5.10.0","lodash":"^4.18.1","multer":"^2.1.1","throng":"^5.0.0","express":"^5.2.1","winston":"^3.19.0","fs-extra":"^11.3.2","passport":"^0.7.0","socket.io":"^4.8.3","waterline":"^0.15.2","jwt-simple":"^0.5.6","sails-disk":"^2.1.2","sails-mongo":"^2.1.2","connect-redis":"^9.0.0","cookie-parser":"^1.4.7","express-session":"^1.19.0","moment-timezone":"^0.6.2","express-http-proxy":"^2.1.2","@socket.io/redis-adapter":"^8.3.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"mocha":"^11.7.5"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_1.4.0_1777998775937_0.6180052919177135","host":"s3://npm-registry-packages-npm-production"}},"1.4.1":{"name":"cordovabox","version":"1.4.1","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@1.4.1","maintainers":[{"name":"derrekmc","email":"derrekmc@gmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"3ddacee304d4ff951469621744a23e5ce65e31c4","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-1.4.1.tgz","fileCount":205,"integrity":"sha512-9WfldUWs1AaWxiXBZo2qTSwHYeqtr+ficu7P5X/WzyJGW6p7h70i1Nlgx7Jkvckl15KuNqHoYYstqp6ww0JYDg==","signatures":[{"sig":"MEQCIA3rYze8QisOmP0J2Wu4Y9j5ZeBtCr1JnFTUIzjqqZ+1AiAeFy1LRfKq7UqAAzSNYQejFWTiZjHPFznDfhHGwMtpvA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2889929},"main":"index.js","engines":{"node":">=22"},"gitHead":"b93d70ee2a3840fa2c9c0303c825de96819f65c7","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","docs:html":"node scripts/build-docs-html.js","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmc@gmail.com"},"overrides":{"mocha":{"diff":"^8.0.3","serialize-javascript":"^7.0.5"},"sails-mongo":{"qs":"^6.15.1"}},"_npmVersion":"10.9.2","description":"CordovaBox is a Node.js MVC framework and CLI for scaffolding Express-style applications with controllers, models, routes, hooks, asset builds, Socket.io, Redis-backed sessions, and MongoDB/Waterline data layers.","directories":{"lib":"lib"},"_nodeVersion":"22.13.1","dependencies":{"ejs":"^5.0.2","cors":"^2.8.6","csrf":"^3.1.0","open":"^11.0.0","walk":"^2.3.15","async":"^3.2.6","axios":"^1.16.0","redis":"^5.10.0","lodash":"^4.18.1","multer":"^2.1.1","throng":"^5.0.0","express":"^5.2.1","winston":"^3.19.0","fs-extra":"^11.3.2","passport":"^0.7.0","socket.io":"^4.8.3","waterline":"^0.15.2","jwt-simple":"^0.5.6","sails-disk":"^2.1.2","sails-mongo":"^2.1.2","connect-redis":"^9.0.0","cookie-parser":"^1.4.7","express-session":"^1.19.0","moment-timezone":"^0.6.2","express-http-proxy":"^2.1.2","@socket.io/redis-adapter":"^8.3.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"mocha":"^11.7.5"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_1.4.1_1778000692258_0.4449079723177869","host":"s3://npm-registry-packages-npm-production"}},"1.4.2":{"name":"cordovabox","version":"1.4.2","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@1.4.2","maintainers":[{"name":"derrekmc","email":"derrekmc@gmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"20fad3efe9884aa504a2eb5c99974fbe4c7a669b","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-1.4.2.tgz","fileCount":205,"integrity":"sha512-pPsRuT88AWrG4xXpaJzoI9jCUKUsk8sNf7eZAgPGzKF/MPBiLGr3aiOxfPeLhSZ0Quu4qkwtwrEaYQbFOJ2uVg==","signatures":[{"sig":"MEQCIG3vgSqzmPQIWWzvjIiLCNWQ7T78WUcCymlevF52Kh5LAiBR+ewRebVzM4MV0KraNZltk8QdPDdQiXOF3IkTMufxiw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2896316},"main":"index.js","engines":{"node":">=22"},"gitHead":"71c9dbf91c34af0464eca2cb3604d53cd62b44f2","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","docs:html":"node scripts/build-docs-html.js","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmc@gmail.com"},"overrides":{"mocha":{"diff":"^8.0.3","serialize-javascript":"^7.0.5"},"sails-mongo":{"qs":"^6.15.1"}},"_npmVersion":"10.9.2","description":"CordovaBox is a Node.js MVC framework and CLI for scaffolding Express-style applications with controllers, models, routes, hooks, asset builds, Socket.io, Redis-backed sessions, and MongoDB/Waterline data layers.","directories":{"lib":"lib"},"_nodeVersion":"22.13.1","dependencies":{"ejs":"^5.0.2","cors":"^2.8.6","csrf":"^3.1.0","open":"^11.0.0","walk":"^2.3.15","async":"^3.2.6","axios":"^1.16.0","redis":"^5.10.0","lodash":"^4.18.1","multer":"^2.1.1","throng":"^5.0.0","express":"^5.2.1","winston":"^3.19.0","fs-extra":"^11.3.2","passport":"^0.7.0","socket.io":"^4.8.3","waterline":"^0.15.2","jwt-simple":"^0.5.6","sails-disk":"^2.1.2","sails-mongo":"^2.1.2","connect-redis":"^9.0.0","cookie-parser":"^1.4.7","express-session":"^1.19.0","moment-timezone":"^0.6.2","express-http-proxy":"^2.1.2","@socket.io/redis-adapter":"^8.3.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"mocha":"^11.7.5"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_1.4.2_1778002446856_0.14175508641238888","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"cordovabox","version":"2.0.0","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@2.0.0","maintainers":[{"name":"derrekmc","email":"derrekmc@gmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"aec0c4602253f5154855713a0a96c280a1a6f612","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-2.0.0.tgz","fileCount":205,"integrity":"sha512-wKN/KXITgpvKac3V6rO7j5d4otZN1LmQuJJdKguf9j2hXg+Bhv2v2otBkXkzKxB3cj0VzObfyyi2ZJ+YeoIExQ==","signatures":[{"sig":"MEYCIQDaRNkWh4B59VbeLA4CB6YZCXbWIfekCZTVIVDGhc1gCAIhANzDsk1VQehj9WhojDpeq8G7WNxgi7LfydVZOjAUDo3T","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2912797},"main":"index.js","engines":{"node":">=22"},"gitHead":"c55e63dbcb5f094d6ac6cf0a27e0fe71a8c35919","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","docs:html":"node scripts/build-docs-html.js","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmc@gmail.com"},"overrides":{"mocha":{"diff":"^8.0.3","serialize-javascript":"^7.0.5"},"sails-mongo":{"qs":"^6.15.1"}},"_npmVersion":"10.9.2","description":"CordovaBox is a Node.js MVC framework and CLI for scaffolding Express-style applications with controllers, models, routes, hooks, asset builds, Socket.io, Redis-backed sessions, and MongoDB/Waterline data layers.","directories":{"lib":"lib"},"_nodeVersion":"22.13.1","dependencies":{"ejs":"^5.0.2","cors":"^2.8.6","csrf":"^3.1.0","open":"^11.0.0","walk":"^2.3.15","async":"^3.2.6","axios":"^1.16.0","redis":"^5.10.0","lodash":"^4.18.1","multer":"^2.1.1","throng":"^5.0.0","express":"^5.2.1","winston":"^3.19.0","fs-extra":"^11.3.2","passport":"^0.7.0","socket.io":"^4.8.3","waterline":"^0.15.2","jwt-simple":"^0.5.6","sails-disk":"^2.1.2","sails-mongo":"^2.1.2","connect-redis":"^9.0.0","cookie-parser":"^1.4.7","express-session":"^1.19.0","moment-timezone":"^0.6.2","express-http-proxy":"^2.1.2","@socket.io/redis-adapter":"^8.3.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"mocha":"^11.7.5"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_2.0.0_1778003521221_0.5717599073723545","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"cordovabox","version":"2.1.0","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@2.1.0","maintainers":[{"name":"derrekmc","email":"derrekmc@gmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"57cd61d6b2f545125d1ecee05d51c145c13a78ef","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-2.1.0.tgz","fileCount":217,"integrity":"sha512-f6T7VvS0pQGadFb5sLG1U7IGLIzrqk2t/Tppk5SpsoAqUcWkpnahhGChD3g6bO1nSgjDcD+IGM46c/qpO3FFMA==","signatures":[{"sig":"MEQCIFHxZI0urBBhLcKBcXyR5pisjN2eC0IpM1HDowvS3XUFAiBsTtgAvEW3GMyWGOXv2Gcut4SrU+a8d37M+nvtZgL4tQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3086121},"main":"index.js","engines":{"node":">=22"},"gitHead":"f9855b104b4f7c2d3bcfe93586c0d57977c42480","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","docs:html":"node scripts/build-docs-html.js","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmc@gmail.com"},"overrides":{"mocha":{"diff":"^8.0.3","serialize-javascript":"^7.0.5"},"sails-mongo":{"qs":"^6.15.1"}},"_npmVersion":"10.9.2","description":"CordovaBox is a Node.js MVC framework and CLI for scaffolding Express-style applications with controllers, models, routes, hooks, asset builds, Socket.io, Redis-backed sessions, and MongoDB/Waterline data layers.","directories":{"lib":"lib"},"_nodeVersion":"22.13.1","dependencies":{"ejs":"^5.0.2","cors":"^2.8.6","csrf":"^3.1.0","open":"^11.0.0","walk":"^2.3.15","async":"^3.2.6","axios":"^1.16.0","redis":"^5.10.0","lodash":"^4.18.1","multer":"^2.1.1","throng":"^5.0.0","express":"^5.2.1","winston":"^3.19.0","fs-extra":"^11.3.2","passport":"^0.7.0","socket.io":"^4.8.3","waterline":"^0.15.2","jwt-simple":"^0.5.6","sails-disk":"^2.1.2","sails-mongo":"^2.1.2","connect-redis":"^9.0.0","cookie-parser":"^1.4.7","express-session":"^1.19.0","moment-timezone":"^0.6.2","express-http-proxy":"^2.1.2","@socket.io/redis-adapter":"^8.3.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"mocha":"^11.7.5"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_2.1.0_1778018608151_0.9953876599097089","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"cordovabox","version":"2.2.0","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@2.2.0","maintainers":[{"name":"derrekmc","email":"derrekmc@gmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"a934b2ca6c3de9a78047582387c4007a871e3f79","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-2.2.0.tgz","fileCount":226,"integrity":"sha512-GgIlwm4wQ9J+gyBxldWXUV0ir5bAQZLrZdjVoJ7oIccB+4uaORfeJ0AGXChGtgFQhB/krsFIulV6w2Spth5Amw==","signatures":[{"sig":"MEUCIDO9/OgHh8UWe0zQG5NFJBI19pgj8ihqrvOzLWS72OpFAiEAi8zu6FN+ynu3bKGexVy49ptzp2dVs6Aqxm1+zbxeonQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3155475},"main":"index.js","engines":{"node":">=22"},"gitHead":"0ebbb585556982525130ba23997e59f3e9052069","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","docs:html":"node scripts/build-docs-html.js","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmc@gmail.com"},"overrides":{"mocha":{"diff":"^8.0.3","serialize-javascript":"^7.0.5"},"sails-mongo":{"qs":"^6.15.1"}},"_npmVersion":"10.9.2","description":"CordovaBox is a Node.js MVC framework and CLI for scaffolding Express-style applications with controllers, models, routes, hooks, asset builds, Socket.io, Redis-backed sessions, and MongoDB/Waterline data layers.","directories":{"lib":"lib"},"_nodeVersion":"22.13.1","dependencies":{"ejs":"^5.0.2","cors":"^2.8.6","csrf":"^3.1.0","open":"^11.0.0","walk":"^2.3.15","async":"^3.2.6","axios":"^1.16.0","redis":"^5.10.0","lodash":"^4.18.1","multer":"^2.1.1","throng":"^5.0.0","express":"^5.2.1","winston":"^3.19.0","fs-extra":"^11.3.2","passport":"^0.7.0","socket.io":"^4.8.3","waterline":"^0.15.2","jwt-simple":"^0.5.6","sails-disk":"^2.1.2","sails-mongo":"^2.1.2","connect-redis":"^9.0.0","cookie-parser":"^1.4.7","express-session":"^1.19.0","moment-timezone":"^0.6.2","express-http-proxy":"^2.1.2","@socket.io/redis-adapter":"^8.3.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"mocha":"^11.7.5"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_2.2.0_1778036023078_0.056895354665381204","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"cordovabox","version":"2.3.0","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@2.3.0","maintainers":[{"name":"derrekmc","email":"derrekmc@gmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"0c1627092774d62bb77e299bfe69b038f9f3d37c","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-2.3.0.tgz","fileCount":226,"integrity":"sha512-g93+wu21ExoAehgSiA2k0zA+0MFaTRtLvDC4xz0q7KAjZNQTb/ttMZTLqDQGx3COPWgW70zie5Y52XAcOmyDDw==","signatures":[{"sig":"MEQCID3SOOwJ90JEU7n5i9EWrEG36PgElY54Ej1HXorfdg19AiBcPHDjfyHN6n5kjWfGuvrqhIvCVPGE0Ez9x6G7HXJTpg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3178549},"main":"index.js","engines":{"node":">=22"},"gitHead":"c28244b3c6c91bf2511dca3c1ea9114e107ed603","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","docs:html":"node scripts/build-docs-html.js","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmc@gmail.com"},"overrides":{"mocha":{"diff":"^8.0.3","serialize-javascript":"^7.0.5"},"sails-mongo":{"qs":"^6.15.1"}},"_npmVersion":"10.9.2","description":"CordovaBox is a Node.js MVC framework and CLI for scaffolding Express-style applications with controllers, models, routes, hooks, asset builds, Socket.io, Redis-backed sessions, and MongoDB/Waterline data layers.","directories":{"lib":"lib"},"_nodeVersion":"22.13.1","dependencies":{"ejs":"^5.0.2","cors":"^2.8.6","csrf":"^3.1.0","open":"^11.0.0","walk":"^2.3.15","async":"^3.2.6","axios":"^1.16.0","redis":"^5.10.0","lodash":"^4.18.1","multer":"^2.1.1","throng":"^5.0.0","express":"^5.2.1","winston":"^3.19.0","fs-extra":"^11.3.2","passport":"^0.7.0","socket.io":"^4.8.3","waterline":"^0.15.2","jwt-simple":"^0.5.6","sails-disk":"^2.1.2","sails-mongo":"^2.1.2","connect-redis":"^9.0.0","cookie-parser":"^1.4.7","express-session":"^1.19.0","moment-timezone":"^0.6.2","express-http-proxy":"^2.1.2","@socket.io/redis-adapter":"^8.3.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"mocha":"^11.7.5"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_2.3.0_1778085832744_0.8423252067882228","host":"s3://npm-registry-packages-npm-production"}},"2.3.1":{"name":"cordovabox","version":"2.3.1","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@2.3.1","maintainers":[{"name":"derrekmc","email":"derrekmc@gmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"455abf6a838352c6fd255301c663ac80ddc035e2","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-2.3.1.tgz","fileCount":226,"integrity":"sha512-4Xc517pk96AbdyVLoJhsncKPUaXcj0dujiP0ulkncPaKvOwqh+AeBvVsVKYnWkzLh+BE8GnLxg00z/71NfEtnQ==","signatures":[{"sig":"MEUCIGJrJbvuzoklCQm8DpPAytkxZhI9id3s9T4XFClTB6DvAiEAlKeiESsQ8DlL63k+d013Aho82WWs44RVIAoR6wBC+Tg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3182905},"main":"index.js","engines":{"node":">=22"},"gitHead":"e390ecfb3e59398ad3a0895ac0434cffa0e428a2","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","docs:html":"node scripts/build-docs-html.js","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmc@gmail.com"},"overrides":{"mocha":{"diff":"^8.0.3","serialize-javascript":"^7.0.5"},"sails-mongo":{"qs":"^6.15.1"}},"_npmVersion":"10.9.2","description":"CordovaBox is a Node.js MVC framework and CLI for scaffolding Express-style applications with controllers, models, routes, hooks, asset builds, Socket.io, Redis-backed sessions, and MongoDB/Waterline data layers.","directories":{"lib":"lib"},"_nodeVersion":"22.13.1","dependencies":{"ejs":"^5.0.2","cors":"^2.8.6","csrf":"^3.1.0","open":"^11.0.0","walk":"^2.3.15","async":"^3.2.6","axios":"^1.16.0","redis":"^5.10.0","lodash":"^4.18.1","multer":"^2.1.1","throng":"^5.0.0","express":"^5.2.1","winston":"^3.19.0","fs-extra":"^11.3.2","passport":"^0.7.0","socket.io":"^4.8.3","waterline":"^0.15.2","jwt-simple":"^0.5.6","sails-disk":"^2.1.2","sails-mongo":"^2.1.2","connect-redis":"^9.0.0","cookie-parser":"^1.4.7","express-session":"^1.19.0","moment-timezone":"^0.6.2","express-http-proxy":"^2.1.2","@socket.io/redis-adapter":"^8.3.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"mocha":"^11.7.5"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_2.3.1_1778105428395_0.040103846887245","host":"s3://npm-registry-packages-npm-production"}},"2.3.2":{"name":"cordovabox","version":"2.3.2","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@2.3.2","maintainers":[{"name":"derrekmc","email":"derrekmc@gmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"d06401c50dfc8cf87ef092d948ca0ad9f80a5939","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-2.3.2.tgz","fileCount":237,"integrity":"sha512-+sMNISY5OBqjf3iok2WHUHyPrybiI8F8xltluR/UoA4R+WfmMBzyeAajhfihPOzYYV3sj55ErewI+eZ0E8495g==","signatures":[{"sig":"MEQCIAh4EW6Ps5rL4vkqwzCs5qt/E9F7xI8sT6YQ/N0E02XTAiBspUmzkKTvKzGlxBl0GOLFrlBp6PSBCF1rr0Y3CZ7U+Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3274420},"main":"index.js","engines":{"node":">=22"},"gitHead":"fd7705726f5ddd326521c446ee8779c4d71885a2","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","docs:html":"node scripts/build-docs-html.js","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmc@gmail.com"},"overrides":{"mocha":{"diff":"^8.0.3","serialize-javascript":"^7.0.5"},"sails-mongo":{"qs":"^6.15.1"}},"_npmVersion":"10.9.2","description":"CordovaBox is a Node.js MVC framework and CLI for scaffolding Express-style applications with controllers, models, routes, hooks, asset builds, Socket.io, Redis-backed sessions, and MongoDB/Waterline data layers.","directories":{"lib":"lib"},"_nodeVersion":"22.13.1","dependencies":{"ejs":"^5.0.2","cors":"^2.8.6","csrf":"^3.1.0","open":"^11.0.0","walk":"^2.3.15","async":"^3.2.6","axios":"^1.16.0","redis":"^5.10.0","lodash":"^4.18.1","multer":"^2.1.1","throng":"^5.0.0","express":"^5.2.1","winston":"^3.19.0","fs-extra":"^11.3.2","passport":"^0.7.0","socket.io":"^4.8.3","waterline":"^0.15.2","jwt-simple":"^0.5.6","sails-disk":"^2.1.2","sails-mongo":"^2.1.2","connect-redis":"^9.0.0","cookie-parser":"^1.4.7","express-session":"^1.19.0","moment-timezone":"^0.6.2","express-http-proxy":"^2.1.2","@socket.io/redis-adapter":"^8.3.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"mocha":"^11.7.5"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_2.3.2_1778370848050_0.44618176069709303","host":"s3://npm-registry-packages-npm-production"}},"2.3.3":{"name":"cordovabox","version":"2.3.3","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@2.3.3","maintainers":[{"name":"derrekmc","email":"derrekmc@gmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"b76d4006d15e50a6fcabf058adba896f37cfcfe6","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-2.3.3.tgz","fileCount":237,"integrity":"sha512-mjqW2gfA1YaBK1G3W2jxzuN8kwFlGIahod/giVsXiSTanQ2S9oEw2Tj2tuW7Z19R0cxgGdw3TqZXzKpPC/G6LQ==","signatures":[{"sig":"MEUCIQDdOvReEfaXLA8JKoaXfVekqRudGl3M3qEg/JbhgbrSIAIgVIbp2Sy5PhAxyQyWfJMfoUzYru0xOMOyjTcrH0di5dE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3337717},"main":"index.js","engines":{"node":">=22"},"gitHead":"38b799a73f0eec8b49b3edd8401a2dc54fb778c8","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","docs:html":"node scripts/build-docs-html.js","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmc@gmail.com"},"overrides":{"mocha":{"diff":"^8.0.3","serialize-javascript":"^7.0.5"},"sails-mongo":{"qs":"^6.15.1"}},"_npmVersion":"10.9.2","description":"CordovaBox is a Node.js MVC framework and CLI for scaffolding Express-style applications with controllers, models, routes, hooks, asset builds, Socket.io, Redis-backed sessions, and MongoDB/Waterline data layers.","directories":{"lib":"lib"},"_nodeVersion":"22.13.1","dependencies":{"ejs":"^5.0.2","cors":"^2.8.6","csrf":"^3.1.0","open":"^11.0.0","walk":"^2.3.15","async":"^3.2.6","axios":"^1.16.0","redis":"^5.10.0","lodash":"^4.18.1","multer":"^2.1.1","throng":"^5.0.0","express":"^5.2.1","winston":"^3.19.0","fs-extra":"^11.3.2","passport":"^0.7.0","socket.io":"^4.8.3","waterline":"^0.15.2","jwt-simple":"^0.5.6","sails-disk":"^2.1.2","sails-mongo":"^2.1.2","connect-redis":"^9.0.0","cookie-parser":"^1.4.7","express-session":"^1.19.0","moment-timezone":"^0.6.2","express-http-proxy":"^2.1.2","@socket.io/redis-adapter":"^8.3.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"mocha":"^11.7.5"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_2.3.3_1778423847404_0.1834865419147964","host":"s3://npm-registry-packages-npm-production"}},"2.3.4":{"name":"cordovabox","version":"2.3.4","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@2.3.4","maintainers":[{"name":"derrekmc","email":"derrekmc@gmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"d75d6e29469bb878d7625805f04ba4693c247024","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-2.3.4.tgz","fileCount":237,"integrity":"sha512-XFMttGGJzngu0SPP7vb71l86AxG7Q7avd2/8ZaolWO0oNxCClLKDhusAJv2nrjjB+d8ofex3be0PthAM/u4McQ==","signatures":[{"sig":"MEYCIQD938hrAK3JGvMYhsGDX2BUfnA3HQRZ+30a8V4C+KnoqQIhAMxznIPebIyVBzyswl+BzyWcaFsYnM+VQBn1104jE8Jt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3342934},"main":"index.js","engines":{"node":">=22"},"gitHead":"18ce891632ae0406da349b8af3fbf7533841d3b7","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","docs:html":"node scripts/build-docs-html.js","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmc@gmail.com"},"overrides":{"mocha":{"diff":"^8.0.3","serialize-javascript":"^7.0.5"},"sails-mongo":{"qs":"^6.15.1"}},"_npmVersion":"10.9.2","description":"CordovaBox is a Node.js MVC framework and CLI for scaffolding Express-style applications with controllers, models, routes, hooks, asset builds, Socket.io, Redis-backed sessions, and MongoDB/Waterline data layers.","directories":{"lib":"lib"},"_nodeVersion":"22.13.1","dependencies":{"ejs":"^5.0.2","cors":"^2.8.6","csrf":"^3.1.0","open":"^11.0.0","walk":"^2.3.15","async":"^3.2.6","axios":"^1.16.0","redis":"^5.10.0","lodash":"^4.18.1","multer":"^2.1.1","throng":"^5.0.0","express":"^5.2.1","winston":"^3.19.0","fs-extra":"^11.3.2","passport":"^0.7.0","socket.io":"^4.8.3","waterline":"^0.15.2","jwt-simple":"^0.5.6","sails-disk":"^2.1.2","sails-mongo":"^2.1.2","connect-redis":"^9.0.0","cookie-parser":"^1.4.7","express-session":"^1.19.0","moment-timezone":"^0.6.2","express-http-proxy":"^2.1.2","@socket.io/redis-adapter":"^8.3.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"mocha":"^11.7.5"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_2.3.4_1779160119649_0.8514561564033489","host":"s3://npm-registry-packages-npm-production"}},"2.3.5":{"name":"cordovabox","version":"2.3.5","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@2.3.5","maintainers":[{"name":"derrekmc","email":"derrekmc@gmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"a6c3b9f566221b5656b9bdbf37bca572f01021e8","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-2.3.5.tgz","fileCount":237,"integrity":"sha512-TnfN38gZCDJi2G/xVnTvge6JGT4fZRmD4tbRehnARi5ayuzAYfYx0Ovt2kqRTgW+92nBmv9xAZcdcMrPW9R/Bg==","signatures":[{"sig":"MEUCID+UD1jTA27d+nVcpMZ4v7T5DsK95TyeW5lYafW30050AiEA8vwC/XBXLEf5UjVtvSCbUch1zo988Y6H7U4EasLQ8aE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3342934},"main":"index.js","engines":{"node":">=22"},"gitHead":"dda521897bc3ff53e3882484c4384fff48ba9963","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","docs:html":"node scripts/build-docs-html.js","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmc@gmail.com"},"overrides":{"mocha":{"diff":"^8.0.3","serialize-javascript":"^7.0.5"},"sails-mongo":{"qs":"^6.15.1"}},"_npmVersion":"10.9.2","description":"CordovaBox is a Node.js MVC framework and CLI for scaffolding Express-style applications with controllers, models, routes, hooks, asset builds, Socket.io, Redis-backed sessions, and MongoDB/Waterline data layers.","directories":{"lib":"lib"},"_nodeVersion":"22.13.1","dependencies":{"ejs":"^5.0.2","cors":"^2.8.6","csrf":"^3.1.0","open":"^11.0.0","walk":"^2.3.15","async":"^3.2.6","axios":"^1.16.0","redis":"^5.10.0","lodash":"^4.18.1","multer":"^2.1.1","throng":"^5.0.0","express":"^5.2.1","winston":"^3.19.0","fs-extra":"^11.3.2","passport":"^0.7.0","socket.io":"^4.8.3","waterline":"^0.15.2","jwt-simple":"^0.5.6","sails-disk":"^2.1.2","sails-mongo":"^2.1.2","connect-redis":"^9.0.0","cookie-parser":"^1.4.7","express-session":"^1.19.0","moment-timezone":"^0.6.2","express-http-proxy":"^2.1.2","@socket.io/redis-adapter":"^8.3.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"mocha":"^11.7.5"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_2.3.5_1780423073186_0.2135442263500682","host":"s3://npm-registry-packages-npm-production"}},"2.3.6":{"name":"cordovabox","version":"2.3.6","author":{"name":"Derrek Cordova"},"license":"none","_id":"cordovabox@2.3.6","maintainers":[{"name":"derrekmc","email":"derrekmc@gmail.com"}],"bin":{"cordovabox":"bin/index.js"},"dist":{"shasum":"6767fc5cda9b02e398ab34904de8b7ceaa1aa5dc","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-2.3.6.tgz","fileCount":241,"integrity":"sha512-SbCkSRroFfjf/etSE/LnWgksXqwQiTOEDeqwpB+KRwj+26Akni1acyF8HAJS2pZzyqxh18Jb3BfKLiTySxAZLA==","signatures":[{"sig":"MEQCIDgaX/WcY7XuMiXx4PCwOy2MJaLYXDYBON7L6RwWBgm0AiA9A3AALLcxhlaUe1WPt8nfulaSFB7dDTUONzUnE7oebw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3392884},"main":"index.js","engines":{"node":">=22"},"gitHead":"e8ce9f2643ef17db587bbcd84473180616b568e8","scripts":{"dev":"gulp buildDev && gulp watch & node lib/server.js ","test":"mocha tests","build":"gulp buildProd","start":"node index.js","watch":"gulp watch","server":"gulp build && node server.js","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js","buildDev":"gulp build","docs:html":"node scripts/build-docs-html.js","production":"gulp buildProd && PORT=80 node tcluster.js"},"_npmUser":{"name":"derrekmc","email":"derrekmc@gmail.com"},"overrides":{"mocha":{"diff":"^8.0.3","serialize-javascript":"^7.0.5"},"sails-mongo":{"qs":"^6.15.1"}},"_npmVersion":"10.9.2","description":"CordovaBox is a Node.js MVC framework and CLI for scaffolding Express-style applications with controllers, models, routes, hooks, asset builds, Socket.io, Redis-backed sessions, and MongoDB/Waterline data layers.","directories":{"lib":"lib"},"_nodeVersion":"22.13.1","dependencies":{"ejs":"^5.0.2","cors":"^2.8.6","csrf":"^3.1.0","open":"^11.0.0","walk":"^2.3.15","async":"^3.2.6","axios":"^1.16.0","redis":"^5.10.0","lodash":"^4.18.1","multer":"^2.1.1","throng":"^5.0.0","express":"^5.2.1","winston":"^3.19.0","fs-extra":"^11.3.2","passport":"^0.7.0","socket.io":"^4.8.3","waterline":"^0.15.2","jwt-simple":"^0.5.6","sails-disk":"^2.1.2","sails-mongo":"^2.1.2","connect-redis":"^9.0.0","cookie-parser":"^1.4.7","express-session":"^1.19.0","moment-timezone":"^0.6.2","express-http-proxy":"^2.1.2","@socket.io/redis-adapter":"^8.3.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"mocha":"^11.7.5"},"_npmOperationalInternal":{"tmp":"tmp/cordovabox_2.3.6_1780437426650_0.8399490367590854","host":"s3://npm-registry-packages-npm-production"}},"2.3.8":{"name":"cordovabox","version":"2.3.8","main":"index.js","scripts":{"test":"mocha tests","docs:html":"node scripts/build-docs-html.js","buildDev":"gulp build","build":"gulp buildProd","start":"node index.js","production":"gulp buildProd && PORT=80 node tcluster.js","dev":"gulp buildDev && gulp watch & node lib/server.js ","server":"gulp build && node server.js","watch":"gulp watch","single":"gulp build; node server.js","cluster":"forever cluster.js","buildApp":"node bin/build.js"},"bin":{"cordovabox":"bin/index.js"},"preferGlobal":true,"directories":{"lib":"lib"},"engines":{"node":">=22"},"dependencies":{"@socket.io/redis-adapter":"^8.3.0","async":"^3.2.6","axios":"^1.17.0","connect-redis":"^9.0.0","cookie-parser":"^1.4.7","cors":"^2.8.6","csrf":"^3.1.0","ejs":"^5.0.2","express":"^5.2.1","express-http-proxy":"^2.1.2","express-session":"^1.19.0","fs-extra":"^11.3.2","jwt-simple":"^0.5.6","lodash":"^4.18.1","moment-timezone":"^0.6.2","multer":"^2.1.1","open":"^11.0.0","passport":"^0.7.0","redis":"^5.10.0","sails-disk":"^2.1.2","sails-mongo":"^2.1.2","socket.io":"^4.8.3","throng":"^5.0.0","walk":"^2.3.15","waterline":"^0.15.2","winston":"^3.19.0"},"author":{"name":"Derrek Cordova"},"license":"none","overrides":{"mocha":{"diff":"^8.0.3","serialize-javascript":"^7.0.5"},"qs":"^6.15.2","anchor":{"validator":"13.15.35"}},"devDependencies":{"mocha":"^11.7.5"},"_id":"cordovabox@2.3.8","gitHead":"21aba229449f5194f6746c9713326756dba228df","description":"CordovaBox is a Node.js MVC framework and CLI for scaffolding Express-style applications with controllers, models, routes, hooks, asset builds, Socket.io, Redis-backed sessions, and MongoDB/Waterline data layers.","_nodeVersion":"22.13.1","_npmVersion":"10.9.2","dist":{"integrity":"sha512-hbuP73bdaqeR4/rGUaaLNOLAbVmZna/FjkUQOdlqLE4f9GPnQINzA1CBcHHT3FTVYnneJRxHv8ASROnw8A7FYw==","shasum":"7f6316bb10af04be36f9e5f68e1847885d649fdd","tarball":"https://registry.npmjs.org/cordovabox/-/cordovabox-2.3.8.tgz","fileCount":241,"unpackedSize":3371096,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDuMkIp1n8qqe5531PYmZH8jX5bafhAvQZqh8r6MyDm3AIhAIyLsO5J9zbx2uDjdKRVFwSh87dTy5dMJCJexUKtu9bl"}]},"_npmUser":{"name":"derrekmc","email":"derrekmc@gmail.com"},"maintainers":[{"name":"derrekmc","email":"derrekmc@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cordovabox_2.3.8_1781363759191_0.05750444986556502"},"_hasShrinkwrap":false}},"time":{"created":"2021-09-03T19:03:11.646Z","modified":"2026-06-13T15:15:59.492Z","0.0.1":"2021-07-07T04:31:15.075Z","0.0.2":"2021-09-03T19:03:12.059Z","0.0.3":"2021-09-03T19:15:11.806Z","0.0.4":"2021-09-09T15:20:22.560Z","0.0.5":"2021-09-09T16:00:14.775Z","0.0.6":"2021-09-09T16:06:16.531Z","0.0.7":"2021-09-18T21:54:12.770Z","0.0.8":"2021-09-18T22:35:18.183Z","0.0.9":"2021-12-10T05:12:01.294Z","0.1.0":"2021-12-13T20:06:16.942Z","0.1.1":"2021-12-14T02:04:15.381Z","0.1.3":"2025-10-17T21:15:23.359Z","0.1.5":"2025-10-17T21:18:36.195Z","0.1.6":"2025-10-17T21:41:20.964Z","0.1.7":"2025-10-17T22:05:15.993Z","0.1.8":"2025-10-17T22:20:03.224Z","0.1.9":"2025-10-20T15:00:33.264Z","0.1.10":"2026-04-21T01:28:38.088Z","0.1.11":"2026-04-21T01:43:19.855Z","0.1.12":"2026-04-21T02:42:29.040Z","0.1.13":"2026-04-21T23:54:57.633Z","0.1.14":"2026-04-22T00:34:16.568Z","0.1.15":"2026-04-22T03:05:06.897Z","0.1.16":"2026-04-22T03:09:00.485Z","0.1.17":"2026-04-22T03:20:36.701Z","0.1.18":"2026-04-22T03:25:09.083Z","0.1.19":"2026-04-22T04:35:06.790Z","0.1.20":"2026-04-22T04:57:51.849Z","0.1.21":"2026-04-22T14:55:55.077Z","0.1.22":"2026-04-22T15:06:55.051Z","0.1.23":"2026-04-22T15:24:24.689Z","0.1.24":"2026-04-22T20:47:35.762Z","0.1.25":"2026-04-23T02:46:46.853Z","0.1.26":"2026-04-23T02:54:48.076Z","0.1.27":"2026-04-23T03:00:02.143Z","0.1.28":"2026-04-23T03:51:02.906Z","0.1.29":"2026-04-23T04:00:31.625Z","0.1.30":"2026-04-23T04:21:27.508Z","0.1.31":"2026-04-23T04:37:46.915Z","0.1.32":"2026-04-23T04:58:34.851Z","0.1.33":"2026-04-23T05:13:28.415Z","0.1.34":"2026-04-23T05:27:14.989Z","0.1.35":"2026-04-23T06:03:36.330Z","0.1.36":"2026-04-23T13:16:21.494Z","0.1.37":"2026-04-23T20:58:38.998Z","0.1.38":"2026-04-23T21:22:44.174Z","0.1.39":"2026-04-23T22:15:24.119Z","0.1.40":"2026-04-23T22:21:47.317Z","0.1.41":"2026-04-29T19:34:23.455Z","0.1.42":"2026-05-02T02:05:28.373Z","0.1.43":"2026-05-02T04:37:09.553Z","0.1.44":"2026-05-02T05:14:28.223Z","0.1.45":"2026-05-02T05:30:15.969Z","0.1.46":"2026-05-02T05:51:16.467Z","0.1.47":"2026-05-02T06:21:55.085Z","0.1.48":"2026-05-02T06:43:28.660Z","0.1.49":"2026-05-02T15:45:10.212Z","1.0.0":"2026-05-02T16:18:01.014Z","1.0.1":"2026-05-02T16:37:47.064Z","1.0.2":"2026-05-02T17:15:33.418Z","1.0.3":"2026-05-02T17:52:44.107Z","1.0.4":"2026-05-02T18:52:26.482Z","1.0.5":"2026-05-02T19:21:09.772Z","1.0.6":"2026-05-02T19:44:36.842Z","1.1.0":"2026-05-02T20:19:28.837Z","1.1.1":"2026-05-02T21:14:41.417Z","1.1.2":"2026-05-02T21:36:43.424Z","1.1.3":"2026-05-03T00:27:16.208Z","1.1.4":"2026-05-03T02:25:50.311Z","1.1.5":"2026-05-03T03:23:17.605Z","1.1.6":"2026-05-03T21:10:46.500Z","1.1.7":"2026-05-03T21:25:38.231Z","1.1.8":"2026-05-03T22:10:02.951Z","1.1.9":"2026-05-04T02:44:18.315Z","1.1.10":"2026-05-04T23:55:20.393Z","1.1.11":"2026-05-05T03:49:56.356Z","1.2.0":"2026-05-05T14:41:38.238Z","1.3.0":"2026-05-05T15:52:15.764Z","1.4.0":"2026-05-05T16:32:56.237Z","1.4.1":"2026-05-05T17:04:52.496Z","1.4.2":"2026-05-05T17:34:07.051Z","2.0.0":"2026-05-05T17:52:01.404Z","2.1.0":"2026-05-05T22:03:28.363Z","2.2.0":"2026-05-06T02:53:43.324Z","2.3.0":"2026-05-06T16:43:52.891Z","2.3.1":"2026-05-06T22:10:28.588Z","2.3.2":"2026-05-09T23:54:08.250Z","2.3.3":"2026-05-10T14:37:27.599Z","2.3.4":"2026-05-19T03:08:39.840Z","2.3.5":"2026-06-02T17:57:53.331Z","2.3.6":"2026-06-02T21:57:06.826Z","2.3.8":"2026-06-13T15:15:59.370Z"},"author":{"name":"Derrek Cordova"},"license":"none","description":"CordovaBox is a Node.js MVC framework and CLI for scaffolding Express-style applications with controllers, models, routes, hooks, asset builds, Socket.io, Redis-backed sessions, and MongoDB/Waterline data layers.","maintainers":[{"name":"derrekmc","email":"derrekmc@gmail.com"}],"readme":"# CordovaBox\r\n\r\nCordovaBox is a Node.js MVC framework and CLI for scaffolding Express-style applications with controllers, models, routes, hooks, asset builds, Socket.io, Redis-backed sessions, and MongoDB/Waterline data layers.\r\n\r\n## Quick Start\r\n\r\nInstall the CLI and create an app:\r\n\r\n```bash\r\nnpm install -g cordovabox\r\ncordovabox new MyProject\r\ncd MyProject\r\nnpm install\r\ncordovabox dev\r\n```\r\n\r\nOpen `http://localhost:3000`.\r\n\r\n## Official Documentation\r\n\r\nThe human and AI readable documentation lives in [docs/README.md](docs/README.md), with a dark-default static docs site at [docs/index.html](docs/index.html) and one HTML page per guide under `docs/html/`. Generated scaffold apps include a homepage link to `/docs/` after the normal asset build.\r\n\r\n## CLI Commands\r\n\r\n| Command | Purpose |\r\n| --- | --- |\r\n| `cordovabox -v` | Print the installed CordovaBox version. |\r\n| `cordovabox new <appname>` | Copy the bundled app template into `./<appname>` and set the generated `package.json` name. |\r\n| `cordovabox generate crud <name> --print` | Print the generated CRUD controller, model, service, authenticated route config, and policy source to stdout. |\r\n| `cordovabox generate crud <name> --write` | Write generated CRUD files into the current app without overwriting existing files. Add `--force` to replace existing files. |\r\n| `cordovabox generate-api <name>` | Create an API bundle: controller, model, service, authenticated `/api/<name>` routes, and a default `isAuthenticated` policy if missing. Use `--route-base /api/custom` to override the route path. |\r\n| `cordovabox generate-route <name>` | Add singular REST routes for `api/controllers/<name>Controller.js` and `api/models/<name>.js` under `/api/<name>`. Use `--route-base /api/custom` to override the route path. |\r\n| `cordovabox generate-model <name>` | Create only `api/models/<name>.js`; the model is exposed globally after startup. |\r\n| `cordovabox generate-controller <name>` | Create only `api/controllers/<name>Controller.js` with editable CRUD actions. |\r\n| `cordovabox generate-service <name>` | Create only `api/services/<name>.js`; the service is exposed globally as `<name>Service` after startup. |\r\n| `cordovabox generate-policy <name>` | Create `api/policies/httpRequests/<name>.js` for use in `config/routes.js` `policies`. |\r\n| `cordovabox start` | Start the app on `PORT` or port `3000`. |\r\n| `cordovabox start <port>` | Start the app on a specific port. |\r\n| `cordovabox dev` | Run the generated app's development build/watch tasks and start the server. |\r\n\r\nWhen working from this repository instead of a global install, create a generated app first:\r\n\r\n```bash\r\nnode bin/index.js -v\r\nnode bin/index.js new MyProject\r\ncd MyProject\r\nnpm install\r\nnode ../bin/index.js generate-api user\r\nnode ../bin/index.js start 3000\r\n```\r\n\r\n## Generated App Workflow\r\n\r\nRun generator commands from the generated app directory because paths are relative to the current working directory.\r\n\r\n```bash\r\ncordovabox new MyProject\r\ncd MyProject\r\nnpm install\r\ncordovabox generate-api user\r\ncordovabox dev\r\n```\r\n\r\n`generate-api user` creates:\r\n\r\n```text\r\napi/controllers/userController.js\r\napi/models/user.js\r\napi/services/user.js\r\napi/policies/httpRequests/isAuthenticated.js\r\nconfig/routes.js entries with policies: ['isAuthenticated']\r\n```\r\n\r\nIt also appends authenticated singular REST routes to `config/routes.js`:\r\n\r\n```text\r\nGET    /api/user\r\nPOST   /api/user\r\nGET    /api/user/:id\r\nPUT    /api/user/:id\r\nDELETE /api/user/:id\r\n```\r\n\r\nUse `generate-route user` to add or refresh only those route entries. The generator keeps singular paths by default. Pass `--route-base` when the public route should differ from the model name:\r\n\r\n```bash\r\ncordovabox generate crud user --print\r\ncordovabox generate crud user --write\r\ncordovabox generate crud user --write --force\r\ncordovabox generate-api account --route-base /api/accounts\r\ncordovabox generate-route account --route-base /api/accounts\r\n```\r\n\r\nThe generated controller delegates CRUD operations to the generated service, and the route entries are explicit JavaScript config so app developers can audit and edit the policy boundary. `--write` skips existing controller, model, service, and policy files unless `--force` is present.\n\nGenerated models, services, and controllers are loaded as globals after CordovaBox bootstraps the app. Runtime app code can use them directly, for example `let user = await User.find({ username: \"derrek\" });` or `await userService.find(...)`. Do not add fallback loaders such as `global[\"AudioRegionService\"] || require(\"../services/AudioRegion\")` inside controllers, services, policies, hooks, or configured route handlers.\n\r\nNew generated apps also include a homepage newsletter example. `POST /app/newsletter/subscribe` records valid signups in the local `Newsletter` model first, then optionally syncs to Mailchimp when `config/config.js` includes `thirdParty.email.mailchimp.apiKey`, `serverPrefix`, and `listId`. The homepage links to `/admin/models` so local records can be inspected.\r\n\r\nGenerated apps expose runtime API documentation in development:\r\n\r\n```text\r\nGET /admin/docs\r\nGET /admin/docs/openapi.json\r\n```\r\n\r\nThe `apiDocs` hook builds OpenAPI 3.1 output from `config/routes.js`, loaded model attributes, route policies, generated CRUD resources, legacy model CRUD routes when enabled, and core endpoints such as CSRF, uploads, scoped uploads, and server logs. It loads after `adminAuth`, so the default `/admin/docs` route follows configured `admin.policies`. Disable it with `apiDocs.enabled: false` or add `apiDocs.policies` for additional route-local protection.\r\n\r\n`generate-policy isAuthenticated` creates an app/API route policy:\r\n\r\n```text\r\napi/policies/httpRequests/isAuthenticated.js\r\n```\r\n\r\nReference route policies by filename in `config/routes.js`:\r\n\r\n```js\r\n{\r\n    route: '/api/user',\r\n    method: 'get',\r\n    controller: 'UserController',\r\n    model: 'User',\r\n    policies: ['isAuthenticated']\r\n}\r\n```\r\n\r\nPolicies are standard Express middleware loaded from `api/policies/httpRequests`. They can reject a request or attach request state before the controller runs:\r\n\r\n```js\r\n// api/policies/httpRequests/isAuthenticated.js\r\nmodule.exports = function isAuthenticated(req, res, next) {\r\n    var userId = req.userId\r\n        || (req.user && (req.user.id || req.user._id))\r\n        || (req.session && req.session.userId);\r\n\r\n    if (!userId) {\r\n        return res.status(401).json({ error: 'Authentication required' });\r\n    }\r\n\r\n    req.userId = userId;\r\n    return next();\r\n};\r\n```\r\n\r\nCordovaBox registers a built-in `isAuthenticated` fallback in the policies hook so apps can opt into API protection even when an older app has not created an app-local policy file. App-local `api/policies/httpRequests/isAuthenticated.js` overrides the built-in.\r\n\r\nBy default, configured `/api/*` routes stay open for first stand-up. Set `security.api.protectRoutes: true` or legacy `api.protectRoutes: true` before `_Config.api.policies`, `security.api.defaultPolicies`, or `['isAuthenticated']` are applied as defaults. Mark intentional public API exceptions in `config/routes.js`:\r\n\r\n```js\r\n{\r\n    route: '/api/login',\r\n    method: 'post',\r\n    controller: 'AuthController',\r\n    action: 'login',\r\n    public: true,\r\n    policies: []\r\n}\r\n```\r\n\r\nYou can also list public exceptions in `config/config.js`:\r\n\r\n```js\r\napi: {\r\n    protectRoutes: true,\r\n    policies: ['isAuthenticated'],\r\n    publicRoutes: ['POST /api/login', 'GET /api/health']\r\n}\r\n```\r\n\r\nAPI protection is opt-in when `api.protectRoutes` / `security.api.protectRoutes` is missing. New scaffold apps start open for first stand-up, then apps can enable protection and keep login or health routes public with `security.api.public.routes` or legacy `api.publicRoutes`.\r\n\r\nMigration note: generated apps keep legacy `/<model>` auto CRUD routes enabled for compatibility, but those runtime routes use `models.autoCrudPolicies` or `['isAuthenticated']` by default unless marked `public: true`. Prefer explicit `/api/<model>` routes for new APIs because they are easier to audit. Set `models.autoCrudRoutes = false` after adding explicit routes if an app wants to remove the legacy `/<model>` surface.\r\n\r\nRoutes that need signature verification can opt into raw or text body parsing without changing normal JSON/form parsing. The `rawBody` hook reads these route settings and mounts the matching parser before routes run:\r\n\r\n```js\r\n{\r\n    route: '/webhooks/provider',\r\n    method: 'post',\r\n    controller: 'WebhookController',\r\n    action: 'receive',\r\n    rawBody: {\r\n        type: 'application/json',\r\n        limit: '2mb'\r\n    }\r\n}\r\n```\r\n\r\nRaw-body routes receive `req.body` as a `Buffer` and also get `req.rawBody` set to the same bytes. The shorthand `rawBody: true` uses `type: '*/*'` and `limit: '1mb'`. Routes without `rawBody` continue to receive parsed JSON/form bodies from the `bodyParser` hook.\r\n\r\n```js\r\n// api/controllers/WebhookController.js\r\nmodule.exports = {\r\n    receive: async function(req, res) {\r\n        const rawPayload = req.rawBody.toString('utf8');\r\n        // Verify the provider signature against rawPayload here.\r\n        return res.ok({ received: true });\r\n    }\r\n};\r\n```\r\n\r\nFor text bodies, use:\r\n\r\n```js\r\n{\r\n    route: '/webhooks/text',\r\n    method: 'post',\r\n    controller: 'WebhookController',\r\n    action: 'receive',\r\n    textBody: {\r\n        type: '*/*',\r\n        limit: '1mb'\r\n    }\r\n}\r\n```\r\n\r\nText-body routes receive `req.body` as a string.\r\n\r\n## Sessions And Request IPs\r\n\r\nGenerated apps keep Express sessions enabled by default for backward compatibility. The `session` hook owns `cookie-parser` and `express-session`; JWT-only apps can disable sessions so cacheable pages do not emit a `connect.sid` cookie:\r\n\r\n```js\r\nserver: {\r\n    sessions: {\r\n        enabled: false\r\n    }\r\n}\r\n```\r\n\r\nApps that use sessions should set a real secret in config or with `SESSION_SECRET`. The `redis` hook exposes shared Redis clients on `app.redis`; Redis-backed sessions can use the legacy flag or the newer store shape:\r\n\r\n```js\r\nserver: {\r\n    sessions: {\r\n        enabled: true\r\n    },\r\n    session: {\r\n        secret: process.env.SESSION_SECRET,\r\n        store: 'redis'\r\n    }\r\n}\r\n```\r\n\r\n`server.redisSessions = true` still works. The session hook uses the Redis hook for the `connect-redis` store. The `ipaddress` hook stores the requester address on `req.ipAddress`; it only mirrors to `req.session.ipAddress` when a session already exists.\r\n\r\n## Server Logs\r\n\r\nCordovaBox keeps an in-memory tail of logs written through the framework logger and exposes a hook-owned viewer at `/admin/logs`. This is a lightweight watchdog/Papertrail-style runtime panel for local and admin use.\r\n\r\n```js\r\nserverLogger: {\r\n    enabled: true,\r\n    route: '/admin/logs',\r\n    maxEntries: 1000,\r\n    socketRoom: 'resource:serverLogger'\r\n}\r\n```\r\n\r\nThe page loads `CordovaBoxClient`, opens the `/admin/logs` route-shaped socket channel, and receives new entries as `log.created` envelopes. `GET /admin/logs.json` is still available for initial page render, manual refresh, filtering, and scripts.\r\n\r\nUseful endpoints:\r\n\r\n```text\r\nGET /admin/logs       HTML log viewer\r\nGET /admin/logs.json  JSON log tail with optional search, level/levels, direction, and limit query params\r\nPOST /admin/logs      Add a piped log entry with { level, message, source, meta }\r\nDELETE /admin/logs    Clear the in-memory tail\r\n```\r\n\r\n## Admin Login\r\n\r\nCordovaBox ships an opt-in admin auth boundary. The `adminAuth` hook owns `/admin/login` and `/admin/logout`, then applies configured HTTP policies to everything registered later under `/admin`, including `/admin/models` and `/admin/logs`.\r\n\r\nGenerated apps leave admin tools open by default for backward compatibility:\r\n\r\n```js\r\nadmin: {\r\n    routePrefix: '/admin',\r\n    policies: [],\r\n    auth: {\r\n        enabled: true,\r\n        loginRoute: '/admin/login',\r\n        logoutRoute: '/admin/logout',\r\n        successRedirect: '/admin/models',\r\n        username: process.env.CORDOVABOX_ADMIN_USERNAME || 'admin',\r\n        password: process.env.CORDOVABOX_ADMIN_PASSWORD || ''\r\n    }\r\n}\r\n```\r\n\r\nEnable the login boundary by setting a password and adding a policy:\r\n\r\n```js\r\nadmin: {\r\n    routePrefix: '/admin',\r\n    policies: ['isAdminAuthenticated'],\r\n    auth: {\r\n        password: process.env.CORDOVABOX_ADMIN_PASSWORD\r\n    }\r\n}\r\n```\r\n\r\nThe admin boundary uses HTTP policies from `api/policies/httpRequests`; it does not hard-code a session check into `/admin` itself. The scaffolded `isAdminAuthenticated` policy is for CordovaBox admin hook pages such as `/admin/models` and `/admin/logs`. It accepts the built-in session login flag or `admin.auth.validateRequest(req)` / `admin.auth.isAuthenticated(req)` when configured. Admin browser requests that fail the policy redirect to the configured `admin.auth.loginRoute`.\r\n\r\nKeep `isAuthenticated` for app/API routes. Do not reuse it for CordovaBox admin browser pages unless the app intentionally wants one shared policy.\r\n\r\nJWT-only apps can keep the same boundary by disabling the built-in login routes and validating bearer tokens in app-owned request auth:\r\n\r\n```js\r\nadmin: {\r\n    routePrefix: '/admin',\r\n    policies: ['isAdminAuthenticated'],\r\n    auth: {\r\n        enabled: false,\r\n        validateRequest: function(req) {\r\n            var header = req.get('authorization') || '';\r\n            var token = header.replace(/^Bearer\\s+/i, '');\r\n            return token === process.env.CORDOVABOX_ADMIN_TOKEN;\r\n        }\r\n    }\r\n}\r\n```\r\n\r\nSocket policies remain separate. `api/policies/sockets/isTokenAuthenticated.js` authenticates Socket.IO handshakes and route-channel requests; it is not imported by the admin or log hooks.\r\n\r\nUploaded files are served by the upload hook. New apps keep the default `/uploads` static mount and can add app-specific mounts in `config/config.js`:\r\n\r\n```js\r\nuploads: {\r\n    mounts: [\r\n        { urlPath: '/uploads', directory: 'uploads' },\r\n        { urlPath: '/message-uploads', directory: 'uploads/messages' }\r\n    ],\r\n    builtInEndpoints: true,\r\n    scopes: {}\r\n}\r\n```\r\n\r\nMount directories are relative to the app root unless `uploads.allowExternalDirectories` is enabled for absolute/external paths. CordovaBox creates missing upload directories and ignores invalid mount paths safely; root `/` mounts require `uploads.allowRootMount`. Built-in upload endpoints remain enabled by default for `POST /api/upload/image`, `POST /api/upload/video`, and `GET /api/media/:id`; set `builtInEndpoints: false` or `endpoints: false` to disable those hook-owned routes.\r\n\r\nApps can add authenticated scoped upload endpoints without changing the generic upload routes. Scope templates interpolate sanitized request values such as `:userId`; when `requireAuth` is true, app middleware or an app hook that runs before the upload hook must set `req.userId`. The upload hook uses its own scoped auth policy to return `401` when that contract is missing; it does not pull global route policies into these hook-owned routes.\r\n\r\n```js\r\nuploads: {\r\n    mounts: [{ urlPath: '/uploads', directory: process.env.UPLOAD_ROOT || 'uploads' }],\r\n    scopes: {\r\n        profilePhoto: {\r\n            route: '/api/upload/profile-photo',\r\n            fieldName: 'image',\r\n            kind: 'image',\r\n            directory: ':userId/photos',\r\n            urlPath: '/uploads/:userId/photos',\r\n            maxBytes: 25 * 1024 * 1024,\r\n            allowedExtensions: ['.jpg', '.jpeg', '.png', '.gif', '.webp'],\r\n            requireAuth: true\r\n        },\r\n        messageImage: {\r\n            route: '/api/upload/message-image',\r\n            fieldName: 'image',\r\n            kind: 'image',\r\n            directory: ':userId/messages',\r\n            urlPath: '/uploads/:userId/messages',\r\n            maxBytes: 5 * 1024 * 1024,\r\n            allowedExtensions: ['.jpg', '.jpeg', '.png', '.gif', '.webp'],\r\n            requireAuth: true\r\n        }\r\n    }\r\n}\r\n```\r\n\r\nScoped uploads return `/uploads/...` URLs and metadata. They create a `Media` record when `global.Media` is available, but apps can also store the returned metadata directly in their own models.\r\n\r\nApp-level Waterline model defaults also live in `config/config.js`. Generated apps default to numeric auto-increment ids, but a string or UUID-style app can override `models.attributes.id` globally:\r\n\r\n```js\r\nmodels: {\r\n    attributes: {\r\n        id: {\r\n            type: 'string',\r\n            required: true\r\n        }\r\n    }\r\n}\r\n```\r\n\r\nIndividual model files win over app defaults:\r\n\r\n```js\r\nmodule.exports = {\r\n    primaryKey: 'uuid',\r\n    attributes: {\r\n        id: false,\r\n        uuid: {\r\n            type: 'string',\r\n            required: true\r\n        }\r\n    }\r\n};\r\n```\r\n\r\nThe generated app includes its own `README.md` with app-specific run commands, environment variables, and folder notes.\r\n\r\n## Repository Layout\r\n\r\n| Path | Purpose |\r\n| --- | --- |\r\n| `bin/index.js` | CLI entry point for the `cordovabox` binary. |\r\n| `bin/build.js` | Implements app and API scaffolding commands. |\r\n| `bin/app/` | Template copied by `cordovabox new <appname>`. |\r\n| `lib/app.js` | Main runtime app bootstrap used by `start` and `dev`. |\r\n| `lib/hooks/` | Hook modules loaded during bootstrap. |\r\n| `skills/cordovabox-skill/` | Codex skill with agent-facing project instructions. |\r\n\r\n## Development\r\n\r\nCordovaBox targets Node.js 22 or newer.\r\n\r\nInstall dependencies:\r\n\r\n```bash\r\nnpm install\r\n```\r\n\r\nUseful repository checks:\r\n\r\n```bash\r\nnode bin/index.js -v\r\nnode bin/index.js new MyProject\r\n```\r\n\r\nThe root `npm test` command runs the `tests/` folder. Hook-owned tests should live with the hook at `lib/hooks/<hookName>/tests/index.js`; `tests/hook-test-loader.js` is discovered by Mocha and loads those hook-local suites. The runtime hook loader ignores `tests` directories and only registers modules that export `register(app, server, cb)`. Run app build commands from a generated app directory unless a root build file is present.\r\n\r\nGenerated app commands:\r\n\r\n```bash\r\nnpm run buildDev\r\nnpm run build\r\nnpm test\r\nnpm start\r\n```\r\n\r\nDependency baseline:\r\n\r\n- Express 5.\r\n- Socket.IO 4.8 with `@socket.io/redis-adapter` and `redis` for clustered sockets.\r\n- Winston 3 through the CordovaBox logger wrapper, including optional formatted timestamps via `_Config.logger` and the hook-owned `/admin/logs` runtime tail.\r\n- Waterline 0.15 with Sails datastore adapters 2.x and configurable app-level model defaults via `_Config.models`.\r\n- Generated apps use Gulp 5 with a lean asset-copy/minification pipeline.\r\n\r\n## Realtime Routes And Model Events\r\n\r\nGenerated apps include `assets/js/CordovaBoxClient.js`, a small browser helper for CRUD requests, auth tokens, CSRF, and route-shaped Socket.IO channels:\n\r\n```html\r\n<script src=\"/socket.io/socket.io.js\"></script>\r\n<script>\r\nwindow.CordovaBoxClientConfig = {\r\n    environment: 'production',\r\n    showStartupLogo: true,\r\n    csrfEnabled: true\r\n};\r\n</script>\r\n<script src=\"/js/CordovaBoxClient.js?v=<%= stats.version %>\"></script>\r\n```\r\n\r\n```js\r\nasync function loadNewsletter() {\r\n    CordovaBoxClient.setToken(token);\r\n\r\n    const records = await CordovaBoxClient.get('/newsletter');\r\n    CordovaBoxClient.renderNewsletterSignups('#newsletterSignups', records);\r\n\r\n    await CordovaBoxClient.on('/newsletter', function(envelope) {\r\n        console.log(envelope.channel, envelope.event, envelope.data);\r\n    });\r\n\r\n    await CordovaBoxClient.post('/app/newsletter/subscribe', {\r\n        email: 'reader@example.com'\r\n    });\r\n}\n```\n\nPrefer `CordovaBoxClient` over raw `fetch()` or direct `io()` calls when browser code needs CordovaBox auth tokens, CSRF, route policy handling, socket-backed route execution, retries, request timeouts, or route-shaped realtime subscriptions.\n\nUse `CordovaBoxClient.request({ method, url, data, headers, timeout }, callback)` when code needs a Sails-style response object. The promise resolves with the response body; the optional callback receives `(body, jwres)`, where `jwres` includes `statusCode`, `headers`, `body`, `error`, and `transport`.\n\r\n`request()` uses HTTP by default. Set `transport: 'socket'` or `socket: true` to send the request over Socket.IO and execute a configured CordovaBox route through the same controller and HTTP policy stack. Socket-backed requests use `cordovabox:request`, queue behind the active socket connection attempt, and reject with socket transport metadata on timeout, abort, or unavailable Socket.IO. If `/socket.io/socket.io.js` is missing, HTTP helpers keep working and realtime calls return socket transport errors. Retries are opt-in with `retries` or `retry: true`; only idempotent methods retry by default unless `retryMethods` or `retryUnsafe: true` is set.\r\n\r\nLifecycle-aware browser code can call `configure`, `connect`, `disconnect`, `reconnect`, `isConnected`, and `isConnecting`. Use `CordovaBoxClient.create(options)` for isolated client instances with separate auth tokens, sockets, subscriptions, and request queues. TypeScript-aware editors can load the ambient definition from `docs/types/CordovaBoxClient.d.ts`; scaffold docs copy the same file under `/docs/types/CordovaBoxClient.d.ts`.\r\n\r\nWhen `csrfEnabled: true` is set before the versioned `/js/CordovaBoxClient.js` script loads, the client asks `GET /csrf` before the first unsafe request and reuses that token for `POST`, `PUT`, `PATCH`, and `DELETE` calls through `x-csrf-token`. The server CSRF hook validates the same unsafe methods when `_Config.http.csrf` is true. Generated homepages set this flag from `_Config.http.csrf`. Apps may still pass their own CSRF header per request; explicit `csrf-token`, `xsrf-token`, `x-csrf-token`, or `x-xsrf-token` headers are preserved and the client does not fetch a replacement token for that request.\r\n\r\nRoutes that must verify a third-party signature instead of CordovaBox CSRF, such as webhooks, can opt out in `config/routes.js`:\r\n\r\n```js\r\n{\r\n    route: '/webhooks/stripe',\r\n    method: 'post',\r\n    controller: 'WebhookController',\r\n    action: 'stripe',\r\n    csrf: false\r\n}\r\n```\r\n\r\nHook-owned admin HTML forms inject `_csrf` hidden inputs when CSRF is enabled. Browser code that uses `CordovaBoxClient` can rely on the automatic header instead.\r\n\r\nRoute-shaped socket channels are authorization requests, not raw room names. Clients call `CordovaBoxClient.on()` with a route-like channel such as `/api/messages/between/carmen`; the sockets hook applies socket policies and resolves that request to a safe internal room such as `conversation:<id>`.\r\n\r\nConfigure route-shaped channels in `config/config.js`:\r\n\r\n```js\r\nsocketRoutes: {\r\n    '/newsletter': {\r\n        room: 'resource:newsletter'\r\n    },\r\n    '/api/messages/between/:userSlug': {\r\n        policies: ['isTokenAuthenticated'],\r\n        resolve: async function({ socket, params }) {\r\n            var conversation = await messageService.findConversation(socket.userId, params.userSlug);\r\n            return {\r\n                room: 'conversation:' + conversation.id\r\n            };\r\n        }\r\n    }\r\n}\r\n```\r\n\r\nThe sockets hook exposes helpers through `app.sockets` and `global.Sockets`:\r\n\r\n```js\r\nSockets.emitRoom('resource:newsletter', 'newsletter.created', subscription);\r\nSockets.emitUser(user.id, 'notification.created', notification);\r\nSockets.emitRoute('/api/messages/between/:userSlug', {\r\n    userSlug: 'carmen'\r\n}, 'message.created', message);\r\n\r\nSockets.subscribeResource(req.socket, 'Newsletter');\r\nSockets.subscribeResource(req.socket, 'Newsletter', subscription.id);\r\nSockets.publishCreate('Newsletter', subscription);\r\nSockets.publishUpdate('Newsletter', subscription.id, subscription);\r\n```\r\n\r\n`Sockets.join`, `Sockets.leave`, and `Sockets.broadcast` are available for code migrating from `sails.sockets` room helpers. Prefer `subscribeResource`, `unsubscribeResource`, `publishCreate`, `publishUpdate`, and `publishDestroy` for model/resource PubSub because they normalize room names to safe internal values such as `resource:newsletter` and `resource:newsletter:7`.\r\n\r\nRealtime envelopes have this shape:\r\n\r\n```js\r\n{\r\n    channel: '/api/messages/between/carmen',\r\n    event: 'message.created',\r\n    data: message,\r\n    timestamp: '2026-05-02T00:00:00.000Z'\r\n}\r\n```\r\n\r\n`await CordovaBoxClient.on(route, handler, options)` registers the handler and resolves with the server channel ack. Rejected channel requests throw an `Error` whose `result` property contains the server response. `CordovaBoxClient.off(route, handler)` leaves the route-shaped channel.\r\n\r\nThe browser client shows the large CordovaBoxClient startup logo by default. Set `window.CordovaBoxClientConfig.showStartupLogo = true` before loading `/js/CordovaBoxClient.js` when the logo should remain visible in every environment, including production. Explicit hide flags still switch to compact socket status lines such as `--={||}=-- CordovaBoxClient socket plugged`.\r\n\r\nMigration note from the previous route-shaped socket version to this version: subscription envelopes keep a single `event` string such as `'message.created'`. Prefer `await CordovaBoxClient.on(route, handler, options)` for new code. `CordovaBoxClient.subscribe(route, handler, options)` remains available as a compatibility alias.\r\n\r\nMigration note from the previous CordovaBoxClient CSRF behavior: older clients did not fetch `/csrf` or attach CSRF headers automatically. If an app enables `_Config.http.csrf`, set `window.CordovaBoxClientConfig.csrfEnabled = true` before loading `/js/CordovaBoxClient.js`, or keep passing explicit CSRF headers in request options. Use the correctly spelled `csrfEnabled`; the misspelled `csfrEnabled` option is ignored.\r\n\r\nCordovaBoxClient compatibility policy: `request(options, callback)`, the `jwres` response shape, CRUD helpers, route-channel `on`/`off`, `subscribe`/`unsubscribe`, `setToken`, and `logout` remain stable public methods through the current major version. Prefer `on(route, handler, options)` over `subscribe()` in new code and prefer `request({ transport: 'socket' })` when Socket.IO should execute configured server routes instead of raw custom socket events.\r\n\r\nRoute transport metadata keeps HTTP and socket execution explicit. Routes default to both transports; use `transports: ['http']` for HTTP-only routes and `transports: ['socket']` for Socket.IO-only route execution. `httpOnly: true`, `socketOnly: true`, `socket: false`, and `http: false` remain compatibility shorthands, but new routes should prefer `transports`.\r\n\r\nThe `modelEvents` hook wraps loaded Waterline model globals after the `models` hook runs. When a configured operation resolves, CordovaBox still emits backward-compatible Socket.IO events named by model route, by model identity, and by `model:event`. If a matching `socketRoutes` entry exists, model events are also emitted to the resolved internal route room. A `Newsletter.create(...).fetch()` emits `/newsletter`, `newsletter`, and `model:event` with a bounded payload containing `model`, `operation`, `verb`, `data`, and `timestamp`, and it also publishes resourceful `cordovabox:event` envelopes through `Sockets.publishModelEvent()`.\r\n\r\nGenerated apps keep this mutation-only by default so production-sized `find()` results are not broadcast during normal reads:\r\n\r\n```js\r\nmodelEvents: {\r\n    enabled: true,\r\n    operations: ['create', 'createEach', 'update', 'updateOne', 'destroy', 'destroyOne'],\r\n    emitReads: false,\r\n    includeReadPayloads: false,\r\n    maxPayloadRecords: 50,\r\n    maxPayloadBytes: 65536\r\n}\r\n```\r\n\r\nMigration note from CordovaBox 2.1.0: `find` and `findOne` are opt-in read events. Add `emitReads: true` and list those operations only for apps that intentionally need read notifications. Read events publish `{ model, operation, count, truncated }` summaries by default; `includeReadPayloads: true` includes records only under `maxPayloadRecords` and `maxPayloadBytes`.\r\n\r\n## App And Hook Boundaries\r\n\r\n`lib/app.js` owns Express application setup: app creation, server startup, and hook bootstrap. Static serving belongs to the `static` hook, session/cookie middleware belongs to the `session` hook, and Redis client setup belongs to the `redis` hook.\r\n\r\nHooks under `lib/hooks/<hookName>/index.js` receive `app` and `server` from the hook loader and register behavior through that app. Hooks should stay decoupled: do not require sibling hook internals from another hook. When hooks need shared framework behavior, wire it through `lib/app.js`, `_Config`, globals that are part of CordovaBox's public runtime contract, or explicit interfaces on `app`.\r\n\r\nAllowed hook imports are same-hook helper files, package/core modules, and neutral shared libraries outside `lib/hooks`, such as `lib/http`, `lib/routing`, `lib/security`, `lib/realtime`, or `lib/logging`. Forbidden imports are any direct reach into another hook folder, such as `../routes`, `../../hooks/routes`, or another hook's local helper. Runtime services owned by a hook must flow through `app`, such as `app.criteria` from the criteria hook and `app.policies` from the policies hook; downstream hooks should throw a clear error if that app interface is missing. Shared pure behavior can live in a neutral `lib/<domain>` module, but hook-owned services should still be exposed by the owning hook. `tests/hook-independence.js` enforces this boundary and should be run after hook changes.\r\n\r\nThe `static` hook serves `_Config.site.rootFolder` or `public` with `index: false`. It runs after controllers load and before configured app routes, so static assets such as `/js/CordovaBoxClient.js` win over catch-all routes while `/` can still render EJS through `ApplicationController`.\r\n\r\nThe `rawBody` hook owns route-level raw/text body behavior. The `bodyParser` hook owns normal JSON/form parsing and is ordered after `rawBody`, so it can skip raw/text routes before consuming the request stream. `lib/app.js` must not mount global `express.json()` or `express.urlencoded()` before hooks load.\r\n\r\nPreserve existing public function signatures when changing core framework code. Add optional config fields or helpers where needed, but do not restructure hook methods, controller action calls, class constructors, or function inputs/outputs without deciding that change deliberately first.\r\n\r\n## Migrating Express Apps\r\n\r\nMigrate existing Express apps into CordovaBox by moving behavior into CordovaBox MVC pieces instead of mounting the old Express app.\r\n\r\n- Move old route handlers into `api/controllers/*Controller.js`.\r\n- Move reusable business logic into `api/services/*.js`.\r\n- Move route middleware into `api/policies/httpRequests/*.js` and reference it from `config/routes.js`.\r\n- Move app-level reusable middleware into a dedicated hook only when it is framework/app infrastructure.\r\n- Configure datastores, upload mounts, raw-body routes, logger/serverLogger behavior, and model defaults through `config/config.js` and `config/routes.js`.\r\n- Move EJS views into `views/` and assets into `assets/`, then let the generated build copy them into `public/`.\r\n\r\nDo not mount the previous Express app with `app.use(oldApp)` inside CordovaBox. That bypasses route policies, hook order, generated CRUD conventions, and framework-owned middleware.\r\n\r\n## Runtime Configuration\r\n\r\nCommon environment variables:\r\n\r\n| Variable | Purpose |\r\n| --- | --- |\r\n| `PORT` | HTTP port, defaulting to `3000`. |\r\n| `MONGO_URL` | MongoDB connection string when using Mongo-backed models. |\r\n| `REDIS_URL` | Redis connection string for sessions, cache, or Socket.io clustering when enabled. |\r\n| `SESSION_SECRET` | Express session secret when sessions are enabled. |\r\n\r\nExample:\r\n\r\n```powershell\r\n$env:PORT=4000\r\ncordovabox start\r\n```\r\n\r\n## Hooks\r\n\r\nRuntime behavior is composed from hook modules under `lib/hooks/<hookName>/index.js`. `lib/hooks/index.js` discovers hook files, sorts them, then requires and registers them in a deliberate production order:\r\n\r\n```text\r\nconfig, redis, session, rawBody, bodyParser, csrf, http, ipaddress, cors,\r\npolicies, criteria, models, modelEvents, services, controllers, static,\r\nroutes, sockets, ejs, upload, adminAuth, apiDocs, admin, serverLogger, stats, cache\r\n```\r\n\r\nGenerated apps can partially override hook order in `config/config.js`:\r\n\r\n```js\r\nhooks: {\r\n  order: []\r\n}\r\n```\r\n\r\nHooks listed in `hooks.order` load first in that order. Omitted framework hooks keep their default relative order afterward.\r\n\r\n## Agent Support\r\n\r\nAgent-specific guidance lives in `skills/cordovabox-skill/SKILL.md`. That file is the best place for Codex-facing workflow notes, source-of-truth reminders, and caveats about this repository. Human-facing usage belongs in this README and in `bin/app/README.md`.\r\n","readmeFilename":"README.md"}