-
Notifications
You must be signed in to change notification settings - Fork 0
/
.eslintcache
1 lines (1 loc) · 25.9 KB
/
.eslintcache
1
[{"C:\\Users\\aless\\OneDrive\\Desktop\\Web Development\\JavaScript Mastery\\ecommerce_react\\src\\components\\Cart\\Cart.jsx":"1","C:\\Users\\aless\\OneDrive\\Desktop\\Web Development\\JavaScript Mastery\\ecommerce_react\\src\\components\\Cart\\CartItem\\CartItem.jsx":"2","C:\\Users\\aless\\OneDrive\\Desktop\\Web Development\\JavaScript Mastery\\ecommerce_react\\src\\App.js":"3","C:\\Users\\aless\\OneDrive\\Desktop\\Web Development\\JavaScript Mastery\\ecommerce_react\\src\\components\\Navbar\\Navbar.jsx":"4","C:\\Users\\aless\\OneDrive\\Desktop\\Web Development\\JavaScript Mastery\\ecommerce_react\\src\\components\\CheckoutForm\\Checkout\\styles.js":"5","C:\\Users\\aless\\OneDrive\\Desktop\\Web Development\\JavaScript Mastery\\ecommerce_react\\src\\components\\CheckoutForm\\Checkout\\Checkout.jsx":"6","C:\\Users\\aless\\OneDrive\\Desktop\\Web Development\\JavaScript Mastery\\ecommerce_react\\src\\components\\CheckoutForm\\PaymentForm.jsx":"7","C:\\Users\\aless\\OneDrive\\Desktop\\Web Development\\JavaScript Mastery\\ecommerce_react\\src\\components\\CheckoutForm\\AddressForm.jsx":"8","C:\\Users\\aless\\OneDrive\\Desktop\\Web Development\\JavaScript Mastery\\ecommerce_react\\src\\components\\CheckoutForm\\CustomTextField.jsx":"9","C:\\Users\\aless\\OneDrive\\Desktop\\Web Development\\JavaScript Mastery\\ecommerce_react\\src\\components\\index.js":"10","C:\\Users\\aless\\OneDrive\\Desktop\\Web Development\\JavaScript Mastery\\ecommerce_react\\src\\components\\Products\\styles.js":"11","C:\\Users\\aless\\OneDrive\\Desktop\\Web Development\\JavaScript Mastery\\ecommerce_react\\src\\components\\Products\\Product\\styles.js":"12","C:\\Users\\aless\\OneDrive\\Desktop\\Web Development\\JavaScript Mastery\\ecommerce_react\\src\\components\\CheckoutForm\\Review.jsx":"13","C:\\Users\\aless\\OneDrive\\Desktop\\Web Development\\JavaScript Mastery\\ecommerce_react\\src\\components\\Products\\Products.jsx":"14","C:\\Users\\aless\\OneDrive\\Desktop\\Web Development\\JavaScript Mastery\\ecommerce_react\\src\\components\\Cart\\styles.js":"15","C:\\Users\\aless\\OneDrive\\Desktop\\Web Development\\JavaScript Mastery\\ecommerce_react\\src\\components\\Cart\\CartItem\\styles.js":"16","C:\\Users\\aless\\OneDrive\\Desktop\\Web Development\\JavaScript Mastery\\ecommerce_react\\src\\lib\\commerce.js":"17","C:\\Users\\aless\\OneDrive\\Desktop\\Web Development\\JavaScript Mastery\\ecommerce_react\\src\\components\\Products\\Product\\Product.jsx":"18","C:\\Users\\aless\\OneDrive\\Desktop\\Web Development\\JavaScript Mastery\\ecommerce_react\\src\\components\\Navbar\\styles.js":"19"},{"size":2156,"mtime":1606774086378,"results":"20","hashOfConfig":"21"},{"size":1319,"mtime":1606773893350,"results":"22","hashOfConfig":"21"},{"size":2699,"mtime":1606841725873,"results":"23","hashOfConfig":"21"},{"size":1597,"mtime":1606770956648,"results":"24","hashOfConfig":"21"},{"size":1208,"mtime":1606774504597,"results":"25","hashOfConfig":"21"},{"size":3562,"mtime":1606842995124,"results":"26","hashOfConfig":"21"},{"size":3171,"mtime":1606843730706,"results":"27","hashOfConfig":"21"},{"size":5848,"mtime":1606842221658,"results":"28","hashOfConfig":"21"},{"size":601,"mtime":1606842549320,"results":"29","hashOfConfig":"21"},{"size":235,"mtime":1606774588299,"results":"30","hashOfConfig":"21"},{"size":298,"mtime":1606757754029,"results":"31","hashOfConfig":"21"},{"size":372,"mtime":1606754108615,"results":"32","hashOfConfig":"21"},{"size":1127,"mtime":1606832269351,"results":"33","hashOfConfig":"21"},{"size":810,"mtime":1606766064181,"results":"34","hashOfConfig":"21"},{"size":597,"mtime":1606767026397,"results":"35","hashOfConfig":"21"},{"size":351,"mtime":1606769475160,"results":"36","hashOfConfig":"21"},{"size":117,"mtime":1606843683276,"results":"37","hashOfConfig":"21"},{"size":1476,"mtime":1606766141106,"results":"38","hashOfConfig":"21"},{"size":1631,"mtime":1606757292011,"results":"39","hashOfConfig":"21"},{"filePath":"40","messages":"41","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"42"},"k4zdev",{"filePath":"43","messages":"44","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"45"},{"filePath":"46","messages":"47","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"42"},{"filePath":"48","messages":"49","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"50","usedDeprecatedRules":"42"},{"filePath":"51","messages":"52","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"53","messages":"54","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"55","usedDeprecatedRules":"42"},{"filePath":"56","messages":"57","errorCount":1,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"source":"58","usedDeprecatedRules":"45"},{"filePath":"59","messages":"60","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"61","usedDeprecatedRules":"45"},{"filePath":"62","messages":"63","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"64","messages":"65","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"42"},{"filePath":"66","messages":"67","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"68"},{"filePath":"69","messages":"70","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"45"},{"filePath":"71","messages":"72","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"73","messages":"74","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"42"},{"filePath":"75","messages":"76","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"77"},{"filePath":"78","messages":"79","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"80","messages":"81","errorCount":1,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"82","messages":"83","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"84","messages":"85","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"C:\\Users\\aless\\OneDrive\\Desktop\\Web Development\\JavaScript Mastery\\ecommerce_react\\src\\components\\Cart\\Cart.jsx",[],["86","87"],"C:\\Users\\aless\\OneDrive\\Desktop\\Web Development\\JavaScript Mastery\\ecommerce_react\\src\\components\\Cart\\CartItem\\CartItem.jsx",[],["88","89"],"C:\\Users\\aless\\OneDrive\\Desktop\\Web Development\\JavaScript Mastery\\ecommerce_react\\src\\App.js",[],"C:\\Users\\aless\\OneDrive\\Desktop\\Web Development\\JavaScript Mastery\\ecommerce_react\\src\\components\\Navbar\\Navbar.jsx",["90","91"],"import React from 'react'\r\nimport { AppBar, Toolbar, IconButton, Badge, MenuItem, Menu, Typography } from '@material-ui/core'\r\nimport { ShoppingCart } from '@material-ui/icons'\r\nimport { Link, useLocation } from 'react-router-dom'\r\n\r\nimport logo from '../../assets/commerce.png'\r\nimport useStyles from './styles'\r\n\r\n\r\n\r\nconst Navbar = ({ totalItems }) => {\r\n \r\n const classes = useStyles();\r\n const location = useLocation();\r\n \r\n return (\r\n <>\r\n <AppBar position=\"fixed\" className={classes.appBar} color=\"inherit\"> \r\n <Toolbar>\r\n <Typography component={Link} to='/' variant='h6' className={classes.title} color=\"inherit\" >\r\n <img src={logo} alt='Commerce.js' height=\"25px\" className={classes.image} />\r\n Commerce.js\r\n </Typography>\r\n <div className={classes.grow} />\r\n \r\n {location.pathname === '/' && (\r\n <div className={classes.button} >\r\n \r\n <IconButton component={Link} to='/cart' aria-label='Show cart items' color='inherit' >\r\n <Badge badgeContent={totalItems} color='secondary' >\r\n <ShoppingCart />\r\n </Badge>\r\n </IconButton> \r\n \r\n </div>\r\n )}\r\n </Toolbar>\r\n </AppBar>\r\n </>\r\n )\r\n}\r\n\r\nexport default Navbar\r\n","C:\\Users\\aless\\OneDrive\\Desktop\\Web Development\\JavaScript Mastery\\ecommerce_react\\src\\components\\CheckoutForm\\Checkout\\styles.js",[],"C:\\Users\\aless\\OneDrive\\Desktop\\Web Development\\JavaScript Mastery\\ecommerce_react\\src\\components\\CheckoutForm\\Checkout\\Checkout.jsx",["92"],"import React, { useState, useEffect } from 'react'\r\nimport { Paper, Stepper, Step, StepLabel, Typography, CircularProgress, Divider, Button, CssBaseline } from '@material-ui/core'\r\nimport { Link, useHistory } from 'react-router-dom'\r\nimport { commerce } from '../../../lib/commerce'\r\nimport useStyles from './styles'\r\n\r\nimport AddressForm from '../AddressForm'\r\nimport PaymentForm from '../PaymentForm'\r\n\r\n\r\nconst steps = ['Shipping Address', 'Payment Details']\r\n\r\nconst Checkout = ({ cart, order, onCaptureCheckout, error }) => {\r\n \r\n const [activeStep, setActiveStep] = useState(0);\r\n const [checkoutToken, setCheckoutToken] = useState(null);\r\n const [shippingData, setShippingData] = useState({});\r\n const classes = useStyles();\r\n const history = useHistory();\r\n \r\n const nextStep = () => setActiveStep((prevActiveStep) => prevActiveStep + 1)\r\n const backStep = () => setActiveStep((prevActiveStep) => prevActiveStep - 1)\r\n \r\n useEffect(() => {\r\n const generateToken = async () => {\r\n try {\r\n const token = await commerce.checkout.generateToken(cart.id, { type: 'cart' });\r\n \r\n setCheckoutToken(token)\r\n } catch (error) {\r\n history.push('/');\r\n }\r\n } \r\n \r\n generateToken()\r\n }, [cart])\r\n \r\n \r\n const test = (data) => {\r\n setShippingData(data)\r\n \r\n nextStep()\r\n }\r\n \r\n let Confirmation = () => order.customer ? (\r\n <>\r\n <div>\r\n <Typography variant='h5'>Thank you for your purchase, {order.customer.firstname} {order.customer.lastname}</Typography>\r\n <Divider className={classes.divider} />\r\n <Typography variant='subtitle2'>Order ref: {order.customer_reference}</Typography>\r\n </div>\r\n <br/>\r\n <Button component={Link} to='/' variant='outlined' type='button'>Back to Home</Button>\r\n </>\r\n ) : (\r\n <div className={classes.spinner}>\r\n <CircularProgress /> \r\n </div>\r\n );\r\n \r\n if(error) {\r\n <>\r\n <Typography variant=\"h5\">Error: {error}</Typography>\r\n <br/>\r\n <Button component={Link} to='/' variant='outlined' type='button'>Back to Home</Button>\r\n </>\r\n }\r\n \r\n const Form = () => activeStep === 0 \r\n ? <AddressForm checkoutToken={checkoutToken} nextStep={nextStep} setShippingData={setShippingData} test={test} /> \r\n : <PaymentForm checkoutToken={checkoutToken} nextStep={nextStep} backStep={backStep} shippingData={shippingData} onCaptureCheckout={onCaptureCheckout} />\r\n \r\n return (\r\n <>\r\n <CssBaseline />\r\n <div className={classes.toolbar} />\r\n <main className={classes.layout}>\r\n <Paper className={classes.paper} >\r\n <Typography variant='h4' align='center' >\r\n Checkout\r\n </Typography>\r\n <Stepper activeStep={activeStep} className={classes.stepper} >\r\n {steps.map((step) => (\r\n <Step key={step} >\r\n <StepLabel>{step}</StepLabel>\r\n </Step>\r\n ))}\r\n </Stepper>\r\n {activeStep === steps.length ? <Confirmation /> : checkoutToken && <Form />}\r\n </Paper>\r\n </main>\r\n </>\r\n )\r\n}\r\n\r\nexport default Checkout","C:\\Users\\aless\\OneDrive\\Desktop\\Web Development\\JavaScript Mastery\\ecommerce_react\\src\\components\\CheckoutForm\\PaymentForm.jsx",["93"],"import React from 'react'\r\nimport { Typography, Button, Divider } from '@material-ui/core'\r\nimport { Elements, CardElement, ElementsConsumer } from '@stripe/react-stripe-js'\r\nimport { loadStripe } from '@stripe/stripe-js'\r\n\r\nimport Review from './Review'\r\n\r\nconst stripePromise = loadStripe(REACT_APP_STRIPE_PUBLIC_KEY)\r\n\r\nconst PaymentForm = ({ checkoutToken, shippingData, backStep, onCaptureCheckout, nextStep }) => {\r\n \r\n const handleSubmit = async (e, elements, stripe) => {\r\n e.preventDefault();\r\n \r\n if(!stripe || !elements) return;\r\n \r\n const cardElement = elements.getElement(CardElement);\r\n \r\n const { error, paymentMethod } = await stripe.createPaymentMethod({ type: 'card', card: cardElement })\r\n \r\n if(error) {\r\n console.log('[error]', error);\r\n } else {\r\n const orderData = { \r\n line_items: checkoutToken.live.line_items,\r\n customer: { \r\n firstname: shippingData.firstName,\r\n lastname: shippingData.lastName,\r\n email: shippingData.email\r\n },\r\n shipping: { \r\n name: 'International',\r\n street: shippingData.address1,\r\n town_city: shippingData.city,\r\n county_state: shippingData.shippingSubdivision,\r\n postal_zip_code: shippingData.zip,\r\n country: shippingData.shippingCountry,\r\n },\r\n fulfillment: {\r\n shipping_method: shippingData.shippingOption,\r\n },\r\n payment: {\r\n gateway: 'stripe',\r\n stripe: {\r\n payment_method_id: paymentMethod.id\r\n }\r\n }\r\n }\r\n \r\n onCaptureCheckout(checkoutToken.id, orderData) \r\n \r\n nextStep()\r\n }\r\n }\r\n \r\n return (\r\n <>\r\n <Review checkoutToken={checkoutToken} />\r\n <Divider />\r\n <Typography variant=\"h6\" gutterBottom style={{margin: '20px 0'}}>Payment method</Typography>\r\n <Elements stripe={stripePromise} >\r\n <ElementsConsumer>\r\n {({ elements, stripe }) => (\r\n <form onSubmit={(e) => handleSubmit(e, elements, stripe)}>\r\n <CardElement />\r\n <br/> <br/>\r\n <div style={{display: 'flex', justifyContent: 'space-between'}}> \r\n <Button variant=\"outlined\" onClick={backStep} >Back</Button>\r\n <Button type='submit' variant=\"contained\" disabled={!stripe} color=\"primary\">\r\n Pay {checkoutToken.live.subtotal.formatted_with_symbol}\r\n </Button>\r\n </div>\r\n </form>\r\n )}\r\n </ElementsConsumer>\r\n </Elements>\r\n </>\r\n )\r\n}\r\n\r\nexport default PaymentForm\r\n","C:\\Users\\aless\\OneDrive\\Desktop\\Web Development\\JavaScript Mastery\\ecommerce_react\\src\\components\\CheckoutForm\\AddressForm.jsx",["94","95"],"import React, { useState, useEffect } from 'react'\r\nimport { InputLabel, Select, MenuItem, Button, Grid, Typography } from '@material-ui/core'\r\nimport { useForm, FormProvider } from 'react-hook-form'\r\nimport FormInput from './CustomTextField'\r\nimport { Link } from 'react-router-dom'\r\nimport { commerce } from '../../lib/commerce'\r\n\r\n\r\nconst AddressForm = ({ checkoutToken, test }) => {\r\n \r\n const [shippingCountries, setShippingCountries] = useState([])\r\n const [shippingCountry, setShippingCountry] = useState('')\r\n const [shippingSubdivisions, setShippingSubdivisions] = useState([])\r\n const [shippingSubdivision, setShippingSubdivision] = useState('')\r\n const [shippingOptions, setShippingOptions] = useState([])\r\n const [shippingOption, setShippingOption] = useState('')\r\n \r\n const methods = useForm();\r\n \r\n const countries = Object.entries(shippingCountries).map(([code, name]) => ({ id: code, label: name }))\r\n const subdivisions = Object.entries(shippingSubdivisions).map(([code, name]) => ({ id: code, label: name }))\r\n const options = shippingOptions.map((sO) => ({ id: sO.id, label: `${sO.description} - ${sO.price.formatted_with_symbol}` })) // sO stands for Shipping Option\r\n \r\n const fetchShippingCountries = async (checkoutTokenId) => {\r\n const response = await commerce.services.localeListShippingCountries(checkoutTokenId)\r\n \r\n setShippingCountries(response.countries)\r\n setShippingCountry(Object.keys(response.countries)[0])\r\n }\r\n \r\n const fetchSubdivisions = async (countryCode) => {\r\n const response = await commerce.services.localeListSubdivisions(countryCode);\r\n \r\n setShippingSubdivisions(response.subdivisions)\r\n setShippingSubdivision(Object.keys(response.subdivisions)[0])\r\n }\r\n \r\n const fetchShippingOptions = async (checkoutTokenId, country, region = null) => {\r\n const options = await commerce.checkout.getShippingOptions(checkoutTokenId, { country, region })\r\n \r\n setShippingOptions(options)\r\n setShippingOption(options[0].id)\r\n }\r\n \r\n \r\n \r\n useEffect(() => {\r\n fetchShippingCountries(checkoutToken.id)\r\n }, [])\r\n \r\n useEffect(() => {\r\n if(shippingCountry) fetchSubdivisions(shippingCountry)\r\n }, [shippingCountry])\r\n \r\n useEffect(() => {\r\n if(shippingSubdivision) fetchShippingOptions(checkoutToken.id, shippingCountry, shippingSubdivision)\r\n }, [shippingSubdivision])\r\n \r\n \r\n \r\n \r\n return (\r\n <>\r\n <Typography variant='h6' gutterBottom >Shipping Address</Typography>\r\n <FormProvider {...methods} >\r\n <form onSubmit={methods.handleSubmit((data) => test({ ...data, shippingCountry, shippingSubdivision, shippingOption }))}>\r\n <Grid container spacing={3} >\r\n <FormInput required name='firstName' label='First Name' />\r\n <FormInput required name='lastName' label='Last Name' />\r\n <FormInput required name='address1' label='Address' />\r\n <FormInput required name='email' label='Email' />\r\n <FormInput required name='city' label='City' />\r\n <FormInput required name='zip' label='ZIP / Postal Code' />\r\n \r\n <Grid item xs={12} sm={6} >\r\n <InputLabel>Shipping Country</InputLabel>\r\n <Select value={shippingCountry} fullWidth onChange={(e) => setShippingCountry(e.target.value)} >\r\n {countries.map((country) => (\r\n <MenuItem key={country.id} value={country.id} >\r\n {country.label}\r\n </MenuItem>\r\n ))}\r\n </Select>\r\n </Grid>\r\n \r\n <Grid item xs={12} sm={6} >\r\n <InputLabel>Shipping Subdivision</InputLabel>\r\n <Select value={shippingSubdivision} fullWidth onChange={(e) => setShippingSubdivision(e.target.value)} >\r\n {subdivisions.map((subdivision) => (\r\n <MenuItem key={subdivision.id} value={subdivision.id} >\r\n {subdivision.label}\r\n </MenuItem>\r\n ))}\r\n </Select>\r\n </Grid>\r\n \r\n <Grid item xs={12} sm={6} >\r\n <InputLabel>Shipping Options</InputLabel>\r\n <Select value={shippingOption} fullWidth onChange={(e) => setShippingOptions(e.target.value)} >\r\n {options.map((option) => (\r\n <MenuItem key={option.id} value={option.id} >\r\n {option.label}\r\n </MenuItem>\r\n ))}\r\n </Select>\r\n </Grid>\r\n \r\n </Grid>\r\n <br/>\r\n \r\n <div style={{ display: 'flex', justifyContent: 'space-between' }}>\r\n <Button component={Link} to='/cart' variant=\"outlined\">Back to Cart</Button>\r\n <Button type='submit' variant=\"contained\" color='primary'>Next</Button>\r\n </div>\r\n \r\n </form>\r\n </FormProvider>\r\n </>\r\n )\r\n}\r\n\r\nexport default AddressForm\r\n","C:\\Users\\aless\\OneDrive\\Desktop\\Web Development\\JavaScript Mastery\\ecommerce_react\\src\\components\\CheckoutForm\\CustomTextField.jsx",[],"C:\\Users\\aless\\OneDrive\\Desktop\\Web Development\\JavaScript Mastery\\ecommerce_react\\src\\components\\index.js",[],"C:\\Users\\aless\\OneDrive\\Desktop\\Web Development\\JavaScript Mastery\\ecommerce_react\\src\\components\\Products\\styles.js",[],["96","97"],"C:\\Users\\aless\\OneDrive\\Desktop\\Web Development\\JavaScript Mastery\\ecommerce_react\\src\\components\\Products\\Product\\styles.js",[],"C:\\Users\\aless\\OneDrive\\Desktop\\Web Development\\JavaScript Mastery\\ecommerce_react\\src\\components\\CheckoutForm\\Review.jsx",[],"C:\\Users\\aless\\OneDrive\\Desktop\\Web Development\\JavaScript Mastery\\ecommerce_react\\src\\components\\Products\\Products.jsx",[],"C:\\Users\\aless\\OneDrive\\Desktop\\Web Development\\JavaScript Mastery\\ecommerce_react\\src\\components\\Cart\\styles.js",[],["98","99"],"C:\\Users\\aless\\OneDrive\\Desktop\\Web Development\\JavaScript Mastery\\ecommerce_react\\src\\components\\Cart\\CartItem\\styles.js",[],"C:\\Users\\aless\\OneDrive\\Desktop\\Web Development\\JavaScript Mastery\\ecommerce_react\\src\\lib\\commerce.js",["100"],"C:\\Users\\aless\\OneDrive\\Desktop\\Web Development\\JavaScript Mastery\\ecommerce_react\\src\\components\\Products\\Product\\Product.jsx",[],"C:\\Users\\aless\\OneDrive\\Desktop\\Web Development\\JavaScript Mastery\\ecommerce_react\\src\\components\\Navbar\\styles.js",[],{"ruleId":"101","replacedBy":"102"},{"ruleId":"103","replacedBy":"104"},{"ruleId":"101","replacedBy":"105"},{"ruleId":"103","replacedBy":"106"},{"ruleId":"107","severity":1,"message":"108","line":2,"column":46,"nodeType":"109","messageId":"110","endLine":2,"endColumn":54},{"ruleId":"107","severity":1,"message":"111","line":2,"column":56,"nodeType":"109","messageId":"110","endLine":2,"endColumn":60},{"ruleId":"112","severity":1,"message":"113","line":36,"column":8,"nodeType":"114","endLine":36,"endColumn":14,"suggestions":"115"},{"ruleId":"116","severity":2,"message":"117","line":8,"column":34,"nodeType":"109","messageId":"118","endLine":8,"endColumn":61},{"ruleId":"112","severity":1,"message":"119","line":49,"column":8,"nodeType":"114","endLine":49,"endColumn":10,"suggestions":"120"},{"ruleId":"112","severity":1,"message":"121","line":57,"column":8,"nodeType":"114","endLine":57,"endColumn":29,"suggestions":"122"},{"ruleId":"101","replacedBy":"123"},{"ruleId":"103","replacedBy":"124"},{"ruleId":"101","replacedBy":"125"},{"ruleId":"103","replacedBy":"126"},{"ruleId":"116","severity":2,"message":"127","line":3,"column":38,"nodeType":"109","messageId":"118","endLine":3,"endColumn":63},"no-native-reassign",["128"],"no-negated-in-lhs",["129"],["128"],["129"],"no-unused-vars","'MenuItem' is defined but never used.","Identifier","unusedVar","'Menu' is defined but never used.","react-hooks/exhaustive-deps","React Hook useEffect has a missing dependency: 'history'. Either include it or remove the dependency array.","ArrayExpression",["130"],"no-undef","'REACT_APP_STRIPE_PUBLIC_KEY' is not defined.","undef","React Hook useEffect has a missing dependency: 'checkoutToken.id'. Either include it or remove the dependency array.",["131"],"React Hook useEffect has missing dependencies: 'checkoutToken.id' and 'shippingCountry'. Either include them or remove the dependency array.",["132"],["128"],["129"],["128"],["129"],"'REACT_APP_CHEC_PUBLIC_KEY' is not defined.","no-global-assign","no-unsafe-negation",{"desc":"133","fix":"134"},{"desc":"135","fix":"136"},{"desc":"137","fix":"138"},"Update the dependencies array to be: [cart, history]",{"range":"139","text":"140"},"Update the dependencies array to be: [checkoutToken.id]",{"range":"141","text":"142"},"Update the dependencies array to be: [checkoutToken.id, shippingCountry, shippingSubdivision]",{"range":"143","text":"144"},[1341,1347],"[cart, history]",[2211,2213],"[checkoutToken.id]",[2482,2503],"[checkoutToken.id, shippingCountry, shippingSubdivision]"]