{"_id":"express-cart","_rev":"27-4d829341e8bf29ce301199a32ae33005","name":"express-cart","time":{"modified":"2022-06-17T22:11:43.857Z","created":"2016-05-17T00:17:56.258Z","1.0.3":"2016-05-17T00:17:56.258Z","1.0.4":"2016-05-19T00:24:17.426Z","0.0.1-security":"2016-07-11T17:31:08.195Z","1.0.1":"2018-01-09T21:09:22.238Z","1.1.1":"2018-01-10T20:28:27.418Z","1.1.2":"2018-02-03T19:20:02.573Z","1.1.3":"2018-02-05T15:53:08.676Z","1.1.4":"2018-02-05T18:26:54.506Z","1.1.5":"2018-02-05T18:34:18.988Z","1.1.6":"2018-05-30T09:08:22.073Z","1.1.7":"2018-06-01T11:32:33.841Z","1.1.8":"2018-08-31T03:31:19.935Z","1.1.9":"2018-08-31T05:13:06.081Z","1.1.10":"2018-10-05T11:59:36.488Z","1.1.11":"2019-02-09T10:56:01.876Z","1.1.12":"2019-06-13T11:15:05.456Z","1.1.13":"2019-10-26T06:51:01.910Z","1.1.14":"2019-11-11T09:18:20.216Z","1.1.15":"2019-12-18T07:12:52.422Z","1.1.16":"2020-01-22T09:28:54.133Z","1.1.17":"2020-03-20T05:16:18.999Z"},"maintainers":[{"email":"hi@markmoffat.com","name":"mrvautin"}],"dist-tags":{"latest":"1.1.17"},"description":"A fully functioning Node.js shopping cart with Stripe, PayPal and Authorize.net payments.","readme":"# expressCart\n\n![expressCart](https://raw.githubusercontent.com/mrvautin/expressCart/master/public/images/logo.png)\n\n`expressCart` is a fully functional shopping cart built in Node.js (Express, MongoDB) with Stripe, PayPal, Blockonomics, Authorize.net, Adyen and Instore payments.\n\n[![Github stars](https://img.shields.io/github/stars/mrvautin/expressCart.svg?style=social&label=Star)](https://github.com/mrvautin/expressCart)\n[![Build Status](https://travis-ci.org/mrvautin/expressCart.svg?branch=master)](https://travis-ci.org/mrvautin/expressCart)\n\n[**View the demo**](https://demo.expresscart.markmoffat.com/)\n\n\n```\nDemo credentials\n\nAdmin User:\n- User: `demo@test.com`\n- Password: `test`\n\nCustomer:\n- User: `test@test.com`\n- Password: `test`\n\nDiscount code:\n- 10 amount: `DEMO_AMT10`\n- 10 percent: `DEMO_PCT10`\n```\n\n## Installation\n\n1. Create a folder to hold your installation: `mkdir expressCart`\n2. FTP/Copy the contents of the zip to your newly created folder\n3. Enter folder: `cd expressCart`\n4. Install dependencies: `npm install`\n5. Start application: `npm start --production`\n6. Visit [http://127.0.0.1:1111](http://127.0.0.1:1111) in your browser\n\nKeeping expressCart running after closing the terminal can be done in a few ways but we recommend using the `PM2` package. To set this up:\n\n1. Install PM2: `npm install pm2 -g`\n2. Add expressCart to PM2: `NODE_ENV=production pm2 start app.js --name \"expressCart\"`\n3. Check PM2 has our app: `pm2 list`\n4. Save the PM2 config: `pm2 save`\n5. To start/stop: `pm2 start expressCart` / `pm2 stop expressCart`\n\n> Note: Node.js version 7.x or greater is needed.\n\n### Docker\n\nThe easiest way to get up and running is using Docker. Once the Docker CLI is installed from [https://www.docker.com/get-docker](https://www.docker.com/get-docker).\n\n1. Enter the root of the expressCart application\n2. Change `/config/settings.json` - `\"databaseConnectionString\": \"mongodb://mongodb:27017/expresscart\"`\n3. Run: `docker-compose up --build`\n4. Visit [http://127.0.0.1:1111](http://127.0.0.1:1111) in your browser\n\n### Deploy on Heroku\n\n[![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/mrvautin/expressCart)\n\n> Note: When deploying to Heroku you will need to configure your external MongoDB either on your own server or a hosted service on mLab, AWS etc.\n\n### Sample/Test data\n\nSometimes you might want some default sample/test data. To create this, run `npm run testdata`. Remember to only run this initially or anytime you want to reset the data as this function deletes ALL existing data.\n\n## API\n\nThere is currently a limited API for certain functions of the app. Using the API can be done by firstly generating an API key via the Admin login. `Admin > My Account > API Key (Generate) button`. Once an API Key is generated it will need to be supplied in a header called `apiKey` to authenticate requests. \n\n## Hooks / Integrations\n\nOn the completion of a order if a `orderHook` URL is configured, expressCart will POST the data to the configured URL. This is handy or IFTTT or Zapier Webhooks where you may want to use the integration methods to retrieve the order details in other systems.\n\nExample use might be to send all orders to a Google Docs spreadsheet or an accounting package or a packing slip software etc.\n\n## Admin\n\nVisit: [http://127.0.0.1:1111/admin](http://127.0.0.1:1111/admin)\n\nA new user form will be shown where a user can be created.\n\n### Styling\n\nAdding your own custom style is done by accessing the `Admin` panel then selecting `General settings`.\n\n#### Demo images\n\nHomepage:\n![Homepage](https://mrvautin.com/content/images/2020/01/expressCart-homepage.png)\n\nAdmin manage settings:\n![Admin manage settings](https://mrvautin.com/content/images/2020/03/expressCart-admin-settings.png)\n\nPopout cart:\n![Popout cart](https://mrvautin.com/content/images/2020/01/expressCart-popout-cart.png)\n\nDashboard:\n![Dashboard](https://mrvautin.com/content/images/2020/03/expressCart-admin-dashboard.png)\n\n##### CSS\n\nYou can add your own custom CSS into the `Custom CSS` box. This will be minified and added to each page.\n\n##### Footer\n\nYou can add your own custom HTML footer which may have contact details, social media links etc into the `Footer HTML` box. This will be added to bottom of each page.\n\n### Products\n\nAdding of new products is done via `/admin/product/new`.\n\n##### Product price\n\nSet this value to a full 2 decimal value with no commas or currency symbols.\n\n##### Permalink\n\nA permalink is a nice link to your product which is normally shown in search engine rankings. By default, a no Permalink value is set when adding a product one will be generated using the Product title with spaces replaced by dashes.\n\n##### Options\n\nYou may want to set product options such as `Size`, `Color` etc.\n\nBelow is an explanation of the fields and what they do\n\n`Name` = Something easy to recognize to administer\n`Label` = This will be shown to the customer (eg: `Select size`, `Select color` etc)\n`Type` = You can set the option to a `Select` (drop down menu), `Radio` (An optional button) or a `Checkbox` for an on/off or true/false option\n`Options` = Available options are added using a comma separated list. For size options you may set: `Small,Medium,Large` or `S,M,L`\n\nNote: An `Options` value is not required when `Type` is set to `Checkbox`.\n\n##### Product tag words\n\nTags are used when indexing the products for search. It's advised to set tags (keywords) so that customers can easily find the products they are searching for.\n\n## Subscriptions (Stripe only)\n\nYou are able to setup product subscriptions through Stripe. First setup the `Plan` in the [Stripe dashboard](https://dashboard.stripe.com/) then enter the Plan ID (Formatted: plan_XXXXXXXXXXXXXX) when creating or editing a product. When purchasing, a customer can only add a single subscription to their cart at one time. Subscriptions cannot be combined with other products in their cart. On Checkout/Payment the customer and subscription is created in Stripe and the billing cycle commences based on the plan setup.\n\n##### Subscription Webhooks (Stripe only)\nYou are able to configure a Webhook in Stripe to receive subscription updates on successful/failed payments [here](https://dashboard.stripe.com/webhooks). The `expressCart` Webhook endpoint should be set to: `https://<example.com>/stripe/subscription_update`. You will need to set the `Events to send` value to both: `invoice.payment_failed` and `invoice.payment_succeeded`.\n\n## Database\n\n`expressCart` uses a MongoDB for storing all the data. Setting of the database connection string is done through the `/config/settings.json` file. There are two properties relating to the database connection:\n\nExample MongoDB configuration:\n\n```\n{\n    \"databaseConnectionString\": \"mongodb://localhost:27017/expresscart\"\n}\n```\n\nNote: The `databaseConnectionString` property requires a full connection string. You may need to add authentication parameters to your connection string.\n\n>  For a good and reasonably priced MongoDB Host, we recommend [mLab](https://mlab.com).\n\n## Configuration\n\nSettings can be managed from the admin panel ([http://127.0.0.1:1111/admin](http://127.0.0.1:1111/admin)) with the exception of the Payment gateway and database settings.\n\nAll settings are stored in json files in the `/config` directory. The main application-level settings are stored in `/config/settings.json` while payment gateway settings are stored in files in the `/config` directory named after the payment gateway. For example, configuration for the Stripe payment gateway is stored in `/config/stripe.json`.\n\n##### Local configuration\n\nIf you'd rather store settings in a file which isn't checked into version control, you can create a new settings file at `/config/settings-local.json` and store your complete settings there. When viewing or editing settings in the admin panel, expressCart will detect the existence of this file and update it accordingly.\n\nThis can also be used for payment modules too. Any settings in the `/config/<gateway>-local.json` file will override the `/config/<gateway>.json` file.\n\n##### Environment configuration\n\nAn alternative to local configuration is using an `env.yaml` file (in the root of app) to override settings. You may want to do something like:\n\n``` yaml\ndevelopment:\n  port: 1111\n  databaseConnectionString: mongodb://127.0.0.1:27017/expresscart\nproduction:\n  port: 2222\n  databaseConnectionString: mongodb://prod_db_url:27017/expresscart\n```\n\nThe app will read in the `NODE_ENV` and switch and override any valid settings. Eg: `databaseConnectionString` set in the `env.yaml` file will override anything in `settings.json` file (including local).\n\n##### Cart name and Cart description\n\nThese values are used for search engine optimization (SEO) purposes. They will be used as the title and description when your website is listed in Google and other search engines.\n\nThe `Cart name` is also used if there is no logo set.\n\n##### Cart image/logo\n\nGenerally you would place your logo into the `/uploads` folder. You would then add the value `/uploads/mylogo.png` to the `Cart image/logo` setting value.\n\n##### Cart URL\n\nThis value is vital for your cart to work. Set this value to your domain name/URL which customers will access your website. This value is used in returning from Paypal\npayments and the sitemap for search engine indexing.\n\n##### Cart Email\n\nThis email is used for any email receipts which are sent by your website.\n\n##### Payment Gateway\n\nThis determines which payment gateway to use. You will also need to configure your payment gateway configuration file here: `/config/<gateway_name>.json`\n\n##### Currency symbol\n\nSet this value to your chosen currency symbol. Eg: $, £, €.\n\n##### Themes\n\nThemes are a set of handlebars views and a stylesheet file. See `Cloth` theme as example.\n\nThemes are loaded from `/views/themes/`.\n\nIt would be great to have some themes contributed back for others to use.\n\n##### Number of Products per page\n\nYou can set the number of products per page by changing the `Products per page` value to a whole number of your choice. You may want to ensure\nthe number of products per page matches up with the `Products per row` value. Eg: if you have the `Products per row` value set to 3, you may want\nto ensure the `Products per page` is a multiple of 3 for the best look.\n\n##### Number of Products per row\n\nThis is the number of products displayed per row on your website. You can select anywhere up to 4 `Products per row`.\n\n##### Menu enabled\n\nEnables/disable the menu setup in `/admin/settings/menu`.\n\n##### Menu header\n\nThis is the text which will be displayed at the top of your menu.\n\n##### Menu position\n\nYou can set position where your menu will be displayed. Setting the value to `side` will position the menu to the left of your products, setting the value to `top`\nwill create a 'breadcrumb' menu at the top of the page\n\n##### Paypal (Payments)\n\nThe Paypal config file is located: `/config/paypal.json`. A example Paypal settings file is provided:\n\n```\n{\n    \"mode\": \"live\", // sandbox or live\n    \"client_id\": \"this_is_not_real\",\n    \"client_secret\": \"this_is_not_real\",\n    \"paypalCartDescription\": \"expressCart\", // Shows as the Paypal description\n    \"paypalCurrency\": \"USD\" // The Paypal currency to charge in\n}\n```\nNote: The `client_id` and `client_secret` is obtained from your Paypal account.\n\n##### Stripe (Payments)\n\nThe Stripe config file is located: `/config/stripe.json`. A example Stripe settings file is provided:\n\n```\n{\n    \"secretKey\": \"sk_test_this_is_not_real\",\n    \"publicKey\": \"pk_test_this_is_not_real\",\n    \"stripeCurrency\": \"usd\", The Stripe currency to charge in\n    \"stripeDescription\": \"expressCart payment\", // Shows as the Stripe description\n    \"stripeLogoURL\": \"http://localhost:1111/images/stripelogo.png\" // URL to the logo to display on Stripe form\n    \"stripeWebhookSecret\": \"whsec_this_is_not_real\"\n}\n```\n\nNote: The `secretKey`, `publicKey` and `stripeWebhookSecret` is obtained from your Stripe account dashboard.\n\n##### Blockonomics (Bitcoin Payments)\n\nYou have to configure the `HTTP Callback URL` parameter into Blockonomics -> Merchants -> Settings:\nhttp://CartURL/blockonomics/checkout_return where [**CartURL**](#cart-url) is the address of your server\n\nThe Blockonomics config file is located: `/config/blockonomics.json`. A example Blockonomics settings file is provided:\n\n```\n{\n    \"apiKey\": \"this_is_not_real\",\n    \"hostUrl\": \"https://www.blockonomics.co\", // You usually don't need to change this\n    \"newAddressApi\": \"/api/new_address\", // You usually don't need to change this\n    \"priceApi\": \"/api/price?currency=\" // You usually don't need to change this\n}\n```\nNote: The `apiKey` is obtained from your Blockonomics account.\n\n##### Authorize.net (Payments)\n\nThe Authorize.net config file is located: `/config/authorizenet.json`. A example Authorize.net settings file is provided:\n\n```\n{\n    \"loginId\": \"loginId\",\n    \"transactionKey\": \"transactionKey\",\n    \"clientKey\": \"clientKey\",\n    \"mode\": \"test\"\n}\n```\n\nNote: The credentials are obtained from your Authorize.net account dashboard.\n\n##### Adyen (Payments)\n\nThe Adyen config file is located: `/config/adyen.json`. A example Adyen settings file is provided:\n\n```\n{\n    \"environment\": \"TEST\",\n    \"apiKey\": \"this_is_not_real\",\n    \"publicKey\": \"this_is_not_real\",\n    \"merchantAccount\": \"this_is_not_real\",\n    \"statementDescriptor\": \"a_statement_descriptor\",\n    \"currency\": \"AUD\"\n}\n```\n\nNote: The `publicKey`, `apiKey` and `merchantAccount` is obtained from your Adyen account dashboard.\n\n##### Instore (Payments)\n\nThe Instore config file is located: `/config/instore.json`. A example Instore settings file is provided:\n\n```\n{\n    \"orderStatus\": \"Pending\",\n    \"buttonText\": \"Place order, pay instore\",\n    \"resultMessage\": \"The order is place. Please pay for your order instore on pickup.\"\n}\n```\nNote: No payment is actually processed. The order will move to the `orderStatus` set and the payment is completed instore.\n\n## Modules\nIt's possible to extend the basic functionality of `expressCart` using modules. All modules are loaded from `/lib/modules` at startup and added to the `config` for use throughout the app. There is an example module `shipping-basic` to calculate the flat shipping rate. One way to extend this basic module is to call a Postage service like [easypost](https://www.easypost.com/) to get an accurate rate for your location, package size etc.\n\n## Email settings\n\nYou will need to configure your SMTP details for expressCart to send email receipts to your customers.\n\nYou will need to consult your email provider for the relevant details.\n\n##### Gmail settings\n\n- `Email SMTP Host` = smtp.gmail.com\n- `Email SMTP Port` = 465\n- `Email SMTP secure` = True/Checked\n- `Email SMTP Username` = example@gmail.com\n- `Email SMTP Password` = yourpassword (you may need to setup an application specific password for this to work)\n\n##### Zoho settings\n\n- `Email SMTP Host` = smtp.zoho.com\n- `Email SMTP Port` = 465\n- `Email SMTP secure` = True/Checked\n- `Email SMTP Username` = example@zoho.com\n- `Email SMTP Password` = yourpassword\n\n##### Outlook settings\n\n- `Email SMTP Host` = smtp-mail.outlook.com\n- `Email SMTP Port` = 587\n- `Email SMTP secure` = False/Unchecked\n- `Email SMTP Username` = example@outlook.com\n- `Email SMTP Password` = yourpassword\n\nYou can use the `Send test email` button to ensure your email settings are correct.\n\n## Menu\n\nAlthough `expressCart` is a search based shopping cart, you can also group your products into categories using tags. You can then setup menu Items to \"filter\" based on\nkeywords (tags) to make it easier for your customers.\n\nSetting of menu items is done via `/admin/settings/menu`.\n\nTo add a new menu item to filter products, you will set the menu text using the `Menu` field and setting the keyword to filter is using the `link` field.\n\nTo add a new menu item to link to a static page, you will set the menu text using the `Menu` field and set the static page URL using the `link` field. Eg:\nAn `About` page would be set. Menu = 'About Us', Link = 'about`\n\nYou can re-order menu items by clicking and dragging the arrows icon and placing the menu item in desired position.\n\n## Static pages\n\nYou may want to create a static page to show contact details, about us, shipping information etc.\n\nNew static pages are setup via `/admin/settings/pages`.\n\n## TODO\n\n- Modernize the frontend of the admin\n\n## Contributing\n\nI'm looking for contributors of any kind. I'm working on turning the admin panel into something more modern and using Vue.js. The frontend part of the website will always be a normal webapp with no SPA frameworks as I believe eCommerce apps should have SEO as top priority.\n\nContributing payment providers and themes would be much appreciated. Payment providers are added by simply adding the payment provider file to `/routes/payments/providerName.js`, then adding the route to the `app.js` file by adding `const providerName = require('./routes/payments/{providerName}');` and mounting the route `app.use('/providerName', providerName);`.\n\nIf you see current code which could be enhanced (note: parts of the code is quite old but new to Github) you are welcome to submit a PR.\n","versions":{"0.0.1-security":{"name":"express-cart","version":"0.0.1-security","description":"This package name is not currently in use, but was formerly occupied by another package. To avoid malicious use, npm is hanging on to the package name, but loosely, and we'll probably give it to you if you want it.","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/npm/security-holder.git"},"keywords":[],"author":"","license":"ISC","bugs":{"url":"https://github.com/npm/security-holder/issues"},"homepage":"https://github.com/npm/security-holder#readme","_id":"express-cart@0.0.1-security","_shasum":"ab49d48b6a3e9b9f5d32e008c715f49d956e640b","_from":".","_npmVersion":"3.10.0","_nodeVersion":"4.1.2","_npmUser":{"name":"ehsalazar","email":"ernie@npmjs.com"},"dist":{"shasum":"ab49d48b6a3e9b9f5d32e008c715f49d956e640b","tarball":"https://registry.npmjs.org/express-cart/-/express-cart-0.0.1-security.tgz","integrity":"sha512-cCj9IvAuWeUJBa9Tj8MmoFOHzpmGSCejNR2ChQnRrkGyEkvqqXnuQ55wOxnbWvpfM+Ng4teXz3ClLddJErbbiQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB4x9h5R4QOG5iGjtxji+5C1Vq3OcqftalvKEAsWwUhKAiAqNdo3Yk1p+xWEFcvLZlQoI2m6UTyVsLrxQDKN155oIw=="}]},"maintainers":[{"name":"ehsalazar","email":"ernie@npmjs.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/express-cart-0.0.1-security.tgz_1468258267671_0.844490259885788"},"directories":{}},"1.0.1":{"name":"express-cart","version":"1.0.1","description":"A fully functioning Node.js shopping cart with Stripe and PayPal payments.","private":false,"scripts":{"start":"node app.js","deploy":"gulp deploy"},"dependencies":{"async":"^2.6.0","bcrypt-nodejs":"0.0.3","body-parser":"^1.17.2","cheerio":"^0.22.0","colors":"^1.1.2","connect-mongodb-session":"^1.3.0","cookie-parser":"^1.4.3","express":"^4.15.3","express-handlebars":"^3.0.0","express-session":"^1.15.3","glob":"^7.1.2","helmet":"^3.6.1","html-entities":"^1.2.0","lodash":"^4.13.1","lunr":"^2.1.5","moment":"^2.15.2","mongodb":"^3.0.1","morgan":"^1.9.0","multer":"^1.1.0","nodemailer":"^4.4.1","numeral":"^2.0.6","paypal-rest-sdk":"^1.6.9","rimraf":"^2.6.2","sitemap":"^1.6.0","stripe":"^5.4.0","uglifycss":"0.0.27"},"devDependencies":{"eslint":"^3.19.0","eslint-config-airbnb-base":"^12.1.0","eslint-config-standard":"^10.2.1","eslint-plugin-import":"^2.8.0","eslint-plugin-node":"^5.2.1","eslint-plugin-promise":"^3.6.0","eslint-plugin-standard":"^3.0.1","gulp":"latest","gulp-clean-css":"^3.9.2","gulp-minify":"^2.1.0","gulp-rename":"^1.2.2"},"main":"app.js","keywords":["Shopping cart","express","mongodb","nodejs","ecommerce","paypal","lunr","cart","shopping"],"author":{"name":"Mark Moffat"},"homepage":"https://expresscart.markmoffat.com","gitHead":"415d809d717963bfdcaf00c8feaaa0c55c5368d7","_id":"express-cart@1.0.1","_npmVersion":"5.5.1","_nodeVersion":"8.9.2","_npmUser":{"name":"mrvautin","email":"hi@markmoffat.com"},"dist":{"integrity":"sha512-otl8dPpW9dSwucZn5A9pzY0ZhrUOPCakSFLu/EYpcPYn2LWVJIUW8WQUKq+nBgeweoXQi3k1IiiNI1OQG+FNrw==","shasum":"bbef5e0d6aef6ada51461c7f7dd23d2c3d76aba5","tarball":"https://registry.npmjs.org/express-cart/-/express-cart-1.0.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDu8rCIf3cs2r/RpOR5ilH/T29tx44wSrfk0YlcRjRg8QIhAMZJKFYgJjMVMTBQMo/feAyK4uLd1hSKmWPHiI58Qqxq"}]},"maintainers":[{"email":"hi@markmoffat.com","name":"mrvautin"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-cart-1.0.1.tgz_1515532160010_0.7550943952519447"},"directories":{}},"1.1.1":{"name":"express-cart","version":"1.1.1","description":"A fully functioning Node.js shopping cart with Stripe and PayPal payments.","private":false,"scripts":{"start":"node app.js","deploy":"gulp deploy"},"dependencies":{"ajv":"^6.0.0","async":"^2.6.0","bcrypt-nodejs":"0.0.3","body-parser":"^1.17.2","cheerio":"^0.22.0","colors":"^1.1.2","connect-mongodb-session":"^1.3.0","cookie-parser":"^1.4.3","express":"^4.15.3","express-handlebars":"^3.0.0","express-session":"^1.15.3","glob":"^7.1.2","helmet":"^3.6.1","html-entities":"^1.2.0","lodash":"^4.13.1","lunr":"^2.1.5","moment":"^2.15.2","mongodb":"^3.0.1","mongodb-uri":"^0.9.7","morgan":"^1.9.0","multer":"^1.1.0","nodemailer":"^4.4.1","numeral":"^2.0.6","paypal-rest-sdk":"^1.6.9","rimraf":"^2.6.2","sitemap":"^1.6.0","stripe":"^5.4.0","uglifycss":"0.0.27"},"devDependencies":{"eslint":"^3.19.0","eslint-config-airbnb-base":"^12.1.0","eslint-config-standard":"^10.2.1","eslint-plugin-import":"^2.8.0","eslint-plugin-node":"^5.2.1","eslint-plugin-promise":"^3.6.0","eslint-plugin-standard":"^3.0.1","gulp":"latest","gulp-clean-css":"^3.9.2","gulp-minify":"^2.1.0","gulp-rename":"^1.2.2"},"main":"app.js","keywords":["Shopping cart","express","mongodb","nodejs","ecommerce","paypal","lunr","cart","shopping"],"author":{"name":"Mark Moffat"},"homepage":"https://expresscart.markmoffat.com","gitHead":"ceb23e1ce107feabe741c526e988d35bfe51c5c7","_id":"express-cart@1.1.1","_npmVersion":"5.5.1","_nodeVersion":"8.9.2","_npmUser":{"name":"mrvautin","email":"hi@markmoffat.com"},"dist":{"integrity":"sha512-IJ0tPksNoRHSxtgv83GuM80oIh/Sq8Idpveij7QaoXqD4O3jjvpy3v9uUMp6A2k/MBqAuQbvHdRVvcv6xg+5qw==","shasum":"6dc9ce15436093c0868bb1ae4a49bc62aefda47b","tarball":"https://registry.npmjs.org/express-cart/-/express-cart-1.1.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDFKOfWLItkKOygoPLR/9nq5Ku/7uuRiwMomWYy8fjWdAiEAzh5r0GYCH9depSMpDm25TlrVlWv2ceAvh564MtCEsVE="}]},"maintainers":[{"email":"hi@markmoffat.com","name":"mrvautin"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-cart-1.1.1.tgz_1515616107200_0.38744569662958384"},"directories":{}},"1.1.2":{"name":"express-cart","version":"1.1.2","description":"A fully functioning Node.js shopping cart with Stripe and PayPal payments.","private":false,"scripts":{"start":"node app.js","deploy":"gulp deploy"},"dependencies":{"ajv":"^6.0.0","async":"^2.6.0","bcrypt-nodejs":"0.0.3","body-parser":"^1.17.2","cheerio":"^0.22.0","colors":"^1.1.2","connect-mongodb-session":"^1.3.0","cookie-parser":"^1.4.3","express":"^4.15.3","express-handlebars":"^3.0.0","express-session":"^1.15.3","glob":"^7.1.2","helmet":"^3.6.1","html-entities":"^1.2.0","lodash":"^4.13.1","lunr":"^2.1.5","moment":"^2.15.2","mongodb":"^3.0.1","mongodb-uri":"^0.9.7","morgan":"^1.9.0","multer":"^1.1.0","nodemailer":"^4.4.1","numeral":"^2.0.6","paypal-rest-sdk":"^1.6.9","rand-token":"^0.4.0","rimraf":"^2.6.2","sitemap":"^1.6.0","stripe":"^5.4.0","uglifycss":"0.0.27"},"devDependencies":{"eslint":"^3.19.0","eslint-config-airbnb-base":"^12.1.0","eslint-config-standard":"^10.2.1","eslint-plugin-import":"^2.8.0","eslint-plugin-node":"^5.2.1","eslint-plugin-promise":"^3.6.0","eslint-plugin-standard":"^3.0.1","gulp":"latest","gulp-clean-css":"^3.9.2","gulp-minify":"^2.1.0","gulp-rename":"^1.2.2","run-sequence":"^2.2.1"},"main":"app.js","keywords":["Shopping cart","express","mongodb","nodejs","ecommerce","paypal","lunr","cart","shopping"],"author":{"name":"Mark Moffat"},"homepage":"https://expresscart.markmoffat.com","repository":{"type":"git","url":"git+https://github.com/mrvautin/expressCart.git"},"license":"ISC","bugs":{"url":"https://github.com/mrvautin/expressCart/issues"},"gitHead":"7695996f4abce843b2cdbe0b5e38cf2f386ad2c5","_id":"express-cart@1.1.2","_npmVersion":"5.5.1","_nodeVersion":"8.9.2","_npmUser":{"name":"mrvautin","email":"hi@markmoffat.com"},"dist":{"integrity":"sha512-AZeSqkx/q7dwS0qDo+5rZh6tYIZf7FEzhTG/wwbOUU8Gsqy9x/OjkgACkOra3mtl+/JyhY6i/uk0tj/cAZu8yA==","shasum":"4073df6163c9c1b9fd7bd6539f8a1e6c4543c441","tarball":"https://registry.npmjs.org/express-cart/-/express-cart-1.1.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC7lEnLnTem1Zfhz6iUki29I8mfF0EZ71j3ccagsZG+NgIhALDAACX2Me21lPI8pvosNFwbUa1hscJSw/MD0OUt8VzE"}]},"maintainers":[{"email":"hi@markmoffat.com","name":"mrvautin"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-cart-1.1.2.tgz_1517685600689_0.4885097579099238"},"directories":{}},"1.1.3":{"name":"express-cart","version":"1.1.3","description":"A fully functioning Node.js shopping cart with Stripe, PayPal and Authorize.net payments.","private":false,"scripts":{"start":"node app.js","deploy":"gulp deploy"},"dependencies":{"ajv":"^6.0.0","async":"^2.6.0","axios":"^0.17.1","bcrypt-nodejs":"0.0.3","bcryptjs":"^2.4.3","body-parser":"^1.17.2","cheerio":"^0.22.0","colors":"^1.1.2","connect-mongodb-session":"^1.3.0","cookie-parser":"^1.4.3","express":"^4.15.3","express-handlebars":"^3.0.0","express-session":"^1.15.3","glob":"^7.1.2","helmet":"^3.6.1","html-entities":"^1.2.0","lodash":"^4.13.1","lunr":"^2.1.5","moment":"^2.15.2","mongodb":"^3.0.1","mongodb-uri":"^0.9.7","morgan":"^1.9.0","multer":"^1.1.0","nodemailer":"^4.4.1","numeral":"^2.0.6","paypal-rest-sdk":"^1.6.9","rand-token":"^0.4.0","rimraf":"^2.6.2","sitemap":"^1.6.0","strip-bom":"^3.0.0","stripe":"^5.4.0","uglifycss":"0.0.27"},"devDependencies":{"eslint":"^3.19.0","eslint-config-airbnb-base":"^12.1.0","eslint-config-standard":"^10.2.1","eslint-plugin-import":"^2.8.0","eslint-plugin-node":"^5.2.1","eslint-plugin-promise":"^3.6.0","eslint-plugin-standard":"^3.0.1","gulp":"latest","gulp-clean-css":"^3.9.2","gulp-minify":"^2.1.0","gulp-rename":"^1.2.2","run-sequence":"^2.2.1"},"main":"app.js","keywords":["Shopping cart","express","mongodb","nodejs","ecommerce","paypal","lunr","cart","shopping"],"author":{"name":"Mark Moffat"},"homepage":"https://expresscart.markmoffat.com","repository":{"type":"git","url":"git+https://github.com/mrvautin/expressCart.git"},"license":"ISC","bugs":{"url":"https://github.com/mrvautin/expressCart/issues"},"gitHead":"b142e8e6be7f5670a509cbb87dc4989b63f155e7","_id":"express-cart@1.1.3","_npmVersion":"5.5.1","_nodeVersion":"8.9.2","_npmUser":{"name":"mrvautin","email":"hi@markmoffat.com"},"dist":{"integrity":"sha512-728+nDaG1KHJwE/X9TOkL/VYp3Xz5WOmxnVTFMSlD6nfW8wknn4Z0EsRxdVfnm8RAdaYFwWHl6ecT91khd7PzQ==","shasum":"046d4408122c72356cc8cafcdc70a5204cc122ff","tarball":"https://registry.npmjs.org/express-cart/-/express-cart-1.1.3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHlF8bnWAbsttwCbhbqV4QjYpPx4gda9SgD8XjiVxy76AiEA52LNJH2C9flnzUzqL9TITmpK+P3VK5IC9gFCpM/+gb0="}]},"maintainers":[{"email":"hi@markmoffat.com","name":"mrvautin"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-cart-1.1.3.tgz_1517845986716_0.2843786191660911"},"directories":{}},"1.1.4":{"name":"express-cart","version":"1.1.4","description":"A fully functioning Node.js shopping cart with Stripe, PayPal and Authorize.net payments.","private":false,"scripts":{"start":"node app.js","deploy":"gulp deploy"},"dependencies":{"ajv":"^6.0.0","async":"^2.6.0","axios":"^0.17.1","bcrypt-nodejs":"0.0.3","bcryptjs":"^2.4.3","body-parser":"^1.17.2","cheerio":"^0.22.0","colors":"^1.1.2","connect-mongodb-session":"^1.3.0","cookie-parser":"^1.4.3","express":"^4.15.3","express-handlebars":"^3.0.0","express-session":"^1.15.3","glob":"^7.1.2","helmet":"^3.6.1","html-entities":"^1.2.0","lodash":"^4.13.1","lunr":"^2.1.5","moment":"^2.15.2","mongodb":"^3.0.1","mongodb-uri":"^0.9.7","morgan":"^1.9.0","multer":"^1.1.0","nodemailer":"^4.4.1","numeral":"^2.0.6","paypal-rest-sdk":"^1.6.9","rand-token":"^0.4.0","rimraf":"^2.6.2","sitemap":"^1.6.0","strip-bom":"^3.0.0","stripe":"^5.4.0","uglifycss":"0.0.27"},"devDependencies":{"eslint":"^3.19.0","eslint-config-airbnb-base":"^12.1.0","eslint-config-standard":"^10.2.1","eslint-plugin-import":"^2.8.0","eslint-plugin-node":"^5.2.1","eslint-plugin-promise":"^3.6.0","eslint-plugin-standard":"^3.0.1","gulp":"latest","gulp-clean-css":"^3.9.2","gulp-minify":"^2.1.0","gulp-rename":"^1.2.2","run-sequence":"^2.2.1"},"main":"app.js","keywords":["Shopping cart","express","mongodb","nodejs","ecommerce","paypal","lunr","cart","shopping"],"author":{"name":"Mark Moffat"},"homepage":"https://expresscart.markmoffat.com","repository":{"type":"git","url":"git+https://github.com/mrvautin/expressCart.git"},"license":"MIT","bugs":{"url":"https://github.com/mrvautin/expressCart/issues"},"gitHead":"8cbfce1179a59b908d63fadec17a3cff7a97d64b","_id":"express-cart@1.1.4","_npmVersion":"5.5.1","_nodeVersion":"8.9.2","_npmUser":{"name":"mrvautin","email":"hi@markmoffat.com"},"dist":{"integrity":"sha512-BeEzJ8k1P/85yfB+llh1CCVc+Gl7bb9iAeofzY6a0oCF0HVK21JgAzCNI2SP2/1M/QVAiilHyjapSCpWQAhBYA==","shasum":"1908a236100118234946d191f58cc6b44a8b367a","tarball":"https://registry.npmjs.org/express-cart/-/express-cart-1.1.4.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBiKH+uUbocxvn0t7mfzG3w253NsupebJeR+UjnMAiuVAiEAs/b/piI8g2iByMvwVyowu42D36r/LJlNRGYs2beJ/UU="}]},"maintainers":[{"email":"hi@markmoffat.com","name":"mrvautin"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-cart-1.1.4.tgz_1517855212565_0.9079924239777029"},"directories":{}},"1.1.5":{"name":"express-cart","version":"1.1.5","description":"A fully functioning Node.js shopping cart with Stripe, PayPal and Authorize.net payments.","private":false,"scripts":{"start":"node app.js","deploy":"gulp deploy"},"dependencies":{"ajv":"^6.0.0","async":"^2.6.0","axios":"^0.17.1","bcrypt-nodejs":"0.0.3","bcryptjs":"^2.4.3","body-parser":"^1.17.2","cheerio":"^0.22.0","colors":"^1.1.2","connect-mongodb-session":"^1.3.0","cookie-parser":"^1.4.3","express":"^4.15.3","express-handlebars":"^3.0.0","express-session":"^1.15.3","glob":"^7.1.2","helmet":"^3.6.1","html-entities":"^1.2.0","lodash":"^4.13.1","lunr":"^2.1.5","moment":"^2.15.2","mongodb":"^3.0.1","mongodb-uri":"^0.9.7","morgan":"^1.9.0","multer":"^1.1.0","nodemailer":"^4.4.1","numeral":"^2.0.6","paypal-rest-sdk":"^1.6.9","rand-token":"^0.4.0","rimraf":"^2.6.2","sitemap":"^1.6.0","strip-bom":"^3.0.0","stripe":"^5.4.0","uglifycss":"0.0.27"},"devDependencies":{"eslint":"^3.19.0","eslint-config-airbnb-base":"^12.1.0","eslint-config-standard":"^10.2.1","eslint-plugin-import":"^2.8.0","eslint-plugin-node":"^5.2.1","eslint-plugin-promise":"^3.6.0","eslint-plugin-standard":"^3.0.1","gulp":"latest","gulp-clean-css":"^3.9.2","gulp-minify":"^2.1.0","gulp-rename":"^1.2.2","run-sequence":"^2.2.1"},"main":"app.js","keywords":["Shopping cart","express","mongodb","nodejs","ecommerce","paypal","lunr","cart","shopping"],"author":{"name":"Mark Moffat"},"homepage":"https://expresscart.markmoffat.com","repository":{"type":"git","url":"git+https://github.com/mrvautin/expressCart.git"},"license":"MIT","bugs":{"url":"https://github.com/mrvautin/expressCart/issues"},"gitHead":"bf67621a867eeb2faed9c921d09736af427b8950","_id":"express-cart@1.1.5","_npmVersion":"5.5.1","_nodeVersion":"8.9.2","_npmUser":{"name":"mrvautin","email":"hi@markmoffat.com"},"dist":{"integrity":"sha512-4r6aHU/vqBP1lGd8IqdcL7cIu2v1EZ/0rhRgHV2YbAp418Io73XR3+V1QsH3Xff3q9qmeeM9GAJA+iXgSJBzAA==","shasum":"3b1c8e2695fb9db843d04b24d880f19806f8450a","tarball":"https://registry.npmjs.org/express-cart/-/express-cart-1.1.5.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC30Zu5zm5iD8DPnaFMN3RhvsPVNz82h1gC7LNJprV3qAiBTExohADtwlUBAxaH89KpXQF+oSsFyrVPagAHvt5ot/Q=="}]},"maintainers":[{"email":"hi@markmoffat.com","name":"mrvautin"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-cart-1.1.5.tgz_1517855657027_0.6548008052632213"},"directories":{}},"1.1.6":{"name":"express-cart","version":"1.1.6","description":"A fully functioning Node.js shopping cart with Stripe, PayPal and Authorize.net payments.","private":false,"scripts":{"start":"node app.js","deploy":"gulp deploy","test":"ava test/**/*.js --verbose"},"dependencies":{"ajv":"^6.0.0","async":"^2.6.0","axios":"^0.17.1","bcrypt-nodejs":"0.0.3","bcryptjs":"^2.4.3","body-parser":"^1.17.2","cheerio":"^0.22.0","colors":"^1.1.2","connect-mongodb-session":"^1.4.0","cookie-parser":"^1.4.3","express":"^4.15.3","express-handlebars":"^3.0.0","express-session":"^1.15.3","glob":"^7.1.2","helmet":"^3.6.1","html-entities":"^1.2.0","lodash":"^4.13.1","lunr":"^2.1.5","moment":"^2.15.2","mongodb":"2.2.3","morgan":"^1.9.0","multer":"^1.1.0","nodemailer":"^4.4.1","numeral":"^2.0.6","paypal-rest-sdk":"^1.6.9","rand-token":"^0.4.0","rimraf":"^2.6.2","sitemap":"^1.6.0","strip-bom":"^3.0.0","stripe":"^5.4.0","uglifycss":"0.0.27"},"devDependencies":{"ava":"^0.25.0","eslint":"^3.19.0","eslint-config-airbnb-base":"^12.1.0","eslint-config-standard":"^10.2.1","eslint-plugin-import":"^2.8.0","eslint-plugin-node":"^5.2.1","eslint-plugin-promise":"^3.6.0","eslint-plugin-standard":"^3.0.1","gulp":"latest","gulp-clean-css":"^3.9.2","gulp-minify":"^2.1.0","gulp-rename":"^1.2.2","mongodb-uri":"^0.9.7","run-sequence":"^2.2.1","supertest":"^3.0.0","wait.for":"^0.6.6"},"main":"app.js","keywords":["Shopping cart","express","mongodb","nodejs","ecommerce","paypal","lunr","cart","shopping"],"author":{"name":"Mark Moffat"},"homepage":"https://expresscart.markmoffat.com","repository":{"type":"git","url":"git+https://github.com/mrvautin/expressCart.git"},"license":"MIT","bugs":{"url":"https://github.com/mrvautin/expressCart/issues"},"gitHead":"baccaae9b0b72f00b10c5453ca00231340ad3e3b","_id":"express-cart@1.1.6","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"mrvautin","email":"hi@markmoffat.com"},"dist":{"integrity":"sha512-aSUypcelDvFDJKzjEVIHq2FOzVlHN2U92MogvOlF7v6GT6iqCasje20R+HdTDvSq6MzUyQ80z5a36C6qAm+5BA==","shasum":"f526a7b7a1567e5ce18df7013f5b8adeaf08fc11","tarball":"https://registry.npmjs.org/express-cart/-/express-cart-1.1.6.tgz","fileCount":142,"unpackedSize":1828208,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbDmoHCRA9TVsSAnZWagAATU0P/Rgx7745/UR9BwSayf7u\nMvKHpB5PlPgoOhciG6w9PT5cijsiSsXIK55LOC47oBSkI5RwX+8Nu3aWGGSs\n3Tb+ts4tPWxw559ItTJuJYg7L+iC9iAshG+G1HuWIBKumD8C8ug3r8v/TEso\nDyUbvP7LoxqtdfhA/QxGFNidd9etKrC5AFPFh+wM7T1EZ2mmPjNvNqg5Zu8G\n+C32f1rePzFzaCCZnDuMIKNBF9M8Ze/Ep3dra5obgF5tliUuRL99CtT6yk3j\nVDjMQRET0zBZu9FAG+kZ4s4BcBB16Ho33XQBFxtEB5pkArkuFvDNdrm1VjP5\nNOcznTrPA9EGhuewFWfE5RFDdJrG+kd/wWJI8eYrbgbQDmXCCOliJt4JBR9V\nSCVF5ZBdyVtmJIp4Cxp2ubrFp5MLpYl9pQ5NS/BXkEBlZaNF6j+HRvhR77cz\nKcsWHeDjp2yO1IE7LcMindlCe9T+OH3dbGflly2hxk41mfaDe1mE032EPMQg\nfWBo3IVIhWhpOM39zjmhZiGdGPOiClQWDCRId2Y4rZJe0dZG4i31w13zLPB3\n6DtdLITt6Jj/Lh3WkOd+/cxjFJPMa1ZecGxnL1twLBrx7eY54ZUh7rWxb0v0\nEN8/K6kmlpEuXD2diGlLhhQo/ei9GPlnqiRE3xCsf+uRhNy6pR6CIoxg2Sw0\n76QI\r\n=UGZE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGyz/Jmu6zyFvMvuoSB0xZGcYAkYyKgslfPa6RJETfsxAiEAmk0uA4A6e7OtOg37Zr+CvtgjpDRjErbYHUwnx2a8kKc="}]},"maintainers":[{"email":"hi@markmoffat.com","name":"mrvautin"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-cart_1.1.6_1527671301961_0.600258211790843"},"_hasShrinkwrap":false},"1.1.7":{"name":"express-cart","version":"1.1.7","description":"A fully functioning Node.js shopping cart with Stripe, PayPal and Authorize.net payments.","private":false,"scripts":{"start":"node app.js","deploy":"gulp deploy","test":"ava test/**/*.js --verbose"},"dependencies":{"ajv":"^6.0.0","async":"^2.6.0","axios":"^0.17.1","bcrypt-nodejs":"0.0.3","bcryptjs":"^2.4.3","body-parser":"^1.17.2","cheerio":"^0.22.0","colors":"^1.1.2","connect-mongodb-session":"^1.4.0","cookie-parser":"^1.4.3","express":"^4.15.3","express-handlebars":"^3.0.0","express-session":"^1.15.3","glob":"^7.1.2","helmet":"^3.6.1","html-entities":"^1.2.0","lodash":"^4.13.1","lunr":"^2.1.5","mime-db":"^1.33.0","mime-type":"^3.0.5","moment":"^2.15.2","mongodb":"2.2.3","morgan":"^1.9.0","multer":"^1.1.0","nodemailer":"^4.4.1","numeral":"^2.0.6","paypal-rest-sdk":"^1.6.9","rand-token":"^0.4.0","rimraf":"^2.6.2","sitemap":"^1.6.0","strip-bom":"^3.0.0","stripe":"^5.4.0","uglifycss":"0.0.27"},"devDependencies":{"ava":"^0.25.0","eslint":"^3.19.0","eslint-config-airbnb-base":"^12.1.0","eslint-config-standard":"^10.2.1","eslint-plugin-import":"^2.8.0","eslint-plugin-node":"^5.2.1","eslint-plugin-promise":"^3.6.0","eslint-plugin-standard":"^3.0.1","gulp":"latest","gulp-clean-css":"^3.9.2","gulp-minify":"^2.1.0","gulp-rename":"^1.2.2","mongodb-uri":"^0.9.7","run-sequence":"^2.2.1","supertest":"^3.0.0","wait.for":"^0.6.6"},"main":"app.js","keywords":["Shopping cart","express","mongodb","nodejs","ecommerce","paypal","lunr","cart","shopping"],"author":{"name":"Mark Moffat"},"homepage":"https://expresscart.markmoffat.com","repository":{"type":"git","url":"git+https://github.com/mrvautin/expressCart.git"},"license":"MIT","bugs":{"url":"https://github.com/mrvautin/expressCart/issues"},"gitHead":"65b18cfe426fa217aa6ada1d4162891883137893","_id":"express-cart@1.1.7","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"mrvautin","email":"hi@markmoffat.com"},"dist":{"integrity":"sha512-MprZWYH1sworobymJ00KW87NHfb68Hh93hOTmDJEXT2RiVrSnwlWoGQgVDMT6Z86B99ckhzUmMwZyO4Ae+Nkkg==","shasum":"74bce1bd87577777325a0d36b1e9199ac4822399","tarball":"https://registry.npmjs.org/express-cart/-/express-cart-1.1.7.tgz","fileCount":142,"unpackedSize":1829478,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbES7TCRA9TVsSAnZWagAAHngP/1/ZFn5H8Wyk0AeeQFe8\nkvbzGIPtF2TZJEBFv4kRem1YBiGdDIrdC5NaTshtPTuQw+a/yhntF2sXheOw\nYrCENErUpTzeZfGFmLW9D6Ltx09iFDlIeknpDlecXqyGluRHd6adac+acz/Y\n2tzLZ7g4aslCRsighxChNR/HS+LhRsGsjvhTyHSQ8xl6rZL1pOcFWPZnrFBw\nGhr4zL7/eJ0lvL9h85R89G4k+vuRYkfy+sTAwJ6xaL9n9WrPsPPVWx1Kfs2m\nNbLMz2r5V/Ypx2G7xKbPkZNr6i5e/XFTgWOKhgYtMbj/DtQpqKn6AH6kUpIw\nTRNlRrnrGlVXbuJfB2vR+jnGn296NLSdPJy6EW6n+c+64uG6M9xHqPaBZ8SC\n5wSKRnPPPC/IdDKgmXaQDbII5BEmsJEjdBzjg8y6GUFHv6Qyg6Cz2+HmHhQa\nBIvdXegCtSMo1gYkMVfOYrORN08+tAxhvX6KMHcVi9SsdcMy/8H7I+xPkTEH\nLaSw2uHhU/omgQAPdh7CxRC3MtHU0qoFA6iBvsTSoslQjPEoNeba8Sn8/DGd\nNpcQLz2S9Qh+HieoaHW/QG9CuOg8oXAUMcd1me4PaKgXB0+vuMpyjH/PgQN3\nL0QJVdj4VVUzse5FsPAtsMOKiPeF60WDofBxoJQhFxJzCCVZzYDgBsBGnPfW\n8QOb\r\n=7a5L\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC9vfyjhiNJFgxWCBR9TKO92ttlpiM2MfQSIYhtNuxAGwIhAN2RG+9SFIX7phcYIINIYJt1HOgytGdAbYEOtxAtax72"}]},"maintainers":[{"email":"hi@markmoffat.com","name":"mrvautin"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-cart_1.1.7_1527852753687_0.9731775531756404"},"_hasShrinkwrap":false},"1.1.8":{"name":"express-cart","version":"1.1.8","description":"A fully functioning Node.js shopping cart with Stripe, PayPal and Authorize.net payments.","private":false,"scripts":{"start":"node app.js","deploy":"gulp deploy","test":"ava test/**/*.js --verbose"},"dependencies":{"ajv":"^6.0.0","async":"^2.6.0","axios":"^0.17.1","bcrypt-nodejs":"0.0.3","bcryptjs":"^2.4.3","body-parser":"^1.17.2","cheerio":"^0.22.0","colors":"^1.1.2","connect-mongodb-session":"^1.4.0","cookie-parser":"^1.4.3","express":"^4.15.3","express-handlebars":"^3.0.0","express-session":"^1.15.3","glob":"^7.1.2","helmet":"^3.6.1","html-entities":"^1.2.0","lodash":"^4.13.1","lunr":"^2.1.5","mime-db":"^1.33.0","mime-type":"^3.0.5","moment":"^2.15.2","mongodb":"2.2.3","morgan":"^1.9.0","multer":"^1.1.0","nodemailer":"^4.4.1","numeral":"^2.0.6","paypal-rest-sdk":"^1.6.9","rand-token":"^0.4.0","rimraf":"^2.6.2","sitemap":"^1.6.0","strip-bom":"^3.0.0","stripe":"^5.4.0","uglifycss":"0.0.27"},"devDependencies":{"ava":"^0.25.0","eslint":"^3.19.0","eslint-config-airbnb-base":"^12.1.0","eslint-config-standard":"^10.2.1","eslint-plugin-import":"^2.8.0","eslint-plugin-node":"^5.2.1","eslint-plugin-promise":"^3.6.0","eslint-plugin-standard":"^3.0.1","gulp":"latest","gulp-clean-css":"^3.9.2","gulp-minify":"^2.1.0","gulp-rename":"^1.2.2","mongodb-uri":"^0.9.7","run-sequence":"^2.2.1","supertest":"^3.0.0","wait.for":"^0.6.6"},"main":"app.js","keywords":["Shopping cart","express","mongodb","nodejs","ecommerce","paypal","lunr","cart","shopping"],"author":{"name":"Mark Moffat"},"homepage":"https://expresscart.markmoffat.com","repository":{"type":"git","url":"git+https://github.com/mrvautin/expressCart.git"},"license":"MIT","bugs":{"url":"https://github.com/mrvautin/expressCart/issues"},"gitHead":"b2234ef4f28225bb42f74bf6cf33759048aba518","_id":"express-cart@1.1.8","_npmVersion":"6.4.0","_nodeVersion":"8.11.3","_npmUser":{"name":"mrvautin","email":"hi@markmoffat.com"},"dist":{"integrity":"sha512-oys3luHqSkmT29CiX76nlTrgpq3FJaEPxFIDMyLl/cRM+NPNwptw172O7fo2ZA48Ns++kRgyLy3pLgoQDP+pog==","shasum":"08cfe22916af130fc33e22c617dd5098c98f9dc6","tarball":"https://registry.npmjs.org/express-cart/-/express-cart-1.1.8.tgz","fileCount":142,"unpackedSize":1829547,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbiLaICRA9TVsSAnZWagAAHM0QAJzvYgMACrVxSXlnhscw\nVJtQk7qaRqeQTr1CVv7z2Sk1MImT7FYxegR9YuKiUn6NDcmiHZwfnipTPo8H\nCYKZv/GxgBI/Hzn/O1a/tQR8mlfkGkmr0ad0pqo15JxpiSvpzj4MvaXzaumI\n5TJL0UfwymjDbzSMrqZwpdDG6WgYof2izjmsEanP8jjK2hfzMkf+3nqhqdfv\nQpCaR5teUW+40sKyGsnpPkgHN3IyqWaJZA1DAA+vtaePHYjwnet3Y2oBoUS8\na5B03AuPRo+oW9juOWdE3mVUAbO8/dn0V7GVYZaw3W2Szx71Li7Hle+SGKDI\n2/1qpT8oozHV+9WSr9OWz5DkyoLOIaK6U9HT4SH298KOdSzEMgVhR2M2s1Op\n7I/GEt/sqmVFSAPJRY36AisR1khwMIKVFbEZstQhkt6SieIBSkaItAJ7TEMZ\n+x94KPDRlNjoaNwa3iN0bfmpSaAVqfxgPYU1yIOb+gQeMStlhBhtYAqnr7C/\nF47BgtKFqUD+ezDW9bSqCV9hTTc1PB2rtPRIjyHrjl5IPvGrX0Ph20tY4wdV\nm7ubUtT5xP/JmByV5uRcEEhw1ooqMZLfIzBrHjy7WJbXY6kXLZZBd/0XVMqZ\nFvbr4tPptGkSwh6YGgwFnsf45F61EYvXbwcav0f1ulxuwwP3HF/pL3s5Is+o\nq+Zd\r\n=A2TH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFBGbkpzPzV5yeAQ14/Vqz4AWkn0HIqswXWDigIC8yfwAiBVupeTuHoaR65fq/gLiVBX/sGedz3AlqtmLqZ/RFkZMA=="}]},"maintainers":[{"email":"hi@markmoffat.com","name":"mrvautin"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-cart_1.1.8_1535686279732_0.7294805868436467"},"_hasShrinkwrap":false},"1.1.9":{"name":"express-cart","version":"1.1.9","description":"A fully functioning Node.js shopping cart with Stripe, PayPal and Authorize.net payments.","private":false,"scripts":{"start":"node app.js","deploy":"gulp deploy","test":"ava test/**/*.js --verbose"},"dependencies":{"ajv":"^6.0.0","async":"^2.6.0","axios":"^0.17.1","bcrypt-nodejs":"0.0.3","bcryptjs":"^2.4.3","body-parser":"^1.17.2","cheerio":"^0.22.0","colors":"^1.1.2","connect-mongodb-session":"^1.4.0","cookie-parser":"^1.4.3","express":"^4.15.3","express-handlebars":"^3.0.0","express-session":"^1.15.3","glob":"^7.1.2","helmet":"^3.6.1","html-entities":"^1.2.0","lodash":"^4.17.10","lunr":"^2.1.5","mime-db":"^1.33.0","mime-type":"^3.0.5","moment":"^2.15.2","mongodb":"2.2.3","morgan":"^1.9.0","multer":"^1.1.0","nodemailer":"^4.4.1","numeral":"^2.0.6","paypal-rest-sdk":"^1.6.9","rand-token":"^0.4.0","rimraf":"^2.6.2","sitemap":"^1.6.0","strip-bom":"^3.0.0","stripe":"^5.4.0","uglifycss":"0.0.27"},"devDependencies":{"ava":"^0.25.0","eslint":"^3.19.0","eslint-config-airbnb-base":"^12.1.0","eslint-config-standard":"^10.2.1","eslint-plugin-import":"^2.8.0","eslint-plugin-node":"^5.2.1","eslint-plugin-promise":"^3.6.0","eslint-plugin-standard":"^3.0.1","gulp":"^4.0.0","gulp-clean-css":"^3.9.2","gulp-minify":"^2.1.0","gulp-rename":"^1.2.2","mongodb-uri":"^0.9.7","run-sequence":"^2.2.1","supertest":"^3.0.0","wait.for":"^0.6.6"},"main":"app.js","keywords":["Shopping cart","express","mongodb","nodejs","ecommerce","paypal","lunr","cart","shopping"],"author":{"name":"Mark Moffat"},"homepage":"https://expresscart.markmoffat.com","repository":{"type":"git","url":"git+https://github.com/mrvautin/expressCart.git"},"license":"MIT","bugs":{"url":"https://github.com/mrvautin/expressCart/issues"},"gitHead":"354f4e980e100791c7517ebcef0944018036fb31","_id":"express-cart@1.1.9","_npmVersion":"6.4.0","_nodeVersion":"8.11.3","_npmUser":{"name":"mrvautin","email":"hi@markmoffat.com"},"dist":{"integrity":"sha512-SMdB4kFUcxKL/O8Yim0a3wE8ddKi7mcWZtgAdAORUHwKRyZbMRkRjYzgNVHnIUfWj964jW0Dm3vpYTV1sAG0yw==","shasum":"7f1ae435b6cde53cb3efd7e8ca509b2e232e87b2","tarball":"https://registry.npmjs.org/express-cart/-/express-cart-1.1.9.tgz","fileCount":142,"unpackedSize":1829548,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbiM5iCRA9TVsSAnZWagAAWToP/iQXre1MhQftspw9Q7e1\nSxb4FdyFKkLLHyL7binKCNEPHVCqUPa2qKMb51PnFfJR8o/fOnTl4JFGqV10\nIM4s7FkAkssIFHYpp3QL4q64Zvt2vJeUEIdKdTsAZIiePJJmJgGksq+7M/gF\n88pCCq4AnzpVryyzrtPU34CDJUnFIp/ON+aP892u7HVeixS3aqOgqM3fwH4/\nTdC/lcNyn1Z0D5UQzq/eA39VXK2r1rQi4mTKozambihOdUv6C7DXTT3Q9V/1\nu/F5KU7CNDKg41dZvIer1Sb1plka1UnGSHo5wdDwaShEmupFHDZosDx8yXNk\nAcLlK1LHUB095UIQrksrqqRW6fBPFQNFKYBecCiT9j86LoXtt7mroqv668Sn\nNNJ3D02kSRUCVhZDAHcLWHSd575hBXV9OSXXx7sFe5CVx6btRRmHOkDLuIj+\nnH8J12G+o3tp4oD1z0C+A744dy5iSqqs4HzWcdNMifJ4N67+tp9hWO66l9+z\nHiqIsv8duwI4U88DuQXFnw7cdJr9kcYtIZy+z/6kbkE5apKEivjM+r2PFO6R\nLVFSEmlkLOfkzJrZU+LIc1XD6wiN87HRy9QxeZLFJuT2pGeahBBOrcQV1/r7\nUH3/swdxOShn7FQtFALtcZun5N5jGNBR+WLivBNtpG3pjZ0HNjvK5KMATcAD\n1HPx\r\n=OLUA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCLbqfVIjbUHzPsqIczPDyMtxDEdHIQeSzwy2kbsJUOfwIgUd1HcSkm2N3PyqPOOCFeqJuR3OuO5tPWAXnswIRDk/s="}]},"maintainers":[{"email":"hi@markmoffat.com","name":"mrvautin"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-cart_1.1.9_1535692385785_0.5137869732458926"},"_hasShrinkwrap":false},"1.1.10":{"name":"express-cart","version":"1.1.10","description":"A fully functioning Node.js shopping cart with Stripe, PayPal and Authorize.net payments.","private":false,"scripts":{"start":"node app.js","deploy":"gulp deploy","test":"ava test/**/*.js --verbose"},"dependencies":{"ajv":"^6.0.0","async":"^2.6.0","axios":"^0.17.1","bcrypt-nodejs":"0.0.3","bcryptjs":"^2.4.3","body-parser":"^1.17.2","cheerio":"^0.22.0","colors":"^1.1.2","connect-mongodb-session":"^1.4.0","cookie-parser":"^1.4.3","express":"^4.15.3","express-handlebars":"^3.0.0","express-session":"^1.15.3","glob":"^7.1.2","helmet":"^3.6.1","html-entities":"^1.2.0","lodash":"^4.17.10","lunr":"^2.1.5","mime-db":"^1.33.0","mime-type":"^3.0.5","moment":"^2.15.2","mongodb":"2.2.3","morgan":"^1.9.0","multer":"^1.1.0","nodemailer":"^4.4.1","numeral":"^2.0.6","paypal-rest-sdk":"^1.6.9","rand-token":"^0.4.0","rimraf":"^2.6.2","sitemap":"^1.6.0","strip-bom":"^3.0.0","stripe":"^5.4.0","uglifycss":"0.0.27"},"devDependencies":{"ava":"^0.25.0","eslint":"^3.19.0","eslint-config-airbnb-base":"^12.1.0","eslint-config-standard":"^10.2.1","eslint-plugin-import":"^2.8.0","eslint-plugin-node":"^5.2.1","eslint-plugin-promise":"^3.6.0","eslint-plugin-standard":"^3.0.1","gulp":"^4.0.0","gulp-clean-css":"^3.10.0","gulp-minify":"^3.1.0","gulp-rename":"^1.4.0","mongodb-uri":"^0.9.7","supertest":"^3.0.0","wait.for":"^0.6.6"},"main":"app.js","keywords":["Shopping cart","express","mongodb","nodejs","ecommerce","paypal","lunr","cart","shopping"],"author":{"name":"Mark Moffat"},"homepage":"https://expresscart.markmoffat.com","repository":{"type":"git","url":"git+https://github.com/mrvautin/expressCart.git"},"license":"MIT","bugs":{"url":"https://github.com/mrvautin/expressCart/issues"},"gitHead":"eac527904df12aa9e2d798d1ad91ea531545802d","_id":"express-cart@1.1.10","_npmVersion":"6.4.0","_nodeVersion":"8.11.3","_npmUser":{"name":"mrvautin","email":"hi@markmoffat.com"},"dist":{"integrity":"sha512-AofpneR49cG98uVM/6QIHSqKoDfa8ea6coG/PlfLRl3cByt0ytie6NFi0VKriME4eJLZ/dHMV+xwbY+dCMlipA==","shasum":"2272093f56f7a33c0a38f1ef9981d6efe53f973a","tarball":"https://registry.npmjs.org/express-cart/-/express-cart-1.1.10.tgz","fileCount":143,"unpackedSize":1834754,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbt1IpCRA9TVsSAnZWagAAJocQAJrKv7/CrX62h2Rvo7IM\nWVvGvg6k8NXTvapjrq0PwfN2IWFf+Rh+jAWx6R19l05mRQ4P2XGKUI0SG+Xg\nXVxe6OFitCg//dv2TFsvwaIoVcIQZJhKvpHyaatuTzjx28Etu5dBuI1UOHOI\nhcuTZHLDXuhCg3S5eN+nDchqplwFu1+PoVc3hjYg5uDvJulNf6NyhDLWJuSQ\nIMApeYCprT4vMO38prqjGnEGy+E3pCzWHOn7dCCoF1Fi6QF4OuglTO8pEaDn\nyKvHhooxanq2+aSW1bfyTHBLPUPmIzUOlQhXj8Gm/4lwyfP+WMm8xC/fRImo\nQQ8SAruD5lP5Lu2ayuKfVnSdVE6aNB5RMHlmYj2SaZVn0SvJDlT5RNF1yBaO\nNrD/BKDUhPdA9PjKNcwB45Q6sQxex1WyBLvfFXRvyt+xkwWNfpsSnuucYwQK\nlQLhcuWpRU/jQmFN6mSne3y6eGiCUoJUbGpf0K0tfKzgd6u2UVck48WE84qf\n/0kFbW0a6tnM3d3tKudjw0uPDdlTFsxF7rBeoZPv86XSuhQOdhpnf7L084RH\nmkfpnl+N4vZ+KPgUAcAp9xRaqZQ5w0yaofK2UF0/C7WmCKxBHqXdi7oXpyjo\nCXKd4swpITAq037I5fmBnNUlaH8EwGi1X3e9+TQbsULKCyPqC3gbLF9cAm6X\n25/p\r\n=R7VO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGw1Nneey1EWhRj337BoK2h4DV1NxK4OywJ7CKHQ+l2jAiEA41TlRYFd2c9/KsXisuzhqQEZhuyhMprYqjK6zEHP5nk="}]},"maintainers":[{"email":"hi@markmoffat.com","name":"mrvautin"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-cart_1.1.10_1538740776246_0.5956976104851082"},"_hasShrinkwrap":false},"1.1.11":{"name":"express-cart","version":"1.1.11","description":"A fully functioning Node.js shopping cart with Stripe, PayPal and Authorize.net payments.","private":false,"scripts":{"start":"node app.js","deploy":"gulp deploy","test":"ava test/**/*.js --verbose"},"dependencies":{"ajv":"^6.8.1","async":"^2.6.1","axios":"^0.17.1","bcrypt-nodejs":"0.0.3","bcryptjs":"^2.4.3","body-parser":"^1.18.3","cheerio":"^0.22.0","colors":"^1.3.3","connect-mongodb-session":"^1.4.0","cookie-parser":"^1.4.3","express":"^4.16.4","express-handlebars":"^3.0.0","express-session":"^1.15.3","glob":"^7.1.3","helmet":"^3.15.0","html-entities":"^1.2.0","lodash":"^4.17.11","lunr":"^2.3.5","mime-db":"^1.38.0","mime-type":"^3.0.7","moment":"^2.24.0","mongodb":"2.2.3","morgan":"^1.9.1","multer":"^1.4.1","nodemailer":"^4.7.0","numeral":"^2.0.6","paypal-rest-sdk":"^1.6.9","rand-token":"^0.4.0","rimraf":"^2.6.3","sanitize-html":"^1.20.0","sitemap":"^1.6.0","strip-bom":"^3.0.0","stripe":"^5.10.0","uglifycss":"0.0.27"},"devDependencies":{"ava":"^0.25.0","eslint":"^3.19.0","eslint-config-airbnb-base":"^12.1.0","eslint-config-standard":"^10.2.1","eslint-plugin-import":"^2.16.0","eslint-plugin-node":"^5.2.1","eslint-plugin-promise":"^3.8.0","eslint-plugin-standard":"^3.1.0","gulp":"^4.0.0","gulp-clean-css":"^3.10.0","gulp-minify":"^3.1.0","gulp-rename":"^1.4.0","mongodb-uri":"^0.9.7","supertest":"^3.4.2","wait.for":"^0.6.6"},"main":"app.js","keywords":["Shopping cart","express","mongodb","nodejs","ecommerce","paypal","lunr","cart","shopping"],"author":{"name":"Mark Moffat"},"homepage":"https://expresscart.markmoffat.com","repository":{"type":"git","url":"git+https://github.com/mrvautin/expressCart.git"},"license":"MIT","bugs":{"url":"https://github.com/mrvautin/expressCart/issues"},"gitHead":"0ce3a168172706d4edb476a83e3e1233d0799bd6","_id":"express-cart@1.1.11","_npmVersion":"6.4.1","_nodeVersion":"8.11.3","_npmUser":{"name":"mrvautin","email":"hi@markmoffat.com"},"dist":{"integrity":"sha512-beaPoMgIRCAzNo3X056RBang35vKrR+AbqGrj5K/0WHfZEurXMOh7F1DVCqxLUVBU9hFykJw39R9HGDAME+7dg==","shasum":"2bbf89030f715c6927b4045778b9f3484efde731","tarball":"https://registry.npmjs.org/express-cart/-/express-cart-1.1.11.tgz","fileCount":143,"unpackedSize":1839697,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcXrHCCRA9TVsSAnZWagAAmwUQAKTBZcAi8JRBmRbtH3aV\n4HiB0zXduHiaOW5hPVfTqwVHkToDTmcu/R6wC/q5947tsTiFZpjsYCfgsUVA\nyr/lZIY5P1NNMmuB6hSy8Q596xmxx77sjvPtVp0j8HK7MQ0l9eVUmX/wQKu7\n9wDnGFe532lvZ7s/xL5uYuH6dzFUFfPbUCVV7NBVE2OroIp9fA32AuN0LgIl\nV7E0SX1Mhws61OVD6OYslF6egQlbkixEfbCM1+NhTtkK6W5aj5eE4mBDRYPk\nwUus3Lfg7slSpnfAs9jCPuo2FpdawoHqGfpjXZvnNXWVowwNvGYh/MuR47qb\nBVxwbsHpxtMrZ43LaSlOJdHM0PfmboxLR6fjxCr5d8hJ2KuUy8KwNfxXxLh8\nDWdHJEgsgR+gkh6ZtWYnF44jroSGOKE1lYXSBNZ9vLI33tYuWwgraPT9qZGh\nhPY+rMpcc5bgsDqDhIMe0KRvkkX8yz1ryxS2wB4xxY9GrwWuwuq8GLeXD91z\nwA72xNIo9tebEMDMWM0xOO/c93va5ur7GfhNqflysYBb+hoF/U2fhUSyj4MX\nFSTLCr9vrm+dmrkEQmbuCaE61JKnBeCETTl8MqDGr01kzNsCb7/mgLPMZHqD\nVG1B9MzsMmyH9t9/VA/aCdQEXL0b3H5aip5JMu6TtA2nx0dBPnSfLcL+8KA2\n6kfs\r\n=NVck\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFau/6ZzuMJi5eMri5KK7Kmw4a5T9hctZ6QCOZc85y18AiAxqd2Rf0XFRFckA2Kx/BsaxW8WaWjrOS1zT/GQaGhwWw=="}]},"maintainers":[{"email":"hi@markmoffat.com","name":"mrvautin"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-cart_1.1.11_1549709761669_0.18712875235387427"},"_hasShrinkwrap":false},"1.1.12":{"name":"express-cart","version":"1.1.12","description":"A fully functioning Node.js shopping cart with Stripe, PayPal and Authorize.net payments.","private":false,"scripts":{"start":"node app.js","deploy":"gulp deploy","testdata":"node lib/testdata.js","test":"NODE_ENV=test ava --verbose"},"dependencies":{"ajv":"^6.10.0","async":"^2.6.2","axios":"^0.19.0","bcrypt-nodejs":"0.0.3","bcryptjs":"^2.4.3","body-parser":"^1.19.0","cheerio":"^0.22.0","colors":"^1.3.3","connect-mongodb-session":"^1.4.0","cookie-parser":"^1.4.4","express":"^4.17.1","express-handlebars":"^3.1.0","express-session":"^1.16.1","glob":"^7.1.4","helmet":"^3.18.0","html-entities":"^1.2.0","lodash":"^4.17.11","lunr":"^2.3.6","mime-db":"^1.40.0","mime-type":"^3.0.7","moment":"^2.24.0","mongodb":"2.2.3","morgan":"^1.9.1","multer":"^1.4.1","node-cron":"^2.0.3","nodemailer":"^4.7.0","numeral":"^2.0.6","paypal-rest-sdk":"^1.6.9","rand-token":"^0.4.0","rimraf":"^2.6.3","sanitize-html":"^1.20.1","sitemap":"^1.6.0","strip-bom":"^3.0.0","stripe":"^5.10.0","uglifycss":"0.0.27"},"devDependencies":{"ava":"^2.0.0","eslint":"^3.19.0","eslint-config-airbnb-base":"^12.1.0","eslint-config-standard":"^10.2.1","eslint-plugin-import":"^2.17.3","eslint-plugin-node":"^5.2.1","eslint-plugin-promise":"^3.8.0","eslint-plugin-standard":"^3.1.0","gulp":"^4.0.2","gulp-clean-css":"^3.10.0","gulp-minify":"^3.1.0","gulp-rename":"^1.4.0","mongodb-uri":"^0.9.7","supertest":"^3.4.2","supertest-session":"^4.0.0","wait.for":"^0.6.6"},"main":"app.js","keywords":["Shopping cart","express","mongodb","nodejs","ecommerce","paypal","lunr","cart","shopping"],"author":{"name":"Mark Moffat"},"homepage":"https://expresscart.markmoffat.com","repository":{"type":"git","url":"git+https://github.com/mrvautin/expressCart.git"},"license":"MIT","bugs":{"url":"https://github.com/mrvautin/expressCart/issues"},"gitHead":"aabf47fc2d316ac3e017178e719ad7bf57e9f420","_id":"express-cart@1.1.12","_nodeVersion":"10.16.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-An3lkOL4zUR+RIGUl39XDPbkNQUyFUMkDHQgqHdeNC1fNavxR23DiqxPKozRhPKisRy3CU+bvGrAospDR1FGQQ==","shasum":"dce5144efc66a43ce976db137aa6885bf15ca379","tarball":"https://registry.npmjs.org/express-cart/-/express-cart-1.1.12.tgz","fileCount":145,"unpackedSize":1847055,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdAjA6CRA9TVsSAnZWagAA1u4P/17mYxK9PMPcoI1pOiLz\n2+9ZzeC0CjoHXGluXx2p9SexYA13gpnCVhCM9LdGF9asPLGog8/rKnSv32sJ\nijgmqL7nygyCdvHHvwJx+ryRtF1xx/ZY6v2NdOqWDPbrtADAO+7pJa4ajEqF\nE8XaJQJilOmYa3/fhsRx+pMl2CwIlCwXjkwVXIA6HSiQG637tfUQGvdl/dmb\nwsIaf1d5bcpk4y1cBqJce8IICYksI04osnDpY5VgEMgw5Spfpdp7Ktjrb/UV\n3AYgjXEr92QxCuO+bC9JqjcS7Fzh6CURUf4uKG6T1D6otrVq8UPTDjaoZJKr\nyDThue29oGuxMSPhpdvMCr06hvwy4D//srLpTUTw0/b5K57epkooJnIShofP\nCgQI2TfNNjefEAvvop1I1TbmrUit6W3mljx9IjJGg/LjbOKr9PxTfGInz4uo\n+JNJtk4nEb+s8zJ1/YbI++1UQZPX+TxPDiztp9q6343PMbbpWjzQ4XTd6xCK\n8NGhoPruAJ/25dQX0oe596CRFtfsmdDBwteEEnWc6/aO39OjeGv3oKUMoSHU\nuz4zKpRh0Gz/6dFaY/G6mj5bcNUidCP0uRJPLYyBvsVX50JcpTcJbooy3HIl\nnhvNw/kBQ/gpzDcA7a3sClb19/lcy1Lp5+bkqVAbtwkHz6UDxR4ye3PMhyJI\nc3De\r\n=PKyn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGYtYrdOaBRiiCKpDc7kpsxC51OuPQI/kIwELB5xksBhAiEA/CcLW5EomATfpmGlo8A2Kg5bxirRluJTVLcluRY7WGU="}]},"maintainers":[{"email":"hi@markmoffat.com","name":"mrvautin"}],"_npmUser":{"name":"mrvautin","email":"hi@markmoffat.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-cart_1.1.12_1560424504376_0.6388409004689135"},"_hasShrinkwrap":false},"1.1.13":{"name":"express-cart","version":"1.1.13","description":"A fully functioning Node.js shopping cart with Stripe, PayPal and Authorize.net payments.","private":false,"scripts":{"start":"node app.js","deploy":"gulp deploy","testdata":"node lib/testdata.js","test":"NODE_ENV=test ava --verbose"},"engines":{"node":"10.16.0"},"dependencies":{"ajv":"^6.10.2","ajv-keywords":"^3.4.1","async":"^2.6.3","axios":"^0.19.0","bcryptjs":"^2.4.3","body-parser":"^1.19.0","cheerio":"^0.22.0","colors":"^1.4.0","connect-mongodb-session":"^2.2.0","cookie-parser":"^1.4.4","express":"^4.17.1","express-handlebars":"^3.1.0","express-session":"^1.17.0","glob":"^7.1.5","helmet":"^3.21.2","html-entities":"^1.2.0","jsonschema":"^1.2.4","lodash":"^4.17.15","lunr":"^2.3.8","mime-db":"^1.42.0","mime-type":"^3.0.7","moment":"^2.24.0","mongodb":"^3.3.3","mongodb-uri":"^0.9.7","morgan":"^1.9.1","multer":"^1.4.2","node-cron":"^2.0.3","nodemailer":"^4.7.0","numeral":"^2.0.6","paypal-rest-sdk":"^1.6.9","rand-token":"^0.4.0","rimraf":"^2.7.1","sanitize-html":"^1.20.1","sitemap":"^1.6.0","strip-bom":"^3.0.0","stripe":"^5.10.0","uglifycss":"0.0.27"},"devDependencies":{"ava":"^2.4.0","eslint":"^6.6.0","eslint-config-airbnb-base":"^13.2.0","eslint-config-standard":"^13.0.1","eslint-plugin-import":"^2.18.2","eslint-plugin-node":"^9.2.0","eslint-plugin-promise":"^4.2.1","eslint-plugin-standard":"^4.0.1","gulp":"^4.0.2","gulp-clean-css":"^3.10.0","gulp-minify":"^3.1.0","gulp-rename":"^1.4.0","supertest":"^3.4.2","supertest-session":"^4.0.0","wait.for":"^0.6.6"},"main":"app.js","keywords":["Shopping cart","express","mongodb","nodejs","ecommerce","paypal","lunr","cart","shopping"],"author":{"name":"Mark Moffat"},"homepage":"https://expresscart.markmoffat.com","repository":{"type":"git","url":"git+https://github.com/mrvautin/expressCart.git"},"license":"MIT","bugs":{"url":"https://github.com/mrvautin/expressCart/issues"},"gitHead":"8c817e6df1c04702a662f2bfea575c57a267349e","_id":"express-cart@1.1.13","_nodeVersion":"12.3.1","_npmVersion":"6.11.3","dist":{"integrity":"sha512-uSh/H/MWMmtOUJb3tOjzZMWGb89PCHqC5NK+dyOfUOicDm0lz2kZFDNek/lEyC8nV1tYFaXLzGtiw1CEs4ofxg==","shasum":"07d410bca16a2fcba8b4220fd161dc60b877dfe0","tarball":"https://registry.npmjs.org/express-cart/-/express-cart-1.1.13.tgz","fileCount":129,"unpackedSize":570525,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJds+zWCRA9TVsSAnZWagAAvj0P/1pq3LHHTqiRIHNnej88\n2qMUsvzHYbfdnV+kk4+le9wBbf1tXlg47p4AVl5egtb2RC/riCRoaYC6qxR0\nhFXyxdgcAtsSNYIOD+pptnJyW+FVjMU+ZQa77RHraWLXsvyDlGVqblTrkBJ2\nXbXak3E98H3U644AmjNv+sU7nKM7KgpqpCVDDdCWmq1zmS89EfvvHHfnoIsE\nLsGDqslGkj8ADrx5fU9N2n7tVbCv4knVwREG3oDSKp9JlIVxlt7mOGjyHCZo\n8LdTOA0dmh48Q+/Qhxt4xvCpjdlS+IN7Ca6z38HzkNIlVwDhmg7kWh8//f4i\nzEPbtBQlp2fW5Tfcmr3PAkfUt7XStaXpois5RBiKztFibt2Gu18NVxeBznrq\nCno46uB9ggQCZoLwAJGbavGb6UugHncVTqBDtJwBwqtp1Acu87x72fnq8lx5\ngpr7+G3Sfx7SX9RBi7x2KmenF8CdFraQXUe5YMcmyU0yzFxXlWv8Q//AcnoB\nxqaiA9S17g24b+l1hnyy9/j5llK+sGKYRj/fC2CI9CoXUuQnE/wWTVasWpE/\nkqm66U+7ygrCoB3f+XiNA/+HZA4HWXibdwqPyxEPRwZNBfqzKQhnksf00+6E\nT/Uz2jemOOY8dfR3GKSkF2kq0iSiYR4Yk6uQ9a/esLGCuw4YttelhJ+YrsAF\n5E/a\r\n=x/DA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDJzPUjAcXehJOsPZtgbrMfqiD9JzKuaxEDonz8oSPGygIgA42U2gxs8bPF8DkZlfN2NoyRP9F8oHU1ECWCmr7aMdg="}]},"maintainers":[{"email":"hi@markmoffat.com","name":"mrvautin"}],"_npmUser":{"name":"mrvautin","email":"hi@markmoffat.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-cart_1.1.13_1572072661760_0.9013314190097379"},"_hasShrinkwrap":false},"1.1.14":{"name":"express-cart","version":"1.1.14","description":"A fully functioning Node.js shopping cart with Stripe, PayPal and Authorize.net payments.","private":false,"scripts":{"start":"node app.js","deploy":"gulp deploy","testdata":"node lib/testdata.js","test":"ava","dev":"nodemon app.js","lint":"eslint ./"},"ava":{"serial":true,"files":["./test/specs/*.js"],"verbose":true,"environmentVariables":{"NODE_ENV":"test"}},"engines":{"node":"10.16.0"},"dependencies":{"@adyen/api-library":"^2.1.7","ajv":"^6.10.2","async":"^2.6.3","axios":"^0.19.0","bcryptjs":"^2.4.3","body-parser":"^1.19.0","cheerio":"^0.22.0","colors":"^1.4.0","connect-mongodb-session":"^2.2.0","cookie-parser":"^1.4.4","express":"^4.17.1","express-handlebars":"^3.1.0","express-session":"^1.17.0","glob":"^7.1.5","helmet":"^3.21.2","html-entities":"^1.2.0","i18n":"^0.8.4","jsonschema":"^1.2.4","lodash":"^4.17.15","lunr":"^2.3.8","mime-type":"^3.0.7","mkdirp":"^0.5.1","moment":"^2.24.0","mongodb":"^3.3.3","mongodb-uri":"^0.9.7","morgan":"^1.9.1","multer":"^1.4.2","node-cron":"^2.0.3","nodemailer":"^4.7.0","numeral":"^2.0.6","paypal-rest-sdk":"^1.6.9","rand-token":"^0.4.0","rimraf":"^2.7.1","sanitize-html":"^1.20.1","sitemap":"^1.6.0","strip-bom":"^3.0.0","stripe":"^7.12.0","uglifycss":"0.0.27"},"devDependencies":{"ava":"^2.4.0","eslint":"^6.6.0","eslint-config-standard":"^13.0.1","eslint-plugin-import":"^2.18.2","eslint-plugin-node":"^9.2.0","eslint-plugin-promise":"^4.2.1","eslint-plugin-standard":"^4.0.1","gulp":"^4.0.2","gulp-clean-css":"^3.10.0","gulp-minify":"^3.1.0","gulp-rename":"^1.4.0","mime-db":"^1.42.0","supertest":"^3.4.2","supertest-session":"^4.0.0"},"main":"app.js","keywords":["Shopping cart","express","mongodb","nodejs","ecommerce","paypal","stripe","authorise.net","adyen","lunr","cart","shopping"],"author":{"name":"Mark Moffat"},"homepage":"https://expresscart.markmoffat.com","repository":{"type":"git","url":"git+https://github.com/mrvautin/expressCart.git"},"license":"MIT","bugs":{"url":"https://github.com/mrvautin/expressCart/issues"},"gitHead":"e46f5a7f4be82ae8dc4117fb318d9f14ceb08026","_id":"express-cart@1.1.14","_nodeVersion":"12.3.1","_npmVersion":"6.11.3","dist":{"integrity":"sha512-i05ULs1VQ9clxRb1wOJAWfHAEUHkeByGS3bURSqnbHLJR3mstevc374ut3InlSJgAnrog50bWiF+4RzdURo7qA==","shasum":"31cc6a79e17c603a24bce756f9a95b335911ab04","tarball":"https://registry.npmjs.org/express-cart/-/express-cart-1.1.14.tgz","fileCount":141,"unpackedSize":625524,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdySdcCRA9TVsSAnZWagAAD3YP/1Zy9BFpEOkL8PB4G7u7\nixkjidfdOEPlXRJ2x2+X1m+y5XlWZlrBTqDH4SzEuDz0TiQYohN3qwWEdpC8\nx+cyy1iogMrc9HC+QfoogWRRXqaZFOxeAB+jJZktaLHkAku+/R45Lk1qmxtg\nooEMT8n8tAzzCU8O+zLzxzRVksq4VOGL+Yv72VTkLO9wwhERJK24WNagP3R3\neMpqoB3Av81zque9TA+XhAv8jz7DB9ETPH0g95+DBzRV0kqvq1zXf9Q9qEXe\nTSdrqC0T4nZySAMJ63CoNGsZJUHzonELVCfDTfwT75efDLK3zo8CjuidYqar\naKoTUiz8WehhHyAg5/TrYAeYRRwCpNi+8hxkq/eKY+G9vxaqYP8qFqNz5js0\nRgOYSZLnW249LudkmQStXgMRZYGi1m0d2avwcvfVXzmytg3pli+ky213qpmC\nfKzesnYb4prZ+yiek4q9yup0R5MXLtUjFQW78UQVa/cljts7AqlAV2+QgpM/\njIn070/SdCwGXrvlQ3iPLPFxNoNOX52JRoHEWZN/JhN3Ov56SlBJ94SV1rdg\n3UrsX/TmJYxJpkhSyO8bHZA+JYl08Hfzg7YlZy+DsS/pkv9ua0oTDfUkcfJJ\nehOWrJSDpWzdm1L4qbhq535LsVpKtygNildo3IOckDRL5iqCvO79shNZyRWQ\ns1aB\r\n=m4Gx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFG105TFjQa3LQHwn3bIYmj1S+Rj99tDIaNSjBI3YCc6AiEAsGIRPC/2V/lmH5D2F+Hu+6875x2Q96tYAD0Wf6l099U="}]},"maintainers":[{"email":"hi@markmoffat.com","name":"mrvautin"}],"_npmUser":{"name":"mrvautin","email":"hi@markmoffat.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-cart_1.1.14_1573463900004_0.38604355249915123"},"_hasShrinkwrap":false},"1.1.15":{"name":"express-cart","version":"1.1.15","description":"A fully functioning Node.js shopping cart with Stripe, PayPal and Authorize.net payments.","private":false,"scripts":{"start":"node app.js","deploy":"gulp deploy","testdata":"node lib/testdata.js","test":"ava","dev":"nodemon app.js","lint":"eslint ./"},"ava":{"serial":true,"files":["./test/specs/*.js"],"timeout":"10s","verbose":true,"environmentVariables":{"NODE_ENV":"test"}},"engines":{"node":"10.16.0"},"dependencies":{"@adyen/api-library":"^2.1.7","ajv":"^6.10.2","async":"^2.6.3","axios":"^0.19.0","bcryptjs":"^2.4.3","body-parser":"^1.19.0","cheerio":"^0.22.0","colors":"^1.4.0","connect-mongodb-session":"^2.2.0","cookie-parser":"^1.4.4","dotenv":"^8.2.0","express":"^4.17.1","express-handlebars":"^3.1.0","express-rate-limit":"^5.0.0","express-session":"^1.17.0","glob":"^7.1.5","helmet":"^3.21.2","html-entities":"^1.2.0","i18n":"^0.8.4","lodash":"^4.17.15","lunr":"^2.3.8","mime-type":"^3.0.7","mkdirp":"^0.5.1","moment":"^2.24.0","mongodb":"^3.3.3","mongodb-uri":"^0.9.7","morgan":"^1.9.1","multer":"^1.4.2","node-cron":"^2.0.3","nodemailer":"^4.7.0","numeral":"^2.0.6","paypal-rest-sdk":"^1.6.9","rand-token":"^0.4.0","rimraf":"^2.7.1","sanitize-html":"^1.20.1","sitemap":"^1.6.0","strip-bom":"^3.0.0","stripe":"^7.12.0","uglifycss":"0.0.27","yenv":"^2.1.1"},"devDependencies":{"ava":"^2.4.0","eslint":"^6.6.0","eslint-config-standard":"^13.0.1","eslint-plugin-import":"^2.18.2","eslint-plugin-node":"^9.2.0","eslint-plugin-promise":"^4.2.1","eslint-plugin-standard":"^4.0.1","gulp":"^4.0.2","gulp-clean-css":"^3.10.0","gulp-minify":"^3.1.0","gulp-rename":"^1.4.0","mime-db":"^1.42.0","supertest":"^3.4.2","supertest-session":"^4.0.0"},"main":"app.js","keywords":["Shopping cart","express","mongodb","nodejs","ecommerce","paypal","stripe","authorise.net","adyen","lunr","cart","shopping"],"author":{"name":"Mark Moffat"},"homepage":"https://expresscart.markmoffat.com","repository":{"type":"git","url":"git+https://github.com/mrvautin/expressCart.git"},"license":"MIT","bugs":{"url":"https://github.com/mrvautin/expressCart/issues"},"gitHead":"8a72d5c7a0164476046b7575252d9d93e1bce853","_id":"express-cart@1.1.15","_nodeVersion":"12.3.1","_npmVersion":"6.13.1","dist":{"integrity":"sha512-oipjG5jdlTVRUx/PnQX8QUs5GDQvXzkgPYBPabiPOLinNj07XUVfTj2TFq0vgcize+jAoeSa/z9UEqwR2nofjw==","shasum":"a6b75f09d0c0c418f60e06d9dbf78da870eb6862","tarball":"https://registry.npmjs.org/express-cart/-/express-cart-1.1.15.tgz","fileCount":147,"unpackedSize":622929,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd+dF0CRA9TVsSAnZWagAAFGEP/1auJB5jrFdcq6LUnGIR\n/4yx6xO3nFksacyyVXPt9ehFTWznTPt3lQkPGQni4MzYCPGLwVYLgkr9MCha\nSmHtyZSIYGmbP4i8LPcsJCbZfZEohGZQv1inhv1/S7xkWes2ZqyaTgug/1ZT\nca3a7IsmWubxdXzXbdV00NclV+WK+BNyJXl6fS1z/FEljlnQuVxYVoJEadYs\nFf8LHQTK+rSl+kPA50yRZ1mn168+Q9tJsudCVzDt4yoqRF2XdyEVD/aNGULV\nRqzPuzwhHBuwpPYQuhiZWd7VmiMZ1KJykzHd1oS0A+WsJQpjpGenPBdajMB6\nuim6h2J6MfuEpWCO8/uFm3bI+KcDtrBe4v9uxJanUcntRyRhNPWsZelrdDQD\nXMgyo4tEbtbbbJTfSC+dcsRUFO5Im0K3oKVeJON682asItC5hMHTtTYsTdMX\n7h6IODeHbHcxmJUyZ2b8botodc7efXOC/GiDQuWzpFz4STmja8BN1ntrlyJ2\nIucgKSpkqLpXxbrb4NJEA/kbAWIiHlv1W65G+WCuQyduTn0tNGt1I17BddKQ\nQznJFtioyB68jVn0sClpFhatdm8qwaMAK0yxNmYZjH4a/VqIp0Fbf6XwKr8s\nHfcEbcDVUKowDNsEM34kzPQ+V1Icj9EhI35WncroDcNwY3UVn0kcU8FE9/17\nT4fy\r\n=i9rZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDpDvcReOCGC3dFzOMerv9sLeTd1uC8Qhz175M6L6EBEgIgPzkAQIllPEGm9bUkie/kg0w7/2EorCnYlAjKZ9AtHHI="}]},"maintainers":[{"email":"hi@markmoffat.com","name":"mrvautin"}],"_npmUser":{"name":"mrvautin","email":"hi@markmoffat.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-cart_1.1.15_1576653172204_0.7216312912956553"},"_hasShrinkwrap":false},"1.1.16":{"name":"express-cart","version":"1.1.16","description":"A fully functioning Node.js shopping cart with Stripe, PayPal and Authorize.net payments.","private":false,"scripts":{"start":"node app.js","deploy":"gulp deploy","testdata":"node lib/testdata.js","test":"ava","dev":"nodemon app.js","lint":"eslint ./"},"ava":{"serial":true,"files":["./test/specs/*.js"],"timeout":"10s","verbose":true,"environmentVariables":{"NODE_ENV":"test"}},"engines":{"node":"10.16.0"},"dependencies":{"@adyen/api-library":"^2.1.7","ajv":"^6.10.2","async":"^2.6.3","axios":"^0.19.0","bcryptjs":"^2.4.3","body-parser":"^1.19.0","cheerio":"^0.22.0","colors":"^1.4.0","connect-mongodb-session":"^2.2.0","cookie-parser":"^1.4.4","countries-list":"^2.5.0","dotenv":"^8.2.0","express":"^4.17.1","express-handlebars":"^3.1.0","express-rate-limit":"^5.0.0","express-session":"^1.17.0","glob":"^7.1.5","gulp-less":"^4.0.1","helmet":"^3.21.2","html-entities":"^1.2.0","i18n":"^0.8.4","lodash":"^4.17.15","lunr":"^2.3.8","mime-db":"^1.43.0","mime-type":"^3.0.7","mkdirp":"^0.5.1","moment":"^2.24.0","mongodb":"^3.3.3","mongodb-uri":"^0.9.7","morgan":"^1.9.1","multer":"^1.4.2","node-cron":"^2.0.3","nodemailer":"^4.7.0","numeral":"^2.0.6","object-hash":"^2.0.1","paypal-rest-sdk":"^1.6.9","rand-token":"^0.4.0","rimraf":"^2.7.1","sanitize-html":"^1.20.1","sitemap":"^1.6.0","strip-bom":"^3.0.0","stripe":"^7.12.0","uglifycss":"0.0.27","yenv":"^2.1.1"},"devDependencies":{"ava":"^2.4.0","eslint":"^6.8.0","eslint-config-standard":"^13.0.1","eslint-plugin-extra-rules":"0.0.0-development","eslint-plugin-import":"^2.18.2","eslint-plugin-node":"^9.2.0","eslint-plugin-promise":"^4.2.1","eslint-plugin-standard":"^4.0.1","gulp":"^4.0.2","gulp-clean-css":"^3.10.0","gulp-minify":"^3.1.0","gulp-rename":"^1.4.0","less":"^3.10.3","supertest":"^4.0.2"},"main":"app.js","keywords":["Shopping cart","express","mongodb","nodejs","ecommerce","paypal","stripe","authorise.net","adyen","instore","lunr","cart","shopping"],"author":{"name":"Mark Moffat"},"homepage":"https://expresscart.markmoffat.com","repository":{"type":"git","url":"git+https://github.com/mrvautin/expressCart.git"},"license":"MIT","bugs":{"url":"https://github.com/mrvautin/expressCart/issues"},"gitHead":"94f457748e023439a60af92d44f9c02c378f5074","_id":"express-cart@1.1.16","_nodeVersion":"12.3.1","_npmVersion":"6.13.6","dist":{"integrity":"sha512-iAQooKNlkDKC+ThsPkbDv1XkPo4ts8x47zk+UG+ThKlVEtVSio6piRgtYTZcv72Rrcdg6/KuCtgoFgQepU3DOg==","shasum":"8edae614a391380a8095b0061e57719bf061f72f","tarball":"https://registry.npmjs.org/express-cart/-/express-cart-1.1.16.tgz","fileCount":146,"unpackedSize":680879,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeKBXWCRA9TVsSAnZWagAAdl8P/iJW83XkJAsXzP/BzEm6\nFsLTNwGZ5+YBaQLc8uQ+R9mW+OvLOKWZ3FNQ8A/+i+YldaXhm6dUzaarpICv\nxyXjN0FLTf+FHTX4lqU90kZHqs0w0TrYPjGzddchE9JNQUpaVUzdAUpSk2/l\nkRLQY0Xnk6TNwfMB3UfLJ4KxVydVDxiJd7PKxhvENhpeEikVZJWsamMaut84\n0cBJ0aoOVM0siMyEmtuKOUib9/OgPWuQv7zVJs4G9TpgjwYHjRdluitawaUn\nfW5V9Of1gANnb0E4HNzAfarZ33lziA0ICYD9s12dPyVuQTRG34HSOE9TKjAv\nz31wT2bro6uF3PNUE9UT+MlfFUHYWcoIcusYDmHsNsbNWxVd49CapL4B/DD0\nkQkap46AcA8geO2aDnmxElb4PojJRlM7QBBg4ZVva6vPPhqwFNjP8irXf26i\nc7jNprcHBDNS53MxFJOpKPbuk7Efdfsx8Teh34iSmP8x9gHgvOohxqnXfZuv\nC3TEDPWdy6QANyxihjORHqhjD+BO+jTXjbNsg10DV2WqidUM409kYO67unhi\nP29fdishcv7M+ZUrsC4NeGwKuiBdh2Bss9Mq763i3uPo7HSk6B1YM3N8ibzB\nt/uvymrzyJuFQASEhHIIg+IEb9iv9JTuEx17lXy6KJ7/BFbrdth/5lBweCZs\n4XIi\r\n=lr7t\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDMLn0wnl9HGnyLTEZ2aI/2ZMnNe8vn02/EpT5vnQcWEwIgHJVWg9T+h7xDF5BTY2sn5sLbbRJvzEhJHsQG6sla+ns="}]},"maintainers":[{"email":"hi@markmoffat.com","name":"mrvautin"}],"_npmUser":{"name":"mrvautin","email":"hi@markmoffat.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-cart_1.1.16_1579685333914_0.7037347090673518"},"_hasShrinkwrap":false},"1.1.17":{"name":"express-cart","version":"1.1.17","description":"A fully functioning Node.js shopping cart with Stripe, PayPal and Authorize.net payments.","private":false,"scripts":{"start":"node app.js","deploy":"gulp deploy","testdata":"node lib/testdata.js","test":"ava","dev":"gulp watch","lint":"eslint ./"},"ava":{"serial":true,"files":["./test/specs/*.js"],"timeout":"10s","verbose":true,"environmentVariables":{"NODE_ENV":"test"}},"engines":{"node":"10.16.0"},"dependencies":{"@adyen/api-library":"^2.1.7","ajv":"^6.10.2","ajv-errors":"^1.0.1","async":"^2.6.3","axios":"^0.19.0","bcryptjs":"^2.4.3","body-parser":"^1.19.0","cheerio":"^0.22.0","colors":"^1.4.0","connect-mongodb-session":"^2.2.0","cookie-parser":"^1.4.4","countries-list":"^2.5.0","csurf":"^1.11.0","dotenv":"^8.2.0","express":"^4.17.1","express-handlebars":"^3.1.0","express-rate-limit":"^5.0.0","express-session":"^1.17.0","feather-icons":"^4.25.0","glob":"^7.1.5","gulp-less":"^4.0.1","helmet":"^3.21.2","html-entities":"^1.2.0","i18n":"^0.8.4","lodash":"^4.17.15","lunr":"^2.3.8","mime-db":"^1.43.0","mime-type":"^3.0.7","mkdirp":"^0.5.1","moment":"^2.24.0","mongodb":"^3.3.3","mongodb-uri":"^0.9.7","morgan":"^1.9.1","multer":"^1.4.2","node-cron":"^2.0.3","nodemailer":"^4.7.0","numeral":"^2.0.6","object-hash":"^2.0.1","paypal-rest-sdk":"^1.6.9","rand-token":"^0.4.0","rimraf":"^2.7.1","sanitize-html":"^1.20.1","sitemap":"^1.6.0","string-strip-html":"^4.3.14","strip-bom":"^3.0.0","stripe":"^7.12.0","uglifycss":"0.0.27","yenv":"^2.1.1"},"devDependencies":{"ava":"^2.4.0","eslint":"^6.8.0","eslint-config-standard":"^13.0.1","eslint-plugin-extra-rules":"0.0.0-development","eslint-plugin-import":"^2.18.2","eslint-plugin-node":"^9.2.0","eslint-plugin-promise":"^4.2.1","eslint-plugin-standard":"^4.0.1","gulp":"^4.0.2","gulp-clean-css":"^3.10.0","gulp-minify":"^3.1.0","gulp-nodemon":"^2.5.0","gulp-rename":"^1.4.0","less":"^3.10.3","supertest":"^4.0.2"},"main":"app.js","keywords":["Shopping cart","express","mongodb","nodejs","ecommerce","paypal","stripe","authorise.net","adyen","instore","lunr","cart","shopping"],"author":{"name":"Mark Moffat"},"homepage":"https://expresscart.markmoffat.com","repository":{"type":"git","url":"git+https://github.com/mrvautin/expressCart.git"},"license":"MIT","bugs":{"url":"https://github.com/mrvautin/expressCart/issues"},"gitHead":"8314b7686fbabf98a90df368dd80b1a74ed62d0a","_id":"express-cart@1.1.17","_nodeVersion":"12.15.0","_npmVersion":"6.14.2","dist":{"integrity":"sha512-+0mi4I91S2Nxzq2KAVWkh+VWom0eePV/fpLK0E4I4rLvozlK3HjhUVA6OilbCZvf75G2z2ikI9YzAhKn5e/PWw==","shasum":"641ca2ac6a39665d7918642b3567dba57141059a","tarball":"https://registry.npmjs.org/express-cart/-/express-cart-1.1.17.tgz","fileCount":157,"unpackedSize":961709,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJedFGjCRA9TVsSAnZWagAAyPAQAI6dhzLCoe7NEGln877f\nRhROV0lvE3d/vE9fsdcngwmgMUWAJZFMnhtCfnFAFL18s7854Y5AjsenjN2H\nTCufc+/sBFWrSJvJNLfPCREBoWL1f3RcVtnQzhiS0YlSnhKK3GJi3QVoOFOc\nbADH6ym3jbcJKCXnL5qyfGVD+MjhPdl9NvWWcU+Kf10WUzZdhC9oJ7UZWul2\n642QJPwCFf++qOy5TFpb93Q8eZNKSL8peg4sL1vFptdbNiJ7O7dL6qeOO0r6\naQ8ndUAebZ6TQBKdrUcJxDgY8lE1N8I2GEUVLQhbjwlOR0giZzJ6181AdV10\nQk2N4Z1GW6EK6VABudCcj08c8OT4S1Ypj2uprNJVq4SwP9/6h2AFzXpNItRh\nmwWzuQStF021YFQVAjn7C1nu9mZv0BSmRCUDkkjTsAUKGquP+44H/wJX7Sa2\nmbMpT1gczrvG3EBza7P+TLwD7XB6MzzktrsCoe5blf6u0HFQS4AKYPVD/5M0\nsFWMVEAuuRfGdcx1ypUgut6LmDANsLcTBJdafy8Xxhkj5JMHNEt3WXOppyDF\nKMmmII0fE6EWjVV/vgiS1Sfmrd6PuMG8tTFarcxepFyudaUEpAFaAFGb3jNc\nleVgQLpfAvcM8GEaQTgLBKJ9Q5MNUaTnl0aBl8gektu/GiP9p418VzemThbP\n8f3E\r\n=6N7E\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDj57hIftiqdVuQPlhlwVwJpAvBXWYCkxaM/9TVn4vRbwIgY8AlJ7tB0B1NBa8CPBBkMAdS8iZOFkN2UVgIUo+ANIA="}]},"maintainers":[{"email":"hi@markmoffat.com","name":"mrvautin"}],"_npmUser":{"name":"mrvautin","email":"hi@markmoffat.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-cart_1.1.17_1584681378784_0.17896423550813556"},"_hasShrinkwrap":false}},"homepage":"https://expresscart.markmoffat.com","keywords":["Shopping cart","express","mongodb","nodejs","ecommerce","paypal","stripe","authorise.net","adyen","instore","lunr","cart","shopping"],"readmeFilename":"README.md","author":{"name":"Mark Moffat"},"repository":{"type":"git","url":"git+https://github.com/mrvautin/expressCart.git"},"bugs":{"url":"https://github.com/mrvautin/expressCart/issues"},"license":"MIT"}