mirror of
https://github.com/captbaritone/webamp.git
synced 2026-01-23 02:15:01 +00:00
Upgrade ts (#952)
* Upgrade Typescript * Upgrade prettier * Upgrade eslint-typescript * Don't abide extra else * Remove eslint plugin that we don't use any more * Remove unused Webpack plugin * Remove eslint rule that we don't really need * Remove unused Jest plugin * Remove redundant package * Prettier fixes
This commit is contained in:
parent
d09293c975
commit
1e0a9114dd
19 changed files with 118 additions and 214 deletions
|
|
@ -12,7 +12,6 @@
|
|||
"react",
|
||||
"prettier",
|
||||
"import",
|
||||
"no-constructor-bind",
|
||||
"@typescript-eslint",
|
||||
"react-hooks",
|
||||
"eslint-plugin-local-rules"
|
||||
|
|
@ -89,7 +88,7 @@
|
|||
"no-dupe-keys": "error",
|
||||
"no-duplicate-case": "error",
|
||||
"no-duplicate-imports": "error",
|
||||
"no-else-return": "warn",
|
||||
"no-else-return": "error",
|
||||
"no-empty-character-class": "error",
|
||||
"no-eval": "error",
|
||||
"no-ex-assign": "error",
|
||||
|
|
@ -164,7 +163,6 @@
|
|||
"import/no-extraneous-dependencies": "error",
|
||||
"import/no-named-as-default-member": "error",
|
||||
"import/no-unresolved": "error",
|
||||
"no-constructor-bind/no-constructor-bind": "error",
|
||||
"react-hooks/rules-of-hooks": "error",
|
||||
"react-hooks/exhaustive-deps": "error"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
const path = require("path");
|
||||
const { BundleAnalyzerPlugin } = require("webpack-bundle-analyzer");
|
||||
const UnminifiedWebpackPlugin = require("unminified-webpack-plugin");
|
||||
|
||||
module.exports = {
|
||||
devtool: "source-map",
|
||||
|
|
@ -46,8 +45,6 @@ module.exports = {
|
|||
reportFilename: "library-report.html",
|
||||
openAnalyzer: false,
|
||||
}),
|
||||
// Also generate non-minified bundles.
|
||||
new UnminifiedWebpackPlugin(),
|
||||
],
|
||||
performance: {
|
||||
// We do some crazy shit okay! Don't judge!
|
||||
|
|
@ -55,7 +52,9 @@ module.exports = {
|
|||
maxAssetSize: 9000000,
|
||||
},
|
||||
entry: {
|
||||
bundle: "./js/webamp.js",
|
||||
"bundle.min": "./js/webamp.js",
|
||||
"lazy-bundle": "./js/webampLazy.tsx",
|
||||
"lazy-bundle.min": "./js/webampLazy.tsx",
|
||||
},
|
||||
output: {
|
||||
|
|
|
|||
|
|
@ -33,14 +33,18 @@ export function getButterchurnOptions(
|
|||
): ButterchurnOptions {
|
||||
return {
|
||||
importButterchurn: () => {
|
||||
return import(/* webpackChunkName: "butterchurn-initial-dependencies" */
|
||||
// @ts-ignore
|
||||
"butterchurn");
|
||||
return import(
|
||||
/* webpackChunkName: "butterchurn-initial-dependencies" */
|
||||
// @ts-ignore
|
||||
"butterchurn"
|
||||
);
|
||||
},
|
||||
importConvertPreset: () => {
|
||||
return import(/* webpackChunkName: "milkdrop-preset-converter" */
|
||||
// @ts-ignore
|
||||
"milkdrop-preset-converter-aws");
|
||||
return import(
|
||||
/* webpackChunkName: "milkdrop-preset-converter" */
|
||||
// @ts-ignore
|
||||
"milkdrop-preset-converter-aws"
|
||||
);
|
||||
},
|
||||
presetConverterEndpoint:
|
||||
"https://p2tpeb5v8b.execute-api.us-east-2.amazonaws.com/default/milkdropShaderConverter",
|
||||
|
|
|
|||
|
|
@ -167,7 +167,9 @@ Raven.context(async () => {
|
|||
requireJSZip: () =>
|
||||
import(/* webpackChunkName: "jszip" */ "jszip/dist/jszip"),
|
||||
requireMusicMetadata: () =>
|
||||
import(/* webpackChunkName: "music-metadata-browser" */ "music-metadata-browser/dist/index"),
|
||||
import(
|
||||
/* webpackChunkName: "music-metadata-browser" */ "music-metadata-browser/dist/index"
|
||||
),
|
||||
__enableMediaLibrary: library,
|
||||
__initialWindowLayout,
|
||||
__initialState: screenshot ? screenshotInitialState : initialState,
|
||||
|
|
@ -210,9 +212,7 @@ Raven.context(async () => {
|
|||
document.title =
|
||||
track == null
|
||||
? DEFAULT_DOCUMENT_TITLE
|
||||
: `${track.metaData.title} - ${
|
||||
track.metaData.artist
|
||||
} \u00B7 ${DEFAULT_DOCUMENT_TITLE}`;
|
||||
: `${track.metaData.title} - ${track.metaData.artist} \u00B7 ${DEFAULT_DOCUMENT_TITLE}`;
|
||||
});
|
||||
|
||||
enableMediaSession(webamp);
|
||||
|
|
|
|||
|
|
@ -184,9 +184,7 @@ module.exports = {
|
|||
) {
|
||||
context.report({
|
||||
node: body,
|
||||
message: `Missing return type for Maki method. Expected \`${
|
||||
expectedTypeData.stringRepresentation
|
||||
}\`.`,
|
||||
message: `Missing return type for Maki method. Expected \`${expectedTypeData.stringRepresentation}\`.`,
|
||||
fix: fixer => {
|
||||
return fixer.insertTextBefore(
|
||||
body,
|
||||
|
|
@ -203,9 +201,7 @@ module.exports = {
|
|||
) {
|
||||
context.report({
|
||||
node: returnType,
|
||||
message: `Incorrect return type for Maki method. Expected \`${
|
||||
expectedTypeData.stringRepresentation
|
||||
}\`.`,
|
||||
message: `Incorrect return type for Maki method. Expected \`${expectedTypeData.stringRepresentation}\`.`,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
@ -243,9 +239,7 @@ module.exports = {
|
|||
if (actual.typeAnnotation == null) {
|
||||
context.report({
|
||||
node: actual,
|
||||
message: `Missing type for Maki argument. Expected \`${
|
||||
expectedTypeData.stringRepresentation
|
||||
}\`.`,
|
||||
message: `Missing type for Maki argument. Expected \`${expectedTypeData.stringRepresentation}\`.`,
|
||||
fix,
|
||||
});
|
||||
return;
|
||||
|
|
@ -257,9 +251,7 @@ module.exports = {
|
|||
if (actualTypeScriptName !== expectedTypeData.typeScriptName) {
|
||||
context.report({
|
||||
node: actual,
|
||||
message: `Invalid type for Maki argument. Expected \`${
|
||||
expectedTypeData.typeScriptName
|
||||
}\`.`,
|
||||
message: `Invalid type for Maki argument. Expected \`${expectedTypeData.typeScriptName}\`.`,
|
||||
fix,
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -56,9 +56,7 @@ async function handler(message) {
|
|||
file.buffer
|
||||
);
|
||||
await message.channel.send(
|
||||
`Thanks! ${
|
||||
file.filename
|
||||
} is a brand new skin. 👏 It has been queued for archiving.`
|
||||
`Thanks! ${file.filename} is a brand new skin. 👏 It has been queued for archiving.`
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,9 +18,7 @@ module.exports = async function main() {
|
|||
});
|
||||
if (skinFiles.length !== 1) {
|
||||
console.warn(
|
||||
`Found a skin item with ${skinFiles.length} skin files. Identifier: ${
|
||||
item.identifier
|
||||
}`
|
||||
`Found a skin item with ${skinFiles.length} skin files. Identifier: ${item.identifier}`
|
||||
);
|
||||
continue;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -100,8 +100,8 @@ class App extends React.Component<Props> {
|
|||
this._webampNode.style.bottom = "0";
|
||||
this._webampNode.style.overflow = "hidden";
|
||||
this.props.browserWindowSizeChanged(Utils.getWindowSize());
|
||||
this._webampNode.style.right = null;
|
||||
this._webampNode.style.bottom = null;
|
||||
this._webampNode.style.right = "none";
|
||||
this._webampNode.style.bottom = "none";
|
||||
this._webampNode.style.overflow = "visible";
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -113,9 +113,7 @@ class LibraryLayout extends React.Component<Props, State> {
|
|||
left: 0,
|
||||
right: 0,
|
||||
display: "grid",
|
||||
gridTemplateColumns: `${
|
||||
this.state.sidebarWidth
|
||||
}px ${DIVIDER_WIDTH}px auto`,
|
||||
gridTemplateColumns: `${this.state.sidebarWidth}px ${DIVIDER_WIDTH}px auto`,
|
||||
}}
|
||||
>
|
||||
{this.state.sidebarWidth === 0 ? <div /> : this.props.sidebar}
|
||||
|
|
|
|||
|
|
@ -189,15 +189,9 @@ function cssRulesFromProps(props) {
|
|||
color: ${props.skinGenExColors.listHeaderText};
|
||||
background-color: ${props.skinGenExColors.listHeaderBackground};
|
||||
border-top: 1px solid ${props.skinGenExColors.listHeaderFrameTopAndLeft};
|
||||
border-left: 1px solid ${
|
||||
props.skinGenExColors.listHeaderFrameTopAndLeft
|
||||
};
|
||||
border-bottom: 1px solid ${
|
||||
props.skinGenExColors.listHeaderFrameBottomAndRight
|
||||
};
|
||||
border-right: 1px solid ${
|
||||
props.skinGenExColors.listHeaderFrameBottomAndRight
|
||||
};
|
||||
border-left: 1px solid ${props.skinGenExColors.listHeaderFrameTopAndLeft};
|
||||
border-bottom: 1px solid ${props.skinGenExColors.listHeaderFrameBottomAndRight};
|
||||
border-right: 1px solid ${props.skinGenExColors.listHeaderFrameBottomAndRight};
|
||||
}`
|
||||
);
|
||||
cssRules.push(
|
||||
|
|
|
|||
|
|
@ -10,8 +10,10 @@ import {
|
|||
WindowPositions,
|
||||
AppState,
|
||||
WindowId,
|
||||
Box,
|
||||
Point,
|
||||
} from "../types";
|
||||
const abuts = (a: SnapUtils.Box, b: SnapUtils.Box) => {
|
||||
const abuts = (a: Box, b: Box) => {
|
||||
// TODO: This is kinda a hack. They should really be touching, not just within snapping distance.
|
||||
// Also, overlapping should not count.
|
||||
const wouldMoveTo = SnapUtils.snap(a, b);
|
||||
|
|
@ -50,7 +52,7 @@ class WindowManager extends React.Component<Props> {
|
|||
let movingSet = new Set([targetNode]);
|
||||
// Only the main window brings other windows along.
|
||||
if (key === "main") {
|
||||
const findAllConnected = SnapUtils.traceConnection(abuts);
|
||||
const findAllConnected = SnapUtils.traceConnection<WindowInfo>(abuts);
|
||||
movingSet = findAllConnected(windows, targetNode);
|
||||
}
|
||||
|
||||
|
|
@ -110,7 +112,7 @@ class WindowManager extends React.Component<Props> {
|
|||
);
|
||||
|
||||
const windowPositionDiff = moving.reduce(
|
||||
(diff: { [windowId: string]: SnapUtils.Diff }, window) => {
|
||||
(diff: { [windowId: string]: Point }, window) => {
|
||||
diff[window.key] = SnapUtils.applyDiff(window, finalDiff);
|
||||
return diff;
|
||||
},
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { Action, WindowId } from "../types";
|
||||
import { Action, WindowId, Box, Point } from "../types";
|
||||
import { WINDOWS } from "../constants";
|
||||
import {
|
||||
SET_FOCUSED_WINDOW,
|
||||
|
|
@ -17,10 +17,7 @@ import {
|
|||
import * as Utils from "../utils";
|
||||
import { WindowsSerializedStateV1 } from "../serializedStates/v1Types";
|
||||
|
||||
export interface WindowPosition {
|
||||
x: number;
|
||||
y: number;
|
||||
}
|
||||
export type WindowPosition = Point;
|
||||
|
||||
export type WindowPositions = {
|
||||
[windowId: string]: WindowPosition;
|
||||
|
|
@ -39,12 +36,8 @@ export interface WebampWindow {
|
|||
position: WindowPosition;
|
||||
}
|
||||
|
||||
export interface WindowInfo {
|
||||
export interface WindowInfo extends Box {
|
||||
key: WindowId;
|
||||
height: number;
|
||||
width: number;
|
||||
x: number;
|
||||
y: number;
|
||||
}
|
||||
export interface WindowsState {
|
||||
focused: WindowId | null;
|
||||
|
|
@ -161,9 +154,7 @@ const windows = (
|
|||
const { canShade } = state.genWindows[action.windowId];
|
||||
if (!canShade) {
|
||||
throw new Error(
|
||||
`Tried to shade/unshade a window that cannot be shaded: ${
|
||||
action.windowId
|
||||
}`
|
||||
`Tried to shade/unshade a window that cannot be shaded: ${action.windowId}`
|
||||
);
|
||||
}
|
||||
return {
|
||||
|
|
|
|||
|
|
@ -1,22 +1,4 @@
|
|||
interface Point {
|
||||
x: number;
|
||||
y: number;
|
||||
}
|
||||
|
||||
export interface Diff {
|
||||
x?: number;
|
||||
y?: number;
|
||||
}
|
||||
|
||||
interface BoundingBox {
|
||||
width: number;
|
||||
height: number;
|
||||
}
|
||||
|
||||
export interface Box extends Point {
|
||||
width: number;
|
||||
height: number;
|
||||
}
|
||||
import { Box, Point, Diff, BoundingBox } from "./types";
|
||||
|
||||
export const SNAP_DISTANCE = 15;
|
||||
|
||||
|
|
@ -166,21 +148,23 @@ export const boundingBox = (nodes: Box[]) => {
|
|||
};
|
||||
};
|
||||
|
||||
export const traceConnection = (
|
||||
export function traceConnection<B extends Box>(
|
||||
areConnected: (candidate: Box, n: Box) => boolean
|
||||
) => (candidates: Box[], node: Box) => {
|
||||
const connected = new Set();
|
||||
const checkNode = (n: Box) => {
|
||||
for (const candidate of candidates) {
|
||||
if (!connected.has(candidate) && areConnected(candidate, n)) {
|
||||
connected.add(candidate);
|
||||
checkNode(candidate);
|
||||
) {
|
||||
return (candidates: B[], node: B): Set<B> => {
|
||||
const connected = new Set<B>();
|
||||
const checkNode = (n: B) => {
|
||||
for (const candidate of candidates) {
|
||||
if (!connected.has(candidate) && areConnected(candidate, n)) {
|
||||
connected.add(candidate);
|
||||
checkNode(candidate);
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
checkNode(node);
|
||||
return connected;
|
||||
};
|
||||
checkNode(node);
|
||||
return connected;
|
||||
};
|
||||
}
|
||||
|
||||
export const applyDiff = (a: Point, b: Point) => ({
|
||||
x: a.x + b.x,
|
||||
|
|
|
|||
37
js/types.ts
37
js/types.ts
|
|
@ -6,10 +6,10 @@ import { ThunkDispatch, ThunkAction } from "redux-thunk";
|
|||
import { DisplayState } from "./reducers/display";
|
||||
import {
|
||||
WindowsState,
|
||||
WindowPositions,
|
||||
WebampWindow,
|
||||
WindowInfo,
|
||||
WindowPosition,
|
||||
WindowPositions as _WindowPositions,
|
||||
WebampWindow as _WebampWindow,
|
||||
WindowInfo as _WindowInfo,
|
||||
WindowPosition as _WindowPosition,
|
||||
} from "./reducers/windows";
|
||||
import { EqualizerState } from "./reducers/equalizer";
|
||||
import { NetworkState } from "./reducers/network";
|
||||
|
|
@ -18,10 +18,31 @@ import { SerializedStateV1 } from "./serializedStates/v1Types";
|
|||
import { TracksState } from "./reducers/tracks";
|
||||
import { IAudioMetadata, IOptions } from "music-metadata-browser";
|
||||
|
||||
export type WebampWindow = WebampWindow;
|
||||
export type WindowInfo = WindowInfo;
|
||||
export type WindowPosition = WindowPosition;
|
||||
export type WindowPositions = WindowPositions;
|
||||
// Avoid warnings from Webpack: https://github.com/webpack/webpack/issues/7378
|
||||
export type WebampWindow = _WebampWindow;
|
||||
export type WindowInfo = _WindowInfo;
|
||||
export type WindowPosition = _WindowPosition;
|
||||
export type WindowPositions = _WindowPositions;
|
||||
|
||||
export interface Point {
|
||||
x: number;
|
||||
y: number;
|
||||
}
|
||||
|
||||
export interface Diff {
|
||||
x?: number;
|
||||
y?: number;
|
||||
}
|
||||
|
||||
export interface BoundingBox {
|
||||
width: number;
|
||||
height: number;
|
||||
}
|
||||
|
||||
export interface Box extends Point {
|
||||
width: number;
|
||||
height: number;
|
||||
}
|
||||
|
||||
export interface FilePicker {
|
||||
contextMenuName: string;
|
||||
|
|
|
|||
|
|
@ -220,9 +220,7 @@ Array [
|
|||
const expectedOpcode = expectedCommands[i];
|
||||
if (expectedOpcode !== command.opcode) {
|
||||
throw new Error(
|
||||
`Command ${i} reported opcode ${
|
||||
command.opcode
|
||||
}. Expected ${expectedOpcode}`
|
||||
`Command ${i} reported opcode ${command.opcode}. Expected ${expectedOpcode}`
|
||||
);
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import {
|
|||
baseImageAttributeFromObject,
|
||||
unimplementedWarning,
|
||||
} from "../utils";
|
||||
import { ModernStore, XmlNode } from "../types";
|
||||
import { XmlNode } from "../types";
|
||||
|
||||
type TargetParams = {
|
||||
alpha?: number;
|
||||
|
|
|
|||
|
|
@ -159,9 +159,7 @@ export async function inlineIncludes(
|
|||
const includedFile = await readXml(zip, node.attributes.file);
|
||||
if (includedFile == null) {
|
||||
console.warn(
|
||||
`Tried to include a file that could not be found: ${
|
||||
node.attributes.file
|
||||
}`
|
||||
`Tried to include a file that could not be found: ${node.attributes.file}`
|
||||
);
|
||||
return [];
|
||||
}
|
||||
|
|
|
|||
13
package.json
13
package.json
|
|
@ -78,8 +78,8 @@
|
|||
"@types/react-dom": "^16.8.4",
|
||||
"@types/react-redux": "^7.1.1",
|
||||
"@types/webaudioapi": "^0.0.27",
|
||||
"@typescript-eslint/eslint-plugin": "^2.5.0",
|
||||
"@typescript-eslint/parser": "^2.5.0",
|
||||
"@typescript-eslint/eslint-plugin": "^2.6.1",
|
||||
"@typescript-eslint/parser": "^2.6.1",
|
||||
"babel-core": "7.0.0-bridge.0",
|
||||
"babel-eslint": "^9.0.0-beta.3",
|
||||
"babel-jest": "^24.9.0",
|
||||
|
|
@ -92,10 +92,8 @@
|
|||
"cssnano": "^4.1.10",
|
||||
"data-uri-to-buffer": "^2.0.0",
|
||||
"eslint": "^6.5.1",
|
||||
"eslint-config-prettier": "^2.3.0",
|
||||
"eslint-plugin-import": "^2.18.2",
|
||||
"eslint-plugin-local-rules": "^0.1.1",
|
||||
"eslint-plugin-no-constructor-bind": "^1.2.1",
|
||||
"eslint-plugin-prettier": "^3.1.0",
|
||||
"eslint-plugin-react": "^7.16.0",
|
||||
"file-loader": "^2.0.0",
|
||||
|
|
@ -109,7 +107,6 @@
|
|||
"invariant": "^2.2.3",
|
||||
"jest": "^24.9.0",
|
||||
"jest-image-snapshot": "^2.8.1",
|
||||
"jest-mock-random": "^1.0.2",
|
||||
"jest-puppeteer": "^4.1.1",
|
||||
"jszip": "^3.1.3",
|
||||
"lodash": "^4.17.11",
|
||||
|
|
@ -117,7 +114,7 @@
|
|||
"music-metadata-browser": "^0.6.1",
|
||||
"postcss": "^7.0.18",
|
||||
"postcss-loader": "^3.0.0",
|
||||
"prettier": "^1.16.4",
|
||||
"prettier": "^1.18.2",
|
||||
"puppeteer": "^1.15.0",
|
||||
"raven-for-redux": "^1.3.1",
|
||||
"raven-js": "^3.19.1",
|
||||
|
|
@ -133,9 +130,7 @@
|
|||
"screenfull": "^4.0.0",
|
||||
"style-loader": "^0.23.1",
|
||||
"tinyqueue": "^1.2.3",
|
||||
"typescript": "^3.2.2",
|
||||
"uglifyjs-webpack-plugin": "^1.2.5",
|
||||
"unminified-webpack-plugin": "^2.0.0",
|
||||
"typescript": "^3.7.2",
|
||||
"url-loader": "^1.1.2",
|
||||
"webpack": "^4.41.2",
|
||||
"webpack-bundle-analyzer": "^3.3.2",
|
||||
|
|
|
|||
124
yarn.lock
124
yarn.lock
|
|
@ -1325,46 +1325,47 @@
|
|||
dependencies:
|
||||
"@types/yargs-parser" "*"
|
||||
|
||||
"@typescript-eslint/eslint-plugin@^2.5.0":
|
||||
version "2.5.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.5.0.tgz#101d96743ce3365b3223df73d641078c9b775903"
|
||||
integrity sha512-ddrJZxp5ns1Lh5ofZQYk3P8RyvKfyz/VcRR4ZiJLHO/ljnQAO8YvTfj268+WJOOadn99mvDiqJA65+HAKoeSPA==
|
||||
"@typescript-eslint/eslint-plugin@^2.6.1":
|
||||
version "2.6.1"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.6.1.tgz#e34972a24f8aba0861f9ccf7130acd74fd11e079"
|
||||
integrity sha512-Z0rddsGqioKbvqfohg7BwkFC3PuNLsB+GE9QkFza7tiDzuHoy0y823Y+oGNDzxNZrYyLjqkZtCTl4vCqOmEN4g==
|
||||
dependencies:
|
||||
"@typescript-eslint/experimental-utils" "2.5.0"
|
||||
"@typescript-eslint/experimental-utils" "2.6.1"
|
||||
eslint-utils "^1.4.2"
|
||||
functional-red-black-tree "^1.0.1"
|
||||
regexpp "^2.0.1"
|
||||
tsutils "^3.17.1"
|
||||
|
||||
"@typescript-eslint/experimental-utils@2.5.0":
|
||||
version "2.5.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.5.0.tgz#383a97ded9a7940e5053449f6d73995e782b8fb1"
|
||||
integrity sha512-UgcQGE0GKJVChyRuN1CWqDW8Pnu7+mVst0aWrhiyuUD1J9c+h8woBdT4XddCvhcXDodTDVIfE3DzGHVjp7tUeQ==
|
||||
"@typescript-eslint/experimental-utils@2.6.1":
|
||||
version "2.6.1"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.6.1.tgz#eddaca17a399ebf93a8628923233b4f93793acfd"
|
||||
integrity sha512-EVrrUhl5yBt7fC7c62lWmriq4MIc49zpN3JmrKqfiFXPXCM5ErfEcZYfKOhZXkW6MBjFcJ5kGZqu1b+lyyExUw==
|
||||
dependencies:
|
||||
"@types/json-schema" "^7.0.3"
|
||||
"@typescript-eslint/typescript-estree" "2.5.0"
|
||||
"@typescript-eslint/typescript-estree" "2.6.1"
|
||||
eslint-scope "^5.0.0"
|
||||
|
||||
"@typescript-eslint/parser@^2.5.0":
|
||||
version "2.5.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.5.0.tgz#858030ddd808fbbe88e03f42e5971efaccb8218a"
|
||||
integrity sha512-9UBMiAwIDWSl79UyogaBdj3hidzv6exjKUx60OuZuFnJf56tq/UMpdPcX09YmGqE8f4AnAueYtBxV8IcAT3jdQ==
|
||||
"@typescript-eslint/parser@^2.6.1":
|
||||
version "2.6.1"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.6.1.tgz#3c00116baa0d696bc334ca18ac5286b34793993c"
|
||||
integrity sha512-PDPkUkZ4c7yA+FWqigjwf3ngPUgoLaGjMlFh6TRtbjhqxFBnkElDfckSjm98q9cMr4xRzZ15VrS/xKm6QHYf0w==
|
||||
dependencies:
|
||||
"@types/eslint-visitor-keys" "^1.0.0"
|
||||
"@typescript-eslint/experimental-utils" "2.5.0"
|
||||
"@typescript-eslint/typescript-estree" "2.5.0"
|
||||
"@typescript-eslint/experimental-utils" "2.6.1"
|
||||
"@typescript-eslint/typescript-estree" "2.6.1"
|
||||
eslint-visitor-keys "^1.1.0"
|
||||
|
||||
"@typescript-eslint/typescript-estree@2.5.0":
|
||||
version "2.5.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.5.0.tgz#40ada624d6217ef092a3a79ed30d947ad4f212ce"
|
||||
integrity sha512-AXURyF8NcA3IsnbjNX1v9qbwa0dDoY9YPcKYR2utvMHoUcu3636zrz0gRWtVAyxbPCkhyKuGg6WZIyi2Fc79CA==
|
||||
"@typescript-eslint/typescript-estree@2.6.1":
|
||||
version "2.6.1"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.6.1.tgz#fb363dd4ca23384745c5ea4b7f4c867432b00d31"
|
||||
integrity sha512-+sTnssW6bcbDZKE8Ce7VV6LdzkQz2Bxk7jzk1J8H1rovoTxnm6iXvYIyncvNsaB/kBCOM63j/LNJfm27bNdUoA==
|
||||
dependencies:
|
||||
debug "^4.1.1"
|
||||
glob "^7.1.4"
|
||||
is-glob "^4.0.1"
|
||||
lodash.unescape "4.0.1"
|
||||
semver "^6.3.0"
|
||||
tsutils "^3.17.1"
|
||||
|
||||
"@webassemblyjs/ast@1.8.5":
|
||||
version "1.8.5"
|
||||
|
|
@ -2795,10 +2796,6 @@ commander@^2.9.0:
|
|||
version "2.15.1"
|
||||
resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f"
|
||||
|
||||
commander@~2.13.0:
|
||||
version "2.13.0"
|
||||
resolved "https://registry.yarnpkg.com/commander/-/commander-2.13.0.tgz#6964bca67685df7c1f1430c584f07d7597885b9c"
|
||||
|
||||
commander@~2.8.1:
|
||||
version "2.8.1"
|
||||
resolved "https://registry.yarnpkg.com/commander/-/commander-2.8.1.tgz#06be367febfda0c330aa1e2a072d3dc9762425d4"
|
||||
|
|
@ -3936,12 +3933,6 @@ escodegen@^1.9.0:
|
|||
optionalDependencies:
|
||||
source-map "~0.6.1"
|
||||
|
||||
eslint-config-prettier@^2.3.0:
|
||||
version "2.9.0"
|
||||
resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-2.9.0.tgz#5ecd65174d486c22dff389fe036febf502d468a3"
|
||||
dependencies:
|
||||
get-stdin "^5.0.1"
|
||||
|
||||
eslint-import-resolver-node@^0.3.2:
|
||||
version "0.3.2"
|
||||
resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz#58f15fb839b8d0576ca980413476aab2472db66a"
|
||||
|
|
@ -3980,12 +3971,6 @@ eslint-plugin-local-rules@^0.1.1:
|
|||
resolved "https://registry.yarnpkg.com/eslint-plugin-local-rules/-/eslint-plugin-local-rules-0.1.1.tgz#4fa5921389383f10cc1e6cfeb1c24e11597e8cef"
|
||||
integrity sha512-+Wlic7MSxhVeGJT7a8vf7thVnzlRiessyHNaaOFT7PFlQS6Ff1oMO9vD803CSI5y6Nhu/+f+bVWGUDf8SRDxvg==
|
||||
|
||||
eslint-plugin-no-constructor-bind@^1.2.1:
|
||||
version "1.2.1"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-no-constructor-bind/-/eslint-plugin-no-constructor-bind-1.2.1.tgz#1bb0237465aa90c3e44e0f7507a4d36b7b5153c1"
|
||||
dependencies:
|
||||
requireindex "~1.1.0"
|
||||
|
||||
eslint-plugin-prettier@^3.1.0:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.0.tgz#8695188f95daa93b0dc54b249347ca3b79c4686d"
|
||||
|
|
@ -6296,10 +6281,6 @@ jest-message-util@^24.9.0:
|
|||
slash "^2.0.0"
|
||||
stack-utils "^1.0.1"
|
||||
|
||||
jest-mock-random@^1.0.2:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/jest-mock-random/-/jest-mock-random-1.0.2.tgz#81a1aa641fdb3a049bf64e2a7a0411fd8fc3fb20"
|
||||
|
||||
jest-mock@^24.9.0:
|
||||
version "24.9.0"
|
||||
resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-24.9.0.tgz#c22835541ee379b908673ad51087a2185c13f1c6"
|
||||
|
|
@ -8678,10 +8659,10 @@ prettier-linter-helpers@^1.0.0:
|
|||
dependencies:
|
||||
fast-diff "^1.1.2"
|
||||
|
||||
prettier@^1.16.4:
|
||||
version "1.16.4"
|
||||
resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.16.4.tgz#73e37e73e018ad2db9c76742e2647e21790c9717"
|
||||
integrity sha512-ZzWuos7TI5CKUeQAtFd6Zhm2s6EpAD/ZLApIhsF9pRvRtM1RFo61dM/4MSRUA0SuLugA/zgrZD8m0BaY46Og7g==
|
||||
prettier@^1.18.2:
|
||||
version "1.18.2"
|
||||
resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.18.2.tgz#6823e7c5900017b4bd3acf46fe9ac4b4d7bda9ea"
|
||||
integrity sha512-OeHeMc0JhFE9idD4ZdtNibzY0+TPHSpSSb9h8FqtP+YnoZZ1sl8Vc9b1sasjfymH3SonAF4QcA2+mzHPhMvIiw==
|
||||
|
||||
pretty-bytes@^4.0.2:
|
||||
version "4.0.2"
|
||||
|
|
@ -9483,10 +9464,6 @@ require-main-filename@^2.0.0:
|
|||
resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b"
|
||||
integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==
|
||||
|
||||
requireindex@~1.1.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/requireindex/-/requireindex-1.1.0.tgz#e5404b81557ef75db6e49c5a72004893fe03e162"
|
||||
|
||||
requires-port@1.x.x, requires-port@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
|
||||
|
|
@ -9678,13 +9655,6 @@ scheduler@^0.13.6:
|
|||
loose-envify "^1.1.0"
|
||||
object-assign "^4.1.1"
|
||||
|
||||
schema-utils@^0.4.5:
|
||||
version "0.4.5"
|
||||
resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.4.5.tgz#21836f0608aac17b78f9e3e24daff14a5ca13a3e"
|
||||
dependencies:
|
||||
ajv "^6.1.0"
|
||||
ajv-keywords "^3.1.0"
|
||||
|
||||
schema-utils@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770"
|
||||
|
|
@ -10778,21 +10748,15 @@ typedarray@^0.0.6:
|
|||
version "0.0.6"
|
||||
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
|
||||
|
||||
typescript@^3.2.2:
|
||||
version "3.2.2"
|
||||
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.2.2.tgz#fe8101c46aa123f8353523ebdcf5730c2ae493e5"
|
||||
typescript@^3.7.2:
|
||||
version "3.7.2"
|
||||
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.7.2.tgz#27e489b95fa5909445e9fef5ee48d81697ad18fb"
|
||||
integrity sha512-ml7V7JfiN2Xwvcer+XAf2csGO1bPBdRbFCkYBczNZggrBZ9c7G3riSUeJmqEU5uOtXNPMhE3n+R4FA/3YOAWOQ==
|
||||
|
||||
ua-parser-js@^0.7.9:
|
||||
version "0.7.17"
|
||||
resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.17.tgz#e9ec5f9498b9ec910e7ae3ac626a805c4d09ecac"
|
||||
|
||||
uglify-es@^3.3.4:
|
||||
version "3.3.9"
|
||||
resolved "https://registry.yarnpkg.com/uglify-es/-/uglify-es-3.3.9.tgz#0c1c4f0700bed8dbc124cdb304d2592ca203e677"
|
||||
dependencies:
|
||||
commander "~2.13.0"
|
||||
source-map "~0.6.1"
|
||||
|
||||
uglify-js@3.3.x:
|
||||
version "3.3.15"
|
||||
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.3.15.tgz#5b8783b6856110d3a03a9b81e07324a3b925f2dd"
|
||||
|
|
@ -10808,19 +10772,6 @@ uglify-js@^3.1.4:
|
|||
commander "~2.20.0"
|
||||
source-map "~0.6.1"
|
||||
|
||||
uglifyjs-webpack-plugin@^1.2.5:
|
||||
version "1.2.5"
|
||||
resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.2.5.tgz#2ef8387c8f1a903ec5e44fa36f9f3cbdcea67641"
|
||||
dependencies:
|
||||
cacache "^10.0.4"
|
||||
find-cache-dir "^1.0.0"
|
||||
schema-utils "^0.4.5"
|
||||
serialize-javascript "^1.4.0"
|
||||
source-map "^0.6.1"
|
||||
uglify-es "^3.3.4"
|
||||
webpack-sources "^1.1.0"
|
||||
worker-farm "^1.5.2"
|
||||
|
||||
unbzip2-stream@^1.0.9:
|
||||
version "1.3.3"
|
||||
resolved "https://registry.yarnpkg.com/unbzip2-stream/-/unbzip2-stream-1.3.3.tgz#d156d205e670d8d8c393e1c02ebd506422873f6a"
|
||||
|
|
@ -10894,10 +10845,6 @@ universalify@^0.1.0:
|
|||
version "0.1.1"
|
||||
resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.1.tgz#fa71badd4437af4c148841e3b3b165f9e9e590b7"
|
||||
|
||||
unminified-webpack-plugin@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/unminified-webpack-plugin/-/unminified-webpack-plugin-2.0.0.tgz#9cd9c3f420003e968d6ed5ea365085be5e72df14"
|
||||
|
||||
unpipe@1.0.0, unpipe@~1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
|
||||
|
|
@ -11246,13 +11193,6 @@ webpack-pwa-manifest@^3.7.1:
|
|||
jimp "^0.2.28"
|
||||
mime "^1.6.0"
|
||||
|
||||
webpack-sources@^1.1.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.1.0.tgz#a101ebae59d6507354d71d8013950a3a8b7a5a54"
|
||||
dependencies:
|
||||
source-list-map "^2.0.0"
|
||||
source-map "~0.6.1"
|
||||
|
||||
webpack-sources@^1.4.0, webpack-sources@^1.4.1:
|
||||
version "1.4.3"
|
||||
resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933"
|
||||
|
|
@ -11471,12 +11411,6 @@ workbox-webpack-plugin@^3.6.3:
|
|||
json-stable-stringify "^1.0.1"
|
||||
workbox-build "^3.6.3"
|
||||
|
||||
worker-farm@^1.5.2:
|
||||
version "1.6.0"
|
||||
resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.6.0.tgz#aecc405976fab5a95526180846f0dba288f3a4a0"
|
||||
dependencies:
|
||||
errno "~0.1.7"
|
||||
|
||||
worker-farm@^1.7.0:
|
||||
version "1.7.0"
|
||||
resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue