mirror of
https://github.com/SomboChea/ui
synced 2024-11-23 22:44:27 +07:00
chore: enable optional chaining and nullish (#306)
This commit is contained in:
parent
58cf730b98
commit
0a48906fc8
6
.babelrc
6
.babelrc
@ -1,4 +1,8 @@
|
|||||||
{
|
{
|
||||||
"presets": [["@verdaccio"]],
|
"presets": [["@verdaccio"]],
|
||||||
"plugins": ["emotion"]
|
"plugins": [
|
||||||
|
"emotion",
|
||||||
|
"@babel/plugin-proposal-optional-chaining",
|
||||||
|
"@babel/plugin-proposal-nullish-coalescing-operator"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
1
.yarnrc
1
.yarnrc
@ -1 +1,2 @@
|
|||||||
save-prefix ""
|
save-prefix ""
|
||||||
|
registry "https://registry.verdaccio.org"
|
||||||
|
18
package.json
18
package.json
@ -13,6 +13,8 @@
|
|||||||
"homepage": "https://verdaccio.org",
|
"homepage": "https://verdaccio.org",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"@babel/plugin-proposal-nullish-coalescing-operator": "7.7.4",
|
||||||
|
"@babel/plugin-proposal-optional-chaining": "7.7.4",
|
||||||
"@commitlint/cli": "8.2.0",
|
"@commitlint/cli": "8.2.0",
|
||||||
"@commitlint/config-conventional": "8.2.0",
|
"@commitlint/config-conventional": "8.2.0",
|
||||||
"@emotion/core": "10.0.22",
|
"@emotion/core": "10.0.22",
|
||||||
@ -35,10 +37,10 @@
|
|||||||
"@types/validator": "12.0.0",
|
"@types/validator": "12.0.0",
|
||||||
"@types/webpack-env": "1.14.1",
|
"@types/webpack-env": "1.14.1",
|
||||||
"@typescript-eslint/parser": "2.8.0",
|
"@typescript-eslint/parser": "2.8.0",
|
||||||
"@verdaccio/babel-preset": "8.2.0",
|
"@verdaccio/babel-preset": "8.4.2",
|
||||||
"@verdaccio/commons-api": "8.3.0",
|
"@verdaccio/commons-api": "8.4.2",
|
||||||
"@verdaccio/eslint-config": "8.2.0",
|
"@verdaccio/eslint-config": "8.4.2",
|
||||||
"@verdaccio/types": "8.3.0",
|
"@verdaccio/types": "8.4.2",
|
||||||
"autosuggest-highlight": "3.1.1",
|
"autosuggest-highlight": "3.1.1",
|
||||||
"babel-loader": "8.0.6",
|
"babel-loader": "8.0.6",
|
||||||
"bundlesize": "0.18.0",
|
"bundlesize": "0.18.0",
|
||||||
@ -54,14 +56,14 @@
|
|||||||
"enzyme": "3.10.0",
|
"enzyme": "3.10.0",
|
||||||
"enzyme-adapter-react-16": "1.15.1",
|
"enzyme-adapter-react-16": "1.15.1",
|
||||||
"enzyme-to-json": "3.4.3",
|
"enzyme-to-json": "3.4.3",
|
||||||
"eslint": "6.6.0",
|
"eslint": "6.7.0",
|
||||||
"eslint-plugin-codeceptjs": "1.2.0",
|
"eslint-plugin-codeceptjs": "1.2.0",
|
||||||
"eslint-plugin-import": "2.18.2",
|
"eslint-plugin-import": "2.18.2",
|
||||||
"eslint-plugin-jsx-a11y": "6.2.3",
|
"eslint-plugin-jsx-a11y": "6.2.3",
|
||||||
"eslint-plugin-prettier": "3.1.1",
|
"eslint-plugin-prettier": "3.1.1",
|
||||||
"eslint-plugin-react": "7.16.0",
|
"eslint-plugin-react": "7.16.0",
|
||||||
"eslint-plugin-react-hooks": "2.3.0",
|
"eslint-plugin-react-hooks": "2.3.0",
|
||||||
"eslint-plugin-verdaccio": "8.2.0",
|
"eslint-plugin-verdaccio": "8.4.2",
|
||||||
"file-loader": "4.3.0",
|
"file-loader": "4.3.0",
|
||||||
"friendly-errors-webpack-plugin": "1.7.0",
|
"friendly-errors-webpack-plugin": "1.7.0",
|
||||||
"get-stdin": "7.0.0",
|
"get-stdin": "7.0.0",
|
||||||
@ -113,8 +115,8 @@
|
|||||||
"url-loader": "2.3.0",
|
"url-loader": "2.3.0",
|
||||||
"validator": "12.1.0",
|
"validator": "12.1.0",
|
||||||
"verdaccio": "4.3.5",
|
"verdaccio": "4.3.5",
|
||||||
"verdaccio-auth-memory": "8.3.0",
|
"verdaccio-auth-memory": "8.4.2",
|
||||||
"verdaccio-memory": "8.3.0",
|
"verdaccio-memory": "8.4.2",
|
||||||
"wait-on": "3.3.0",
|
"wait-on": "3.3.0",
|
||||||
"webpack": "4.41.2",
|
"webpack": "4.41.2",
|
||||||
"webpack-bundle-analyzer": "3.6.0",
|
"webpack-bundle-analyzer": "3.6.0",
|
||||||
|
@ -3,6 +3,7 @@ import { ReactWrapper } from 'enzyme';
|
|||||||
|
|
||||||
import { mount } from '../utils/test-enzyme';
|
import { mount } from '../utils/test-enzyme';
|
||||||
import storage from '../utils/storage';
|
import storage from '../utils/storage';
|
||||||
|
// eslint-disable-next-line jest/no-mocks-import
|
||||||
import { generateTokenWithTimeRange } from '../../jest/unit/components/__mocks__/token';
|
import { generateTokenWithTimeRange } from '../../jest/unit/components/__mocks__/token';
|
||||||
|
|
||||||
import App from './App';
|
import App from './App';
|
||||||
@ -31,6 +32,7 @@ jest.mock('../utils/storage', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
jest.mock('../utils/api', () => ({
|
jest.mock('../utils/api', () => ({
|
||||||
|
// eslint-disable-next-line jest/no-mocks-import
|
||||||
request: require('../../jest/unit/components/__mocks__/api').default.request,
|
request: require('../../jest/unit/components/__mocks__/api').default.request,
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@ import node from './img/node.png';
|
|||||||
const Engine: React.FC = () => {
|
const Engine: React.FC = () => {
|
||||||
const { packageMeta } = useContext(DetailContext);
|
const { packageMeta } = useContext(DetailContext);
|
||||||
|
|
||||||
const engines = packageMeta && packageMeta.latest && packageMeta.latest.engines;
|
const engines = packageMeta?.latest?.engines;
|
||||||
|
|
||||||
if (!engines || (!engines.node && !engines.npm)) {
|
if (!engines || (!engines.node && !engines.npm)) {
|
||||||
return null;
|
return null;
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
// eslint-disable-next-line jest/no-mocks-import
|
||||||
import {
|
import {
|
||||||
generateTokenWithTimeRange,
|
generateTokenWithTimeRange,
|
||||||
generateTokenWithExpirationAsString,
|
generateTokenWithExpirationAsString,
|
||||||
@ -11,6 +12,7 @@ import { isTokenExpire, makeLogin } from './login';
|
|||||||
console.error = jest.fn();
|
console.error = jest.fn();
|
||||||
|
|
||||||
jest.mock('./api', () => ({
|
jest.mock('./api', () => ({
|
||||||
|
// eslint-disable-next-line jest/no-mocks-import
|
||||||
request: require('../../jest/unit/components/__mocks__/api').default.request,
|
request: require('../../jest/unit/components/__mocks__/api').default.request,
|
||||||
}));
|
}));
|
||||||
|
|
||||||
@ -40,11 +42,8 @@ describe('isTokenExpire', (): void => {
|
|||||||
|
|
||||||
test('isTokenExpire - token is not a valid json token', (): void => {
|
test('isTokenExpire - token is not a valid json token', (): void => {
|
||||||
const token = generateInvalidToken();
|
const token = generateInvalidToken();
|
||||||
const result = [
|
const errorToken = new SyntaxError('Unexpected token i in JSON at position 0');
|
||||||
'Invalid token:',
|
const result = ['Invalid token:', errorToken, 'xxxxxx.aW52YWxpZHRva2Vu.xxxxxx'];
|
||||||
new SyntaxError('Unexpected token i in JSON at position 0'),
|
|
||||||
'xxxxxx.aW52YWxpZHRva2Vu.xxxxxx',
|
|
||||||
];
|
|
||||||
expect(isTokenExpire(token)).toBeTruthy();
|
expect(isTokenExpire(token)).toBeTruthy();
|
||||||
expect(console.error).toHaveBeenCalledWith(...result);
|
expect(console.error).toHaveBeenCalledWith(...result);
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user