@artisan-commerce/products 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +93 -0
- package/build/main.bundle.js +1 -0
- package/build/src/builders/common.builder.d.ts +23 -0
- package/build/src/builders/user.builder.d.ts +2 -0
- package/build/src/config/constants.d.ts +13 -0
- package/build/src/index.d.ts +4 -0
- package/build/src/lib/aritmetics.d.ts +1 -0
- package/build/src/services/auth/auth.service.d.ts +6 -0
- package/build/src/services/auth/auth.service.types.d.ts +8 -0
- package/build/src/types/user.types.d.ts +12 -0
- package/build/src/utils/assertions/assertions.utils.d.ts +6 -0
- package/build/src/utils/axios.d.ts +2 -0
- package/build/src/utils/bugsnag.d.ts +2 -0
- package/build/src/utils/caculations/calculations.utils.d.ts +17 -0
- package/build/src/utils/caculations/calculations.utils.test.d.ts +1 -0
- package/build/src/utils/caculations/calculations.utils.types.d.ts +6 -0
- package/build/src/utils/common.utils.d.ts +2 -0
- package/build/src/utils/transformers/transformers.utils.d.ts +2 -0
- package/build/src/vendors.d.ts +1 -0
- package/build/vendors.bundle.js +1 -0
- package/package.json +87 -0
package/README.md
ADDED
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
## Node Library Boilerplate
|
|
2
|
+
|
|
3
|
+
This boilerplate was made to facilitate the creation of server-side or client-side node application. It comes with a powerful webpack & typescript configuration out of the box.
|
|
4
|
+
|
|
5
|
+
## New Project Configuration steps:
|
|
6
|
+
|
|
7
|
+
1. Change your project name and description in package.json.
|
|
8
|
+
1. Change default constants value in `src/config/constants.ts`.
|
|
9
|
+
1. In .env.[ENV] change the ENV variable to the environment you are currently developing for.
|
|
10
|
+
1. If you want to support the require syntax instead of import, change the module field in the tsconfig.json file to commonjs
|
|
11
|
+
1. Update the readme.md file
|
|
12
|
+
|
|
13
|
+
## File Structure
|
|
14
|
+
|
|
15
|
+
General representation of the building pieces
|
|
16
|
+
|
|
17
|
+
## Available Scripts
|
|
18
|
+
|
|
19
|
+
In the project directory, you can run:
|
|
20
|
+
|
|
21
|
+
### `npm start`
|
|
22
|
+
|
|
23
|
+
Runs the app in the development mode.<br>
|
|
24
|
+
|
|
25
|
+
### `npm dev`
|
|
26
|
+
|
|
27
|
+
Alias of npm start, for some developers convinience.
|
|
28
|
+
|
|
29
|
+
### `npm test`
|
|
30
|
+
|
|
31
|
+
Launches the test runner in the interactive watch mode.<br>
|
|
32
|
+
See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information.
|
|
33
|
+
|
|
34
|
+
### `npm run test:all`
|
|
35
|
+
|
|
36
|
+
Run every test in a none interactive mode and create a coverage report.
|
|
37
|
+
|
|
38
|
+
This command is perfect for pre push hooks.
|
|
39
|
+
|
|
40
|
+
### `npm run test:ci`
|
|
41
|
+
|
|
42
|
+
Simulates a CI environment before running all tests
|
|
43
|
+
|
|
44
|
+
### `npm run check-types`
|
|
45
|
+
|
|
46
|
+
Will attempt to compile the whole project including test files that are normally excluded.
|
|
47
|
+
|
|
48
|
+
This command is perfect for verifing the project's integrity before commiting changes
|
|
49
|
+
|
|
50
|
+
### `npm run lint`
|
|
51
|
+
|
|
52
|
+
Runs the configured linter to check for any lints in your code before deploying, developers must clean any lint before commiting or commints will not go through.
|
|
53
|
+
|
|
54
|
+
### `npm run prettier`
|
|
55
|
+
|
|
56
|
+
Configure prettier, the files that should be included and excluded. This command should not be used by itself.
|
|
57
|
+
|
|
58
|
+
### `npm run format`
|
|
59
|
+
|
|
60
|
+
Uses the prettier configuration to run prettier in write mode to all selected files. It will fix all format errors.
|
|
61
|
+
|
|
62
|
+
### `npm run check-format`
|
|
63
|
+
|
|
64
|
+
Uses the prettier configuration to run prettier in read mode to all selected files. If any is bad formated, it will display a warning.
|
|
65
|
+
|
|
66
|
+
### `npm run build`
|
|
67
|
+
|
|
68
|
+
Builds the app for production to the `build` folder.<br>
|
|
69
|
+
It correctly bundles the project in production mode and optimizes the build for the best performance.
|
|
70
|
+
|
|
71
|
+
### `npm run validate`
|
|
72
|
+
|
|
73
|
+
It validates the integrity of the project by running many of the static testing, unit/integration testing and e2e testing commands.
|
|
74
|
+
|
|
75
|
+
### `npm run validate:ci`
|
|
76
|
+
|
|
77
|
+
Run a different series of commands than validate, the selected commands that are run are the ones appropiate to be run on CI. This command is not met to be run locally.
|
|
78
|
+
|
|
79
|
+
## Publishing your library
|
|
80
|
+
|
|
81
|
+
To publish your library you will only need to run `npm publish`. We will take care of the rest. Things like creating a new build of your code will be done automatically. Just take into consideration to bump the project version following the semver methodology.
|
|
82
|
+
|
|
83
|
+
## Previewing your library
|
|
84
|
+
|
|
85
|
+
When you are in the middle of the development of your new library, you find your self needing to test the current features you are developing. We recommend using `npm link` and a separte project for those purposes.
|
|
86
|
+
|
|
87
|
+
If you want to test your app on a real app, then we recommend using `npm publish`. This method should be avoided during development.
|
|
88
|
+
|
|
89
|
+
> ### Hope you are enjoying this boilerplate
|
|
90
|
+
>
|
|
91
|
+
> We are happy to add/update any additional request you may have. For intering ideas, please submit a new issue and we will take care of it.
|
|
92
|
+
>
|
|
93
|
+
> Happy coding! 🚀
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("products",[],t):"object"==typeof exports?exports.products=t():e.products=t()}(this,(function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=13)}([function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),o=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||t.hasOwnProperty(r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),o(r(1),t),o(r(2),t),o(r(3),t),o(r(4),t),o(r(5),t),o(r(6),t),o(r(7),t),o(r(8),t),o(r(9),t),o(r(10),t),o(r(11),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QuestionTypes=t.DayOfWeekName=t.TaxType=t.PriceCategoryType=t.ProductType=void 0,function(e){e.PRODUCT="PRODUCT",e.MODIFIER="MODIFIER"}(t.ProductType||(t.ProductType={})),function(e){e.NORMAL="NORMAL",e.POINTS="POINTS"}(t.PriceCategoryType||(t.PriceCategoryType={})),function(e){e.IVA="IVA"}(t.TaxType||(t.TaxType={})),function(e){e.MONDAY="MONDAY",e.TUESDAY="TUESDAY",e.WEDNESDAY="WEDNESDAY",e.THURSDAY="THURSDAY",e.FRIDAY="FRIDAY",e.SATURDAY="SATURDAY",e.SUNDAY="SUNDAY"}(t.DayOfWeekName||(t.DayOfWeekName={})),function(e){e.BOOLEAN="BOOLEAN",e.RADIO="RADIO",e.CHECKBOX="CHECKBOX",e.QUANTITY="QUANTITY"}(t.QuestionTypes||(t.QuestionTypes={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ServiceStatus=t.Days=t.DeliveryTimeUnit=void 0,function(e){e.MIN="min"}(t.DeliveryTimeUnit||(t.DeliveryTimeUnit={})),function(e){e.MONDAY="MONDAY",e.TUESDAY="TUESDAY",e.WEDNESDAY="WEDNESDAY",e.THURSDAY="THURSDAY",e.FRIDAY="FRIDAY",e.SATURDAY="SATURDAY",e.SUNDAY="SUNDAY",e.SPECIAL="SPECIAL"}(t.Days||(t.Days={})),function(e){e.INACTIVE="INACTIVE",e.ACTIVE="ACTIVE"}(t.ServiceStatus||(t.ServiceStatus={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},,function(e,t,r){"use strict";r.r(t),r.d(t,"getProductTotals",(function(){return l})),r.d(t,"transformers",(function(){return o})),r.d(t,"assertions",(function(){return n}));var n={};r.r(n),r.d(n,"isBaseProduct",(function(){return c})),r.d(n,"isProductDetails",(function(){return s})),r.d(n,"isCartProduct",(function(){return a}));var o={};r.r(o),r.d(o,"toCartProduct",(function(){return d}));var u=r(0),i=function(e){return Object.keys(e)},c=function(e){var t=e.attributes,r=e.available,n=e.description,o=e.name,c=e.images,s=e.prices,a=e.productId,f=e.sponsored,d=e.status,y=e.type;return"boolean"==typeof t.showInMenu&&("boolean"==typeof r&&("boolean"==typeof f&&("string"==typeof n&&("string"==typeof o&&("number"==typeof a&&(!("object"!=typeof s||"object"==typeof s&&Object.keys(s).length<1)&&(!!Array.isArray(c)&&(("ACTIVE"===d||"INACTIVE"===d)&&!!i(u.ProductType).includes(y)))))))))},s=function(e){if(!c(e))return!1;var t=e.isPriceVip,r=e.manufacturer,n=e.maxAmountForSale,o=e.schedule,u=e.questions;return"boolean"==typeof t&&(!!Array.isArray(r)&&("number"==typeof n&&(!!Array.isArray(o)&&!!Array.isArray(u))))},a=function(e){if(!s(e))return!1;var t=e.hash,r=e.createdAt,n=e.updatedAt,o=e.alerts,c=e.amount,a=e.priceCategory,f=e.comment,d=e.questionsAndAnswers;return"string"==typeof t&&("string"==typeof r&&("string"==typeof n&&(!!Array.isArray(o)&&("number"==typeof c&&("string"==typeof f&&(!!i(u.PriceCategoryType).includes(a)&&!!Array.isArray(d)))))))},f=function(){return(f=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)},d=function(e,t){if(void 0===t&&(t={}),a(e))return f(f({},e),t);if(s(e))return y(e,t);var r=p(e);return y(r,t)},y=function(e,t){return void 0===t&&(t={}),f(f(f({},e),{questionsAndAnswers:[],amount:0,priceCategory:u.PriceCategoryType.NORMAL,comment:"",alerts:[],hash:"",createdAt:"",updatedAt:""}),t)},p=function(e,t){return void 0===t&&(t={}),f(f(f({},e),{isPriceVip:!1,manufacturer:[],maxAmountForSale:0,questions:[],schedule:[]}),t)},l=function(e){return{grossPrice:O(e),totalDiscounts:T(e),totalTaxes:A(e),netPrice:v(e)}},A=function(e){var t=d(e),r=t.prices,n=t.amount,o=t.priceCategory,u=r[o],i=u.taxes,c=u.grossPrice,s=P(i,c);return t.questionsAndAnswers.reduce((function(e,t){return e+t.answers.reduce((function(e,t){var r=t.prices,n=t.amount,u=r[o],i=u.taxes,c=u.grossPrice;return e+n*P(i,c)}),0)}),0)+s*n},O=function(e){return D(e,"grossPrice")},T=function(e){return 0},v=function(e){return D(e,"netPrice")},D=function(e,t){var r=d(e),n=r.prices,o=r.amount,u=r.priceCategory,i=n[u][t];return r.questionsAndAnswers.reduce((function(e,r){return e+r.answers.reduce((function(e,r){var n=r.prices;return e+r.amount*n[u][t]}),0)}),0)+i*o},P=function(e,t){return e.reduce((function(e,r){return e+r.percentage/100*t}),0)}}])}));
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export declare const getPassword: (...args: any[]) => string;
|
|
2
|
+
export declare const getUsername: (firstName?: string | undefined, lastName?: string | undefined) => string;
|
|
3
|
+
export declare const genId: () => string;
|
|
4
|
+
export declare const genName: (firstName?: string | undefined, lastName?: string | undefined, gender?: number | undefined) => string;
|
|
5
|
+
export declare const genEmail: (firstName?: string | undefined, lastName?: string | undefined, provider?: string | undefined) => string;
|
|
6
|
+
export declare const genCompanyName: (format?: number | undefined) => string;
|
|
7
|
+
export declare const genParagraph: (sentenceCount?: number | undefined) => string;
|
|
8
|
+
export declare const genTitle: () => string;
|
|
9
|
+
export declare const genNumber: {
|
|
10
|
+
(max?: number | undefined): number;
|
|
11
|
+
(options?: {
|
|
12
|
+
min?: number | undefined;
|
|
13
|
+
max?: number | undefined;
|
|
14
|
+
precision?: number | undefined;
|
|
15
|
+
} | undefined): number;
|
|
16
|
+
};
|
|
17
|
+
export declare const getBoolean: () => boolean;
|
|
18
|
+
export declare const genBiasBoolean: (bias: number) => boolean;
|
|
19
|
+
export declare const genDocument: (digits: number) => string;
|
|
20
|
+
export declare const genMobilPhone: (countryCode: string) => string;
|
|
21
|
+
export declare const fillNumber: (num: string, max?: number | undefined) => string;
|
|
22
|
+
export declare const chooseRandom: <T>(arr: T[]) => T;
|
|
23
|
+
export declare const chooseRandomEnum: <T>(anEnum: T) => T[keyof T];
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
declare const CONSTANTS: {
|
|
2
|
+
CLIENT_NAME: string;
|
|
3
|
+
DEFAULT_REQUEST_TIMEOUT: number;
|
|
4
|
+
EXCLUDED_LOGGER_STATUS_CODES: number[];
|
|
5
|
+
INCLUDED_LOGGER_ENVS: string[];
|
|
6
|
+
INCLUDED_INTL_LOG_ENVS: string[];
|
|
7
|
+
COUNTRY: {
|
|
8
|
+
NAME: string;
|
|
9
|
+
CODE: string;
|
|
10
|
+
LANGUAGE: string;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
export default CONSTANTS;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const sum: (a: number, b: number) => number;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { LogInByTokenRes, LogInByCredentials } from "./auth.service.types";
|
|
2
|
+
import { User } from "../../types/user.types";
|
|
3
|
+
export declare const fetchAuthToken: (token: string | null) => Promise<LogInByTokenRes>;
|
|
4
|
+
export declare const logInUser: (email: string, password: string) => Promise<LogInByCredentials>;
|
|
5
|
+
export declare const updateUserService: (user: User) => Promise<User>;
|
|
6
|
+
export declare const logOutService: (authToken: string) => Promise<unknown>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { BaseProduct } from "@artisan-commerce/types";
|
|
2
|
+
import { ProductDetails } from "@artisan-commerce/types";
|
|
3
|
+
import { CartProduct } from "@artisan-commerce/types";
|
|
4
|
+
export declare const isBaseProduct: (product: BaseProduct) => boolean;
|
|
5
|
+
export declare const isProductDetails: (product: ProductDetails) => boolean;
|
|
6
|
+
export declare const isCartProduct: (product: CartProduct) => boolean;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Product, PriceCategoryTax } from "@artisan-commerce/types";
|
|
2
|
+
import { ProductTotals } from "./calculations.utils.types";
|
|
3
|
+
/**
|
|
4
|
+
* Get a summary of all price totals of a given product
|
|
5
|
+
*
|
|
6
|
+
* @author Luis Eduardo Andrade, John Arias
|
|
7
|
+
* @since 1.0
|
|
8
|
+
* @param product the product that will be calculated
|
|
9
|
+
* @returns an object with a summary of the prodcut totals
|
|
10
|
+
*/
|
|
11
|
+
export declare const getProductTotals: (product: Product) => ProductTotals;
|
|
12
|
+
export declare const getProductTotalTaxes: (product: Product) => number;
|
|
13
|
+
export declare const getProductGrossPrice: (product: Product) => number;
|
|
14
|
+
export declare const getProductTotalDiscounts: (product: Product) => number;
|
|
15
|
+
export declare const getProductNetPrice: (product: Product) => number;
|
|
16
|
+
export declare const getProductFieldPrice: (product: Product, field: "grossPrice" | "netPrice") => number;
|
|
17
|
+
export declare const getTaxTotal: (taxes: PriceCategoryTax[], grossPrice: number) => number;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("products",[],t):"object"==typeof exports?exports.products=t():e.products=t()}(this,(function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=12)}({12:function(e,t){}})}));
|
package/package.json
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@artisan-commerce/products",
|
|
3
|
+
"description": "Artisan's product management library",
|
|
4
|
+
"version": "0.0.2",
|
|
5
|
+
"main": "./build/main.bundle.js",
|
|
6
|
+
"types": "./build/src/index.d.ts",
|
|
7
|
+
"files": [
|
|
8
|
+
"build/",
|
|
9
|
+
"LICENSE",
|
|
10
|
+
"README.md"
|
|
11
|
+
],
|
|
12
|
+
"scripts": {
|
|
13
|
+
"start": "webpack --config webpack.dev.js",
|
|
14
|
+
"dev": "webpack --watch --config webpack.dev.js",
|
|
15
|
+
"build": "webpack --config webpack.prod.js",
|
|
16
|
+
"start:build": "nodemon ./build/main.bundle.js",
|
|
17
|
+
"test": "jest --watchAll --passWithNoTests",
|
|
18
|
+
"test:all": "npm run test -- --watchAll=false --coverage",
|
|
19
|
+
"test:ci": "cross-env CI=true jest --runInBand --passWithNoTests",
|
|
20
|
+
"test:staged": "npm run test:ci --findRelatedTests",
|
|
21
|
+
"check-types": "tsc --noEmit",
|
|
22
|
+
"lint": "eslint --ignore-path .gitignore --ignore-pattern !cypress/.eslintrc.js --ext .js,jsx,.ts,.tsx .",
|
|
23
|
+
"lint:staged": "npm run lint --max-warnings=0",
|
|
24
|
+
"prettier": "prettier --ignore-path .gitignore \"**/*.+(js|jsx|ts|tsx|json|css|scss|html)\"",
|
|
25
|
+
"format": "npm run prettier -- --write",
|
|
26
|
+
"check-format": "npm run prettier -- --list-different",
|
|
27
|
+
"validate": "cross-env CI=true npm-run-all --parallel test:ci check-types check-format lint build",
|
|
28
|
+
"validate:ci": "npm-run-all --parallel check-types check-format lint",
|
|
29
|
+
"prepare": "npm run build"
|
|
30
|
+
},
|
|
31
|
+
"author": "Luis Eduardo Andrade",
|
|
32
|
+
"license": "MIT",
|
|
33
|
+
"dependencies": {
|
|
34
|
+
"@artisan-commerce/builders": "^0.1.1",
|
|
35
|
+
"@bugsnag/js": "^7.2.0",
|
|
36
|
+
"axios": "^0.19.2",
|
|
37
|
+
"i18next": "^19.6.2",
|
|
38
|
+
"i18next-browser-languagedetector": "^5.0.0",
|
|
39
|
+
"i18next-xhr-backend": "^3.2.2"
|
|
40
|
+
},
|
|
41
|
+
"devDependencies": {
|
|
42
|
+
"@artisan-commerce/types": "^0.2.0",
|
|
43
|
+
"@babel/core": "^7.10.5",
|
|
44
|
+
"@babel/preset-env": "^7.10.4",
|
|
45
|
+
"@babel/preset-react": "^7.10.4",
|
|
46
|
+
"@types/faker": "^4.1.12",
|
|
47
|
+
"@types/jest": "^26.0.5",
|
|
48
|
+
"@types/jest-in-case": "^1.0.2",
|
|
49
|
+
"@types/node": "^14.0.24",
|
|
50
|
+
"@typescript-eslint/eslint-plugin": "^3.7.0",
|
|
51
|
+
"@typescript-eslint/parser": "^3.7.0",
|
|
52
|
+
"avn": "^0.2.4",
|
|
53
|
+
"avn-nvm": "^0.2.2",
|
|
54
|
+
"clean-webpack-plugin": "^3.0.0",
|
|
55
|
+
"cross-env": "^7.0.2",
|
|
56
|
+
"dotenv-webpack": "^2.0.0",
|
|
57
|
+
"env-cmd": "^10.1.0",
|
|
58
|
+
"eslint": "^7.5.0",
|
|
59
|
+
"eslint-config-prettier": "^6.11.0",
|
|
60
|
+
"eslint-config-react-app": "^5.2.1",
|
|
61
|
+
"eslint-config-universe": "^4.0.0",
|
|
62
|
+
"eslint-plugin-cypress": "^2.11.1",
|
|
63
|
+
"eslint-plugin-flowtype": "^5.2.0",
|
|
64
|
+
"eslint-plugin-import": "^2.22.0",
|
|
65
|
+
"eslint-plugin-jsx-a11y": "^6.3.1",
|
|
66
|
+
"eslint-plugin-react": "^7.20.3",
|
|
67
|
+
"eslint-plugin-react-hooks": "^4.0.8",
|
|
68
|
+
"is-ci-cli": "^2.1.2",
|
|
69
|
+
"jest": "^24.9.0",
|
|
70
|
+
"jest-axe": "^3.5.0",
|
|
71
|
+
"jest-in-case": "^1.0.2",
|
|
72
|
+
"jest-styled-components": "^7.0.2",
|
|
73
|
+
"nodemon": "^2.0.4",
|
|
74
|
+
"npm-run-all": "^4.1.5",
|
|
75
|
+
"prettier": "^2.1.2",
|
|
76
|
+
"start-server-and-test": "^1.11.2",
|
|
77
|
+
"test-data-bot": "^0.8.0",
|
|
78
|
+
"ts-jest": "^26.1.4",
|
|
79
|
+
"ts-loader": "^8.0.2",
|
|
80
|
+
"typescript": "^3.9.7",
|
|
81
|
+
"webpack": "^4.43.0",
|
|
82
|
+
"webpack-cli": "^3.3.12",
|
|
83
|
+
"webpack-dev-server": "^3.11.0",
|
|
84
|
+
"webpack-merge": "^5.0.9"
|
|
85
|
+
},
|
|
86
|
+
"gitHead": "720bb9d861c9897cbe82400f4b8a1847b840c958"
|
|
87
|
+
}
|