diff --git a/package.json b/package.json index fabe2bbe28..dd2e67b1f1 100644 --- a/package.json +++ b/package.json @@ -96,6 +96,7 @@ ], "moduleNameMapper": { "^react-dnd$": "/packages/react-dnd/src", + "^react-dnd-decorators$": "/packages/react-dnd-decorators/src", "^react-dnd-html5-backend$": "//packages/react-dnd-html5-backend/src", "^react-dnd-test-backend$": "//packages/react-dnd-test-backend/src", "^react-dnd-test-utils$": "//packages/react-dnd-test-utils/src", diff --git a/packages/dnd-core/package.json b/packages/dnd-core/package.json index 0ad213a0e5..e0b2f93122 100644 --- a/packages/dnd-core/package.json +++ b/packages/dnd-core/package.json @@ -3,14 +3,13 @@ "version": "7.6.0", "description": "Drag and drop sans the GUI", "license": "MIT", - "main": "./lib/esm/index.js", - "module": "./lib/esm/index.js", - "types": "./lib/esm/index.d.ts", + "main": "./lib/index.js", + "module": "./lib/index.js", + "types": "./lib/index.d.ts", "scripts": { - "build:esm": "tsc -b tsconfig.esm.json", - "build": "run-p build:*", + "build": "tsc -b tsconfig.json", "clean": "rimraf lib", - "start": "tsc -b tsconfig.esm.json -w --preserveWatchOutput", + "start": "tsc -b tsconfig.json -w --preserveWatchOutput", "test": "run-s clean build" }, "repository": { diff --git a/packages/dnd-core/src/DragDropMonitorImpl.ts b/packages/dnd-core/src/DragDropMonitorImpl.ts index b0f3fb0d15..3faabff8cd 100644 --- a/packages/dnd-core/src/DragDropMonitorImpl.ts +++ b/packages/dnd-core/src/DragDropMonitorImpl.ts @@ -1,5 +1,3 @@ -declare var require: any - import { Store } from 'redux' import matchesType from './utils/matchesType' import { @@ -16,7 +14,8 @@ import { HandlerRegistry, Identifier, } from './interfaces' -const invariant = require('invariant') +// @ts-ignore +import invariant from 'invariant' export default class DragDropMonitorImpl implements DragDropMonitor { constructor(private store: Store, public registry: HandlerRegistry) {} diff --git a/packages/dnd-core/src/HandlerRegistryImpl.ts b/packages/dnd-core/src/HandlerRegistryImpl.ts index 4d305d712e..ceaf69ec94 100644 --- a/packages/dnd-core/src/HandlerRegistryImpl.ts +++ b/packages/dnd-core/src/HandlerRegistryImpl.ts @@ -1,5 +1,3 @@ -declare var require: any - import { Store } from 'redux' import { addSource, @@ -23,8 +21,10 @@ import { validateTargetContract, validateType, } from './contracts' -const invariant = require('invariant') -const asap = require('asap') +// @ts-ignore +import invariant from 'invariant' +// @ts-ignore +import asap from 'asap' function getNextHandlerId(role: HandlerRole): string { const id = getNextUniqueId().toString() diff --git a/packages/dnd-core/src/actions/dragDrop/beginDrag.ts b/packages/dnd-core/src/actions/dragDrop/beginDrag.ts index 2803671228..e217ed7c06 100644 --- a/packages/dnd-core/src/actions/dragDrop/beginDrag.ts +++ b/packages/dnd-core/src/actions/dragDrop/beginDrag.ts @@ -1,5 +1,3 @@ -declare var require: any - import { Action, DragDropManager, @@ -11,7 +9,8 @@ import { } from '../../interfaces' import { setClientOffset } from './local/setClientOffset' import { isObject } from '../../utils/discount_lodash' -const invariant = require('invariant') +// @ts-ignore +import invariant from 'invariant' import { BEGIN_DRAG, INIT_COORDS } from './types' diff --git a/packages/dnd-core/src/actions/dragDrop/drop.ts b/packages/dnd-core/src/actions/dragDrop/drop.ts index dd79cb8901..c964af56d3 100644 --- a/packages/dnd-core/src/actions/dragDrop/drop.ts +++ b/packages/dnd-core/src/actions/dragDrop/drop.ts @@ -8,8 +8,8 @@ import { } from '../../interfaces' import { DROP } from './types' import { isObject } from '../../utils/discount_lodash' -declare var require: any -const invariant = require('invariant') +// @ts-ignore +import invariant from 'invariant' export default function createDrop(manager: DragDropManager) { return function drop(options = {}): void { diff --git a/packages/dnd-core/src/actions/dragDrop/endDrag.ts b/packages/dnd-core/src/actions/dragDrop/endDrag.ts index 03e9a0212c..d61a9a1709 100644 --- a/packages/dnd-core/src/actions/dragDrop/endDrag.ts +++ b/packages/dnd-core/src/actions/dragDrop/endDrag.ts @@ -1,13 +1,11 @@ -declare var require: any - import { DragDropManager, SentinelAction, DragDropMonitor, } from '../../interfaces' import { END_DRAG } from './types' - -const invariant = require('invariant') +// @ts-ignore +import invariant from 'invariant' export default function createEndDrag( manager: DragDropManager, diff --git a/packages/dnd-core/src/actions/dragDrop/hover.ts b/packages/dnd-core/src/actions/dragDrop/hover.ts index 233987564c..adf41372d2 100644 --- a/packages/dnd-core/src/actions/dragDrop/hover.ts +++ b/packages/dnd-core/src/actions/dragDrop/hover.ts @@ -1,5 +1,3 @@ -declare var require: any - import { Action, DragDropManager, @@ -10,8 +8,8 @@ import { } from '../../interfaces' import matchesType from '../../utils/matchesType' import { HOVER } from './types' - -const invariant = require('invariant') +// @ts-ignore +import invariant from 'invariant' export default function createHover( manager: DragDropManager, diff --git a/packages/dnd-core/src/contracts.ts b/packages/dnd-core/src/contracts.ts index 50bc744b3b..478261ddc1 100644 --- a/packages/dnd-core/src/contracts.ts +++ b/packages/dnd-core/src/contracts.ts @@ -1,7 +1,6 @@ -declare var require: any - import { DragSource, DropTarget, Identifier } from './interfaces' -const invariant = require('invariant') +// @ts-ignore +import invariant from 'invariant' export function validateSourceContract(source: DragSource) { invariant( diff --git a/packages/dnd-core/tsconfig.cjs.json b/packages/dnd-core/tsconfig.cjs.json deleted file mode 100644 index 407effa645..0000000000 --- a/packages/dnd-core/tsconfig.cjs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": "../../tsconfig.cjs.base.json", - "compilerOptions": { - "outDir": "./lib/cjs", - "baseUrl": "./src" - }, - "include": ["src/index.ts"] -} diff --git a/packages/react-dnd-test-utils/tsconfig.cjs.json b/packages/dnd-core/tsconfig.json similarity index 53% rename from packages/react-dnd-test-utils/tsconfig.cjs.json rename to packages/dnd-core/tsconfig.json index f195f81b8d..91614ec1d4 100644 --- a/packages/react-dnd-test-utils/tsconfig.cjs.json +++ b/packages/dnd-core/tsconfig.json @@ -1,7 +1,7 @@ { - "extends": "../../tsconfig.cjs.base.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "outDir": "./lib/cjs", + "outDir": "lib", "baseUrl": "./src" }, "include": ["src/index.ts"] diff --git a/packages/documentation/src/components/layout.tsx b/packages/documentation/src/components/layout.tsx index 03768f68ab..6031c7fc3a 100644 --- a/packages/documentation/src/components/layout.tsx +++ b/packages/documentation/src/components/layout.tsx @@ -4,7 +4,7 @@ import * as React from 'react' import Helmet from 'react-helmet' import styled from 'styled-components' import HTML5Backend from 'react-dnd-html5-backend' -import { isDebugMode } from 'react-dnd-examples-hooks/lib/esm/index' +import { isDebugMode } from 'react-dnd-examples-hooks/lib/index' import { DndProvider } from 'react-dnd' import PageBody from './pagebody' import Sidebar from './sidebar' @@ -13,7 +13,7 @@ import { APIPages, ExamplePages } from '../constants' import Header from './header' import './layout.css' import { isLegacyMode } from '../util/renderHtmlAst' -require('prismjs/themes/prism.css') +import 'prismjs/themes/prism.css' const favicon = require('../favicon.png') export interface LayoutProps { diff --git a/packages/documentation/src/util/renderHtmlAst.ts b/packages/documentation/src/util/renderHtmlAst.ts index aa40ef5a38..2f11012bf2 100644 --- a/packages/documentation/src/util/renderHtmlAst.ts +++ b/packages/documentation/src/util/renderHtmlAst.ts @@ -1,12 +1,14 @@ -declare var require: any import { createElement } from 'react' -import { componentIndex as decoratorComponentIndex } from 'react-dnd-examples-decorators/lib/esm/index' -import { componentIndex as hookComponentIndex } from 'react-dnd-examples-hooks/lib/esm/index' +import { componentIndex as decoratorComponentIndex } from 'react-dnd-examples-decorators/lib/index' +import { componentIndex as hookComponentIndex } from 'react-dnd-examples-hooks/lib/index' import { parse } from 'query-string' import processImages from './processImagesInMarkdownAst' import exampleTabs from '../components/exampleTabs' -const log = require('debug')('site:renderHtmlAst') -const rehypeReact = require('rehype-react') +import debug from 'debug' +// @ts-ignore +import rehypeReact from 'rehype-react' + +const log = debug('site:renderHtmlAst') export function isLegacyMode() { if (typeof window !== 'undefined') { diff --git a/packages/documentation/tsconfig.json b/packages/documentation/tsconfig.json index 0ea5b61700..e371b207bf 100644 --- a/packages/documentation/tsconfig.json +++ b/packages/documentation/tsconfig.json @@ -1,10 +1,11 @@ { - "extends": "../../tsconfig.esm.base.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { "outDir": "./lib", "baseUrl": "./", "allowSyntheticDefaultImports": true, "esModuleInterop": true, + "declaration": false, "allowJs": true }, "include": ["./src/index.ts"] diff --git a/packages/examples-decorators/package.json b/packages/examples-decorators/package.json index ca6629e243..1be8b67bf3 100644 --- a/packages/examples-decorators/package.json +++ b/packages/examples-decorators/package.json @@ -3,8 +3,8 @@ "version": "7.6.0", "private": true, "description": "Drag and Drop for React", - "main": "lib/cjs/index.js", - "types": "lib/cjs/index.d.ts", + "main": "lib/index.js", + "types": "lib/index.d.ts", "repository": { "type": "git", "url": "https://github.com/react-dnd/react-dnd.git" @@ -12,12 +12,11 @@ "license": "MIT", "scripts": { "clean": "rimraf lib", - "build:cjs": "tsc -b tsconfig.cjs.json", - "build:esm": "tsc -b tsconfig.esm.json", + "build:ts": "tsc -b tsconfig.json", "build:docs": "tsc -b tsconfig.docs.json", "build": "run-p build:*", "test": "run-s clean build", - "start": "tsc -b tsconfig.cjs.json -w --preserveWatchOutput" + "start": "tsc -b tsconfig.json -w --preserveWatchOutput" }, "dependencies": { "@types/faker": "^4.1.5", diff --git a/packages/examples-decorators/src/01-dustbin/multiple-targets/Dustbin.tsx b/packages/examples-decorators/src/01-dustbin/multiple-targets/Dustbin.tsx index b14ed401aa..9c9945e5c7 100644 --- a/packages/examples-decorators/src/01-dustbin/multiple-targets/Dustbin.tsx +++ b/packages/examples-decorators/src/01-dustbin/multiple-targets/Dustbin.tsx @@ -1,6 +1,7 @@ import React from 'react' import { ConnectDropTarget, DropTargetMonitor } from 'react-dnd' import { DropTarget } from 'react-dnd-decorators' + const style: React.CSSProperties = { height: '12rem', width: '12rem', diff --git a/packages/examples-decorators/src/01-dustbin/multiple-targets/__tests__/multiple-target-integration.spec.tsx b/packages/examples-decorators/src/01-dustbin/multiple-targets/__tests__/multiple-target-integration.spec.tsx index 0e5c23b5c1..e4cf2a9a53 100644 --- a/packages/examples-decorators/src/01-dustbin/multiple-targets/__tests__/multiple-target-integration.spec.tsx +++ b/packages/examples-decorators/src/01-dustbin/multiple-targets/__tests__/multiple-target-integration.spec.tsx @@ -9,7 +9,7 @@ import { } from 'react-dnd-test-utils' import { mount } from 'enzyme' import { TestBackend } from 'react-dnd-test-backend' -import { DndComponent as DndC } from 'react-dnd' +import { DndComponent as DndC } from 'react-dnd-decorators' describe('Dustbin: Multiple Targets', () => { it('behaves as expected', () => { diff --git a/packages/examples-decorators/src/01-dustbin/single-target-in-iframe/index.tsx b/packages/examples-decorators/src/01-dustbin/single-target-in-iframe/index.tsx index 0f05e77263..dd9616b399 100644 --- a/packages/examples-decorators/src/01-dustbin/single-target-in-iframe/index.tsx +++ b/packages/examples-decorators/src/01-dustbin/single-target-in-iframe/index.tsx @@ -1,15 +1,10 @@ -declare var require: any - import React from 'react' import { DndProvider } from 'react-dnd' import HTML5Backend from 'react-dnd-html5-backend' import Dustbin from './Dustbin' import Box from './Box' - -const { - default: Frame, - FrameContextConsumer, -} = require('react-frame-component') +// @ts-ignore +import Frame, { FrameContextConsumer } from 'react-frame-component' const FrameBindingContext: React.FC = ({ children }) => ( diff --git a/packages/examples-decorators/src/01-dustbin/single-target/__tests__/Box.spec.tsx b/packages/examples-decorators/src/01-dustbin/single-target/__tests__/Box.spec.tsx index f2356de613..761488cb38 100644 --- a/packages/examples-decorators/src/01-dustbin/single-target/__tests__/Box.spec.tsx +++ b/packages/examples-decorators/src/01-dustbin/single-target/__tests__/Box.spec.tsx @@ -3,7 +3,7 @@ import Box from '../Box' import { wrapInTestContext } from 'react-dnd-test-utils' import { mount } from 'enzyme' import { TestBackend } from 'react-dnd-test-backend' -import { ContextComponent } from 'react-dnd' +import { ContextComponent } from 'react-dnd-decorators' describe('Box', () => { // TODO: test utils are acting wonking with function components. diff --git a/packages/examples-decorators/src/01-dustbin/single-target/__tests__/single-target-integration.spec.tsx b/packages/examples-decorators/src/01-dustbin/single-target/__tests__/single-target-integration.spec.tsx index 01ed74251e..2c6268efbd 100644 --- a/packages/examples-decorators/src/01-dustbin/single-target/__tests__/single-target-integration.spec.tsx +++ b/packages/examples-decorators/src/01-dustbin/single-target/__tests__/single-target-integration.spec.tsx @@ -9,7 +9,7 @@ import { } from 'react-dnd-test-utils' import { mount } from 'enzyme' import { TestBackend } from 'react-dnd-test-backend' -import { DndComponent } from 'react-dnd' +import { DndComponent } from 'react-dnd-decorators' describe('Integration: Dustbin Single Target', () => { it('can simulate a full drag and drop interaction', () => { diff --git a/packages/examples-decorators/src/01-dustbin/stress-test/index.tsx b/packages/examples-decorators/src/01-dustbin/stress-test/index.tsx index dcd947d5ee..5a9532bb1c 100644 --- a/packages/examples-decorators/src/01-dustbin/stress-test/index.tsx +++ b/packages/examples-decorators/src/01-dustbin/stress-test/index.tsx @@ -1,11 +1,11 @@ -declare var require: any import React, { useState, useEffect, useCallback } from 'react' import { NativeTypes } from 'react-dnd-html5-backend' import Dustbin from './Dustbin' import Box from './Box' import ItemTypes from './ItemTypes' import update from 'immutability-helper' -const shuffle = require('lodash/shuffle') +// @ts-ignore +import shuffle from 'lodash/shuffle' export interface SourceBox { name: string diff --git a/packages/examples-decorators/src/02-drag-around/custom-drag-layer/Container.tsx b/packages/examples-decorators/src/02-drag-around/custom-drag-layer/Container.tsx index 550c0f86af..f8e87372f0 100644 --- a/packages/examples-decorators/src/02-drag-around/custom-drag-layer/Container.tsx +++ b/packages/examples-decorators/src/02-drag-around/custom-drag-layer/Container.tsx @@ -1,11 +1,11 @@ -declare var require: any import React from 'react' import { ConnectDropTarget, DropTargetMonitor } from 'react-dnd' import { DropTarget, DropTargetConnector } from 'react-dnd-decorators' import ItemTypes from './ItemTypes' import DraggableBox from './DraggableBox' import snapToGrid from './snapToGrid' -const update = require('immutability-helper') +// @ts-ignore +import update from 'immutability-helper' const styles: React.CSSProperties = { width: 300, diff --git a/packages/examples-decorators/tsconfig.cjs.json b/packages/examples-decorators/tsconfig.cjs.json deleted file mode 100644 index b529304c59..0000000000 --- a/packages/examples-decorators/tsconfig.cjs.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "../../tsconfig.cjs.base.json", - "compilerOptions": { - "allowSyntheticDefaultImports": true, - "esModuleInterop": true, - "outDir": "./lib/cjs", - "baseUrl": "./" - }, - "include": ["./src/index.ts"] -} diff --git a/packages/examples-decorators/tsconfig.docs.json b/packages/examples-decorators/tsconfig.docs.json index 739c072bfb..0f67e8a6d7 100644 --- a/packages/examples-decorators/tsconfig.docs.json +++ b/packages/examples-decorators/tsconfig.docs.json @@ -1,5 +1,5 @@ { - "extends": "./tsconfig.esm.json", + "extends": "./tsconfig.json", "compilerOptions": { "allowSyntheticDefaultImports": true, "jsx": "preserve", diff --git a/packages/examples-hooks/tsconfig.esm.json b/packages/examples-decorators/tsconfig.json similarity index 63% rename from packages/examples-hooks/tsconfig.esm.json rename to packages/examples-decorators/tsconfig.json index 4fb3529765..affb9ae912 100644 --- a/packages/examples-hooks/tsconfig.esm.json +++ b/packages/examples-decorators/tsconfig.json @@ -1,8 +1,8 @@ { - "extends": "../../tsconfig.esm.base.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { "allowSyntheticDefaultImports": true, - "outDir": "./lib/esm", + "outDir": "./lib", "baseUrl": "./" }, "include": ["./src/index.ts"] diff --git a/packages/examples-hooks/package.json b/packages/examples-hooks/package.json index 2b26ca6272..1aca49e78b 100644 --- a/packages/examples-hooks/package.json +++ b/packages/examples-hooks/package.json @@ -3,8 +3,8 @@ "version": "7.6.0", "private": true, "description": "Drag and Drop for React", - "main": "lib/cjs/index.js", - "types": "lib/cjs/index.d.ts", + "main": "lib/index.js", + "types": "lib/index.d.ts", "repository": { "type": "git", "url": "https://github.com/react-dnd/react-dnd.git" @@ -12,12 +12,11 @@ "license": "MIT", "scripts": { "clean": "rimraf lib", - "build:cjs": "tsc -b tsconfig.cjs.json", - "build:esm": "tsc -b tsconfig.esm.json", + "build:ts": "tsc -b tsconfig.json", "build:docs": "tsc -b tsconfig.docs.json", "build": "run-p build:*", "test": "run-s clean build", - "start": "tsc -b tsconfig.cjs.json -w --preserveWatchOutput" + "start": "tsc -b tsconfig.json -w --preserveWatchOutput" }, "dependencies": { "@types/faker": "^4.1.5", diff --git a/packages/examples-hooks/src/01-dustbin/single-target-in-iframe/index.tsx b/packages/examples-hooks/src/01-dustbin/single-target-in-iframe/index.tsx index 5c50dc111e..bbf03e6917 100644 --- a/packages/examples-hooks/src/01-dustbin/single-target-in-iframe/index.tsx +++ b/packages/examples-hooks/src/01-dustbin/single-target-in-iframe/index.tsx @@ -1,15 +1,10 @@ -declare var require: any - import React from 'react' import { DndProvider } from 'react-dnd' import HTML5Backend from 'react-dnd-html5-backend' import Dustbin from './Dustbin' import Box from './Box' - -const { - default: Frame, - FrameContextConsumer, -} = require('react-frame-component') +// @ts-ignore +import Frame, { FrameContextConsumer } from 'react-frame-component' const FrameBindingContext: React.FC = ({ children }) => ( diff --git a/packages/examples-hooks/src/01-dustbin/stress-test/index.tsx b/packages/examples-hooks/src/01-dustbin/stress-test/index.tsx index dcd947d5ee..5a9532bb1c 100644 --- a/packages/examples-hooks/src/01-dustbin/stress-test/index.tsx +++ b/packages/examples-hooks/src/01-dustbin/stress-test/index.tsx @@ -1,11 +1,11 @@ -declare var require: any import React, { useState, useEffect, useCallback } from 'react' import { NativeTypes } from 'react-dnd-html5-backend' import Dustbin from './Dustbin' import Box from './Box' import ItemTypes from './ItemTypes' import update from 'immutability-helper' -const shuffle = require('lodash/shuffle') +// @ts-ignore +import shuffle from 'lodash/shuffle' export interface SourceBox { name: string diff --git a/packages/examples-hooks/tsconfig.cjs.json b/packages/examples-hooks/tsconfig.cjs.json deleted file mode 100644 index b529304c59..0000000000 --- a/packages/examples-hooks/tsconfig.cjs.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "../../tsconfig.cjs.base.json", - "compilerOptions": { - "allowSyntheticDefaultImports": true, - "esModuleInterop": true, - "outDir": "./lib/cjs", - "baseUrl": "./" - }, - "include": ["./src/index.ts"] -} diff --git a/packages/examples-hooks/tsconfig.docs.json b/packages/examples-hooks/tsconfig.docs.json index 739c072bfb..0f67e8a6d7 100644 --- a/packages/examples-hooks/tsconfig.docs.json +++ b/packages/examples-hooks/tsconfig.docs.json @@ -1,5 +1,5 @@ { - "extends": "./tsconfig.esm.json", + "extends": "./tsconfig.json", "compilerOptions": { "allowSyntheticDefaultImports": true, "jsx": "preserve", diff --git a/packages/examples-decorators/tsconfig.esm.json b/packages/examples-hooks/tsconfig.json similarity index 63% rename from packages/examples-decorators/tsconfig.esm.json rename to packages/examples-hooks/tsconfig.json index 4fb3529765..affb9ae912 100644 --- a/packages/examples-decorators/tsconfig.esm.json +++ b/packages/examples-hooks/tsconfig.json @@ -1,8 +1,8 @@ { - "extends": "../../tsconfig.esm.base.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { "allowSyntheticDefaultImports": true, - "outDir": "./lib/esm", + "outDir": "./lib", "baseUrl": "./" }, "include": ["./src/index.ts"] diff --git a/packages/react-dnd-decorators/package.json b/packages/react-dnd-decorators/package.json index cc3092cd2d..1dc6ffff0b 100644 --- a/packages/react-dnd-decorators/package.json +++ b/packages/react-dnd-decorators/package.json @@ -2,24 +2,19 @@ "name": "react-dnd-decorators", "version": "7.6.0", "description": "Drag and Drop for React (Decorator API)", - "main": "lib/cjs/index.js", - "module": "lib/esm/index.js", - "types": "lib/cjs/index.d.ts", + "main": "lib/index.js", + "module": "lib/index.js", + "types": "lib/index.d.ts", "repository": { "type": "git", "url": "https://github.com/react-dnd/react-dnd.git" }, "license": "MIT", "scripts": { - "clean": "rimraf lib dist", - "bundle:unmin": "webpack --mode development --output-filename=ReactDnD.js", - "bundle:min": "webpack --mode production --output-filename=ReactDnD.min.js", - "transpile:cjs": "tsc -b tsconfig.cjs.json", - "transpile:esm": "tsc -b tsconfig.esm.json", - "transpile": "run-p transpile:*", - "build": "run-p bundle:* transpile", + "clean": "rimraf lib", + "build": "tsc -b tsconfig.json", "test": "run-s clean build", - "start": "tsc -b tsconfig.cjs.json -w --preserveWatchOutput" + "start": "tsc -b tsconfig.json -w --preserveWatchOutput" }, "dependencies": { "@types/hoist-non-react-statics": "^3.3.1", @@ -40,8 +35,6 @@ "rimraf": "^2.6.3", "ts-loader": "^6.0.2", "typescript": "^3.5.1", - "webpack": "^4.32.2", - "webpack-cli": "^3.3.2", "react-dnd": "^7.6.0" }, "peerDependencies": { diff --git a/packages/react-dnd-decorators/src/DragDropContext.tsx b/packages/react-dnd-decorators/src/DragDropContext.tsx index 314ad4abe3..4c44a268b2 100644 --- a/packages/react-dnd-decorators/src/DragDropContext.tsx +++ b/packages/react-dnd-decorators/src/DragDropContext.tsx @@ -1,12 +1,13 @@ -declare var require: any import * as React from 'react' import { DndContext, createDndContext } from 'react-dnd' import { BackendFactory } from 'dnd-core' import checkDecoratorArguments from './utils/checkDecoratorArguments' import { ContextComponent } from './interfaces' import { isRefable } from './utils/isRefable' -const invariant = require('invariant') -const hoistStatics = require('hoist-non-react-statics') +// @ts-ignore +import invariant from 'invariant' +// @ts-ignore +import hoistStatics from 'hoist-non-react-statics' /** * Wrap the root component of your application with DragDropContext decorator to set up React DnD. @@ -64,9 +65,9 @@ export function DragDropContext( } } - return hoistStatics( + return (hoistStatics( DragDropContextContainer, DecoratedComponent, - ) as TargetClass & DragDropContextContainer + ) as any) as TargetClass & DragDropContextContainer } } diff --git a/packages/react-dnd-decorators/src/DragLayer.tsx b/packages/react-dnd-decorators/src/DragLayer.tsx index 4b67d47bf6..617eb46d80 100644 --- a/packages/react-dnd-decorators/src/DragLayer.tsx +++ b/packages/react-dnd-decorators/src/DragLayer.tsx @@ -1,15 +1,17 @@ -declare var require: any import * as React from 'react' import checkDecoratorArguments from './utils/checkDecoratorArguments' import { DragDropManager, Unsubscribe } from 'dnd-core' import { DndContext, DndOptions } from 'react-dnd' -import { isPlainObject } from 'react-dnd/lib/esm/internals' +import { __isPlainObject as isPlainObject } from 'react-dnd' import { DragLayerCollector, DndComponentEnhancer } from './interfaces' import { isRefable } from './utils/isRefable' -const hoistStatics = require('hoist-non-react-statics') -const invariant = require('invariant') -const shallowEqual = require('shallowequal') +// @ts-ignore +import hoistStatics from 'hoist-non-react-statics' +// @ts-ignore +import invariant from 'invariant' +// @ts-ignore +import shallowEqual from 'shallowequal' export function DragLayer( collect: DragLayerCollector, @@ -146,6 +148,6 @@ export function DragLayer( } } - return hoistStatics(DragLayerContainer, DecoratedComponent) + return hoistStatics(DragLayerContainer, DecoratedComponent) as any } as any) as DndComponentEnhancer } diff --git a/packages/react-dnd-decorators/src/DragSource.ts b/packages/react-dnd-decorators/src/DragSource.ts index 685d770247..2053e7964d 100644 --- a/packages/react-dnd-decorators/src/DragSource.ts +++ b/packages/react-dnd-decorators/src/DragSource.ts @@ -1,8 +1,13 @@ -declare var require: any import * as React from 'react' import { SourceType, DragDropManager } from 'dnd-core' import { DndOptions } from 'react-dnd' -import { isPlainObject } from 'react-dnd/lib/esm/internals' +import { + __isPlainObject as isPlainObject, + __registerSource as registerSource, + __DragSourceMonitorImpl as DragSourceMonitorImpl, + __SourceConnector as SourceConnector, + __isValidType as isValidType, +} from 'react-dnd' import { DndComponentEnhancer, DragSourceSpec, @@ -10,14 +15,10 @@ import { } from './interfaces' import checkDecoratorArguments from './utils/checkDecoratorArguments' import decorateHandler from './decorateHandler' -import { - registerSource, - DragSourceMonitorImpl, - SourceConnector, - isValidType, -} from 'react-dnd/lib/esm/internals' + import createSourceFactory from './createSourceFactory' -const invariant = require('invariant') +// @ts-ignore +import invariant from 'invariant' /** * Decorates a component as a dragsource diff --git a/packages/react-dnd-decorators/src/DropTarget.ts b/packages/react-dnd-decorators/src/DropTarget.ts index 1080b00bb9..9bc7a41c2b 100644 --- a/packages/react-dnd-decorators/src/DropTarget.ts +++ b/packages/react-dnd-decorators/src/DropTarget.ts @@ -1,14 +1,13 @@ -declare var require: any import * as React from 'react' import { TargetType, DragDropManager } from 'dnd-core' import { DndOptions } from 'react-dnd' import { - registerTarget, - isValidType, - TargetConnector, - DropTargetMonitorImpl, - isPlainObject, -} from 'react-dnd/lib/esm/internals' + __registerTarget as registerTarget, + __isValidType as isValidType, + __TargetConnector as TargetConnector, + __DropTargetMonitorImpl as DropTargetMonitorImpl, + __isPlainObject as isPlainObject, +} from 'react-dnd' import { DropTargetSpec, DropTargetCollector, @@ -18,7 +17,8 @@ import { import checkDecoratorArguments from './utils/checkDecoratorArguments' import decorateHandler from './decorateHandler' import createTargetFactory from './createTargetFactory' -const invariant = require('invariant') +// @ts-ignore +import invariant from 'invariant' export function DropTarget( type: TargetType | ((props: RequiredProps) => TargetType), diff --git a/packages/react-dnd/src/__tests__/ConnectorFunctions.spec.tsx b/packages/react-dnd-decorators/src/__tests__/ConnectorFunctions.spec.tsx similarity index 95% rename from packages/react-dnd/src/__tests__/ConnectorFunctions.spec.tsx rename to packages/react-dnd-decorators/src/__tests__/ConnectorFunctions.spec.tsx index fc4fa5d4c3..cdf721a472 100644 --- a/packages/react-dnd/src/__tests__/ConnectorFunctions.spec.tsx +++ b/packages/react-dnd-decorators/src/__tests__/ConnectorFunctions.spec.tsx @@ -1,7 +1,7 @@ import * as React from 'react' import * as TestUtils from 'react-dom/test-utils' import { wrapInTestContext } from 'react-dnd-test-utils' -import DropTarget from '../DropTarget' +import { DropTarget } from '../DropTarget' describe('Connectors', () => { it('transmit expected arguments to components', () => { diff --git a/packages/react-dnd-decorators/src/__tests__/DragDropContext.spec.tsx b/packages/react-dnd-decorators/src/__tests__/DragDropContext.spec.tsx new file mode 100644 index 0000000000..ee24268c0d --- /dev/null +++ b/packages/react-dnd-decorators/src/__tests__/DragDropContext.spec.tsx @@ -0,0 +1,26 @@ +import * as React from 'react' +import { DragDropContext } from '../index' +import TestBackend from 'react-dnd-test-backend' + +describe('DragDropContext', () => { + it('can apply to a class via decorator-fashion', () => { + @DragDropContext(TestBackend) + class Context extends React.Component {} + + expect(Context).toBeDefined() + }) + + it('can apply via composition', () => { + class ContextClass extends React.Component {} + const Context = DragDropContext(TestBackend)(ContextClass) + + expect(Context).toBeDefined() + }) + + it('can apply to an SFC', () => { + const ContextComponent: React.FC<{}> = () => null + const Context = DragDropContext(TestBackend)(ContextComponent) + + expect(Context).toBeDefined() + }) +}) diff --git a/packages/react-dnd/src/__tests__/DragLayer.spec.tsx b/packages/react-dnd-decorators/src/__tests__/DragLayer.spec.tsx similarity index 100% rename from packages/react-dnd/src/__tests__/DragLayer.spec.tsx rename to packages/react-dnd-decorators/src/__tests__/DragLayer.spec.tsx diff --git a/packages/react-dnd/src/__tests__/DragSource.spec.tsx b/packages/react-dnd-decorators/src/__tests__/DragSource.spec.tsx similarity index 100% rename from packages/react-dnd/src/__tests__/DragSource.spec.tsx rename to packages/react-dnd-decorators/src/__tests__/DragSource.spec.tsx diff --git a/packages/react-dnd/src/__tests__/DropTarget.spec.tsx b/packages/react-dnd-decorators/src/__tests__/DropTarget.spec.tsx similarity index 100% rename from packages/react-dnd/src/__tests__/DropTarget.spec.tsx rename to packages/react-dnd-decorators/src/__tests__/DropTarget.spec.tsx diff --git a/packages/react-dnd-decorators/src/createSourceFactory.ts b/packages/react-dnd-decorators/src/createSourceFactory.ts index 4d39586640..1872300499 100644 --- a/packages/react-dnd-decorators/src/createSourceFactory.ts +++ b/packages/react-dnd-decorators/src/createSourceFactory.ts @@ -1,13 +1,12 @@ -declare var require: any declare var process: any import * as React from 'react' import { DragSource, DragDropMonitor } from 'dnd-core' import { DragSourceMonitor } from 'react-dnd' -import { isPlainObject } from 'react-dnd/lib/esm/internals' +import { __isPlainObject as isPlainObject } from 'react-dnd' import { DragSourceSpec } from './interfaces' import { getDecoratedComponent } from './utils/getDecoratedComponent' - -const invariant = require('invariant') +// @ts-ignore +import invariant from 'invariant' const ALLOWED_SPEC_METHODS = ['canDrag', 'beginDrag', 'isDragging', 'endDrag'] const REQUIRED_SPEC_METHODS = ['beginDrag'] diff --git a/packages/react-dnd-decorators/src/createTargetFactory.ts b/packages/react-dnd-decorators/src/createTargetFactory.ts index 55a83b0853..fedd3ea29f 100644 --- a/packages/react-dnd-decorators/src/createTargetFactory.ts +++ b/packages/react-dnd-decorators/src/createTargetFactory.ts @@ -1,15 +1,14 @@ -declare var require: any declare var process: any import * as React from 'react' import { DropTarget } from 'dnd-core' import { DropTargetMonitor } from 'react-dnd' -import { isPlainObject } from 'react-dnd/lib/esm/internals' +import { __isPlainObject as isPlainObject } from 'react-dnd' import { DropTargetSpec } from './interfaces' import { getDecoratedComponent } from './utils/getDecoratedComponent' -const invariant = require('invariant') - +// @ts-ignore +import invariant from 'invariant' const ALLOWED_SPEC_METHODS = ['canDrop', 'hover', 'drop'] export interface Target extends DropTarget { diff --git a/packages/react-dnd-decorators/src/decorateHandler.tsx b/packages/react-dnd-decorators/src/decorateHandler.tsx index 50aa2f975c..a3ca0c7632 100644 --- a/packages/react-dnd-decorators/src/decorateHandler.tsx +++ b/packages/react-dnd-decorators/src/decorateHandler.tsx @@ -1,10 +1,12 @@ -declare var require: any declare var process: any import * as React from 'react' import { DragDropManager, Identifier } from 'dnd-core' import { DndContext } from 'react-dnd' -import { Connector, isPlainObject } from 'react-dnd/lib/esm/internals' +import { + __Connector as Connector, + __isPlainObject as isPlainObject, +} from 'react-dnd' import { DndComponent } from './interfaces' import { Disposable, @@ -12,9 +14,12 @@ import { SerialDisposable, } from './utils/disposables' import { isRefable } from './utils/isRefable' -const invariant = require('invariant') -const hoistStatics = require('hoist-non-react-statics') -const shallowEqual = require('shallowequal') +// @ts-ignore +import invariant from 'invariant' +// @ts-ignore +import hoistStatics from 'hoist-non-react-statics' +// @ts-ignore +import shallowEqual from 'shallowequal' export interface DecorateHandlerArgs { DecoratedComponent: any diff --git a/packages/react-dnd-decorators/src/utils/disposables/Disposable.ts b/packages/react-dnd-decorators/src/utils/disposables/Disposable.ts index 5d6cd87895..d81116109d 100644 --- a/packages/react-dnd-decorators/src/utils/disposables/Disposable.ts +++ b/packages/react-dnd-decorators/src/utils/disposables/Disposable.ts @@ -1,4 +1,4 @@ -import { isFunction, noop } from 'react-dnd/lib/esm/internals' +import { __isFunction as isFunction, __noop as noop } from 'react-dnd' /** * Provides a set of static methods for creating Disposables. diff --git a/packages/react-dnd-decorators/tsconfig.cjs.json b/packages/react-dnd-decorators/tsconfig.cjs.json deleted file mode 100644 index 364af46ac3..0000000000 --- a/packages/react-dnd-decorators/tsconfig.cjs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": "../../tsconfig.cjs.base.json", - "compilerOptions": { - "outDir": "./lib/cjs", - "baseUrl": "./", - }, - "include": ["./src/index.ts"] -} diff --git a/packages/react-dnd-decorators/tsconfig.esm.json b/packages/react-dnd-decorators/tsconfig.json similarity index 53% rename from packages/react-dnd-decorators/tsconfig.esm.json rename to packages/react-dnd-decorators/tsconfig.json index 3d77cfa240..8b69c98065 100644 --- a/packages/react-dnd-decorators/tsconfig.esm.json +++ b/packages/react-dnd-decorators/tsconfig.json @@ -1,7 +1,7 @@ { - "extends": "../../tsconfig.esm.base.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "outDir": "./lib/esm", + "outDir": "./lib", "baseUrl": "./" }, "include": ["./src/index.ts"] diff --git a/packages/react-dnd-decorators/webpack.config.js b/packages/react-dnd-decorators/webpack.config.js deleted file mode 100644 index 1d9ec28c77..0000000000 --- a/packages/react-dnd-decorators/webpack.config.js +++ /dev/null @@ -1,49 +0,0 @@ -const webpack = require('webpack') -const path = require('path') - -module.exports = { - entry: './src/index', - mode: 'none', - resolve: { - extensions: ['.ts', '.tsx', '.js'], - modules: [ - path.join(__dirname, 'node_modules'), - path.join(__dirname, '..', 'dnd-core', 'node_modules'), - path.join(__dirname, '..', '..', 'node_modules'), - ], - }, - module: { - rules: [ - { test: /\.js$/, use: 'babel-loader', exclude: /node_modules/ }, - { - test: /\.ts(x|)$/, - exclude: /node_modules/, - use: { - loader: 'ts-loader', - options: { transpileOnly: true }, - }, - }, - ], - }, - externals: [ - { - react: { - root: 'React', - commonjs2: 'react', - commonjs: 'react', - amd: 'react', - }, - }, - ], - output: { - libraryTarget: 'umd', - library: 'ReactDnD', - }, - plugins: [ - new webpack.DefinePlugin({ - 'process.env': { - NODE_ENV: JSON.stringify('production'), - }, - }), - ], -} diff --git a/packages/react-dnd-html5-backend/package.json b/packages/react-dnd-html5-backend/package.json index 9ce1cc02ff..38937c3a11 100644 --- a/packages/react-dnd-html5-backend/package.json +++ b/packages/react-dnd-html5-backend/package.json @@ -1,39 +1,32 @@ { - "name": "react-dnd-html5-backend", - "version": "7.6.0", - "description": "HTML5 backend for React DnD", - "main": "lib/cjs/index.js", - "module": "lib/esm/index.js", - "types": "lib/cjs/index.d.ts", - "license": "MIT", - "repository": { - "type": "git", - "url": "https://github.com/react-dnd/react-dnd.git" - }, - "scripts": { - "clean": "rimraf lib dist", - "transpile:cjs": "tsc -b tsconfig.cjs.json", - "transpile:esm": "tsc -b tsconfig.esm.json", - "transpile": "run-p transpile:*", - "bundle:unmin": "webpack --mode development --output-filename=ReactDnDHTML5Backend.js", - "bundle:min": "webpack --mode production --output-filename=ReactDnDHTML5Backend.min.js", - "build": "run-p bundle:* transpile", - "test": "run-s clean build", - "start": "tsc -b tsconfig.esm.json -w --preserveWatchOutput" - }, - "dependencies": { - "dnd-core": "^7.6.0" - }, - "devDependencies": { - "@types/react": "^16.8.19", - "npm-run-all": "^4.1.5", - "react": "^16.8.6", - "react-dnd-test-backend": "^7.6.0", - "react-dom": "^16.8.6", - "rimraf": "^2.6.3", - "ts-loader": "^6.0.2", - "typescript": "^3.5.1", - "webpack": "^4.32.2", - "webpack-cli": "^3.3.2" - } + "name": "react-dnd-html5-backend", + "version": "7.6.0", + "description": "HTML5 backend for React DnD", + "main": "lib/index.js", + "module": "lib/index.js", + "types": "lib/index.d.ts", + "license": "MIT", + "repository": { + "type": "git", + "url": "https://github.com/react-dnd/react-dnd.git" + }, + "scripts": { + "clean": "rimraf lib", + "build": "tsc -b tsconfig.json", + "test": "run-s clean build", + "start": "tsc -b tsconfig.json -w --preserveWatchOutput" + }, + "dependencies": { + "dnd-core": "^7.6.0" + }, + "devDependencies": { + "@types/react": "^16.8.19", + "npm-run-all": "^4.1.5", + "react": "^16.8.6", + "react-dnd-test-backend": "^7.6.0", + "react-dom": "^16.8.6", + "rimraf": "^2.6.3", + "ts-loader": "^6.0.2", + "typescript": "^3.5.1" + } } diff --git a/packages/react-dnd-html5-backend/tsconfig.esm.json b/packages/react-dnd-html5-backend/tsconfig.esm.json deleted file mode 100644 index f7ef3a9316..0000000000 --- a/packages/react-dnd-html5-backend/tsconfig.esm.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": "../../tsconfig.esm.base.json", - "compilerOptions": { - "outDir": "./lib/esm", - "baseUrl": "./src" - }, - "include": ["./src/index.ts"] -} diff --git a/packages/react-dnd-html5-backend/tsconfig.cjs.json b/packages/react-dnd-html5-backend/tsconfig.json similarity index 54% rename from packages/react-dnd-html5-backend/tsconfig.cjs.json rename to packages/react-dnd-html5-backend/tsconfig.json index 6980c32240..7ab4bba54f 100644 --- a/packages/react-dnd-html5-backend/tsconfig.cjs.json +++ b/packages/react-dnd-html5-backend/tsconfig.json @@ -1,7 +1,7 @@ { - "extends": "../../tsconfig.cjs.base.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "outDir": "./lib/cjs", + "outDir": "./lib", "baseUrl": "./src" }, "include": ["./src/index.ts"] diff --git a/packages/react-dnd-test-backend/package.json b/packages/react-dnd-test-backend/package.json index cf282bba9b..e905e5eea7 100644 --- a/packages/react-dnd-test-backend/package.json +++ b/packages/react-dnd-test-backend/package.json @@ -2,9 +2,9 @@ "name": "react-dnd-test-backend", "version": "7.6.0", "description": "A mock backend for testing React DnD apps", - "main": "lib/cjs/index.js", - "module": "lib/esm/index.js", - "types": "lib/cjs/index.d.ts", + "main": "lib/index.js", + "module": "lib/index.js", + "types": "lib/index.d.ts", "license": "MIT", "repository": { "type": "git", @@ -12,9 +12,7 @@ }, "scripts": { "clean": "rimraf lib", - "build:cjs": "tsc -b tsconfig.cjs.json", - "build:esm": "tsc -b tsconfig.esm.json", - "build": "run-p build:*", + "build": "tsc -b tsconfig.json", "test": "run-s clean build", "prepublish": "npm run test" }, diff --git a/packages/react-dnd-test-backend/tsconfig.esm.json b/packages/react-dnd-test-backend/tsconfig.esm.json deleted file mode 100644 index b724ca1fb1..0000000000 --- a/packages/react-dnd-test-backend/tsconfig.esm.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": "../../tsconfig.esm.base.json", - "compilerOptions": { - "outDir": "./lib/esm", - "baseUrl": "./src" - }, - "include": ["src/index.ts"] -} diff --git a/packages/dnd-core/tsconfig.esm.json b/packages/react-dnd-test-backend/tsconfig.json similarity index 53% rename from packages/dnd-core/tsconfig.esm.json rename to packages/react-dnd-test-backend/tsconfig.json index b724ca1fb1..4a3bc5caff 100644 --- a/packages/dnd-core/tsconfig.esm.json +++ b/packages/react-dnd-test-backend/tsconfig.json @@ -1,7 +1,7 @@ { - "extends": "../../tsconfig.esm.base.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "outDir": "./lib/esm", + "outDir": "./lib", "baseUrl": "./src" }, "include": ["src/index.ts"] diff --git a/packages/react-dnd-test-utils/package.json b/packages/react-dnd-test-utils/package.json index c6fc7804b3..a748f9a62d 100644 --- a/packages/react-dnd-test-utils/package.json +++ b/packages/react-dnd-test-utils/package.json @@ -2,13 +2,11 @@ "name": "react-dnd-test-utils", "version": "7.6.0", "license": "MIT", - "main": "lib/cjs/index.js", - "module": "lib/esm/index.js", + "main": "lib/index.js", + "module": "lib/index.js", "scripts": { "clean": "rimraf lib", - "build:cjs": "tsc -b tsconfig.cjs.json", - "build:esm": "tsc -b tsconfig.esm.json", - "build": "run-p build:*", + "build": "tsc -b tsconfig.json", "test": "run-s clean build" }, "devDependencies": { diff --git a/packages/react-dnd-test-utils/tsconfig.esm.json b/packages/react-dnd-test-utils/tsconfig.esm.json deleted file mode 100644 index b724ca1fb1..0000000000 --- a/packages/react-dnd-test-utils/tsconfig.esm.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": "../../tsconfig.esm.base.json", - "compilerOptions": { - "outDir": "./lib/esm", - "baseUrl": "./src" - }, - "include": ["src/index.ts"] -} diff --git a/packages/react-dnd-test-backend/tsconfig.cjs.json b/packages/react-dnd-test-utils/tsconfig.json similarity index 53% rename from packages/react-dnd-test-backend/tsconfig.cjs.json rename to packages/react-dnd-test-utils/tsconfig.json index f195f81b8d..4a3bc5caff 100644 --- a/packages/react-dnd-test-backend/tsconfig.cjs.json +++ b/packages/react-dnd-test-utils/tsconfig.json @@ -1,7 +1,7 @@ { - "extends": "../../tsconfig.cjs.base.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "outDir": "./lib/cjs", + "outDir": "./lib", "baseUrl": "./src" }, "include": ["src/index.ts"] diff --git a/packages/react-dnd/package.json b/packages/react-dnd/package.json index 634bf6c412..b867796430 100644 --- a/packages/react-dnd/package.json +++ b/packages/react-dnd/package.json @@ -2,24 +2,19 @@ "name": "react-dnd", "version": "7.6.0", "description": "Drag and Drop for React", - "main": "lib/cjs/index.js", - "module": "lib/esm/index.js", - "types": "lib/cjs/index.d.ts", + "main": "lib/index.js", + "module": "lib/index.js", + "types": "lib/index.d.ts", "repository": { "type": "git", "url": "https://github.com/react-dnd/react-dnd.git" }, "license": "MIT", "scripts": { - "clean": "rimraf lib dist", - "bundle:unmin": "webpack --mode development --output-filename=ReactDnD.js", - "bundle:min": "webpack --mode production --output-filename=ReactDnD.min.js", - "transpile:cjs": "tsc -b tsconfig.cjs.json", - "transpile:esm": "tsc -b tsconfig.esm.json", - "transpile": "run-p transpile:*", - "build": "run-p bundle:* transpile", + "clean": "rimraf lib", + "build": "tsc -b tsconfig.json", "test": "run-s clean build", - "start": "tsc -b tsconfig.cjs.json -w --preserveWatchOutput" + "start": "tsc -b tsconfig.json -w --preserveWatchOutput" }, "dependencies": { "@types/hoist-non-react-statics": "^3.3.1", @@ -31,17 +26,17 @@ "devDependencies": { "@babel/cli": "^7.4.4", "@babel/core": "^7.4.5", + "@babel/preset-env": "^7.4.5", "@types/react": "^16.8.19", "@types/react-dom": "^16.8.4", + "babel-jest": "^24.8.0", "babel-loader": "^8.0.6", "npm-run-all": "^4.1.5", "react": "^16.8.6", "react-dom": "^16.8.6", "rimraf": "^2.6.3", "ts-loader": "^6.0.2", - "typescript": "^3.5.1", - "webpack": "^4.32.2", - "webpack-cli": "^3.3.2" + "typescript": "^3.5.1" }, "peerDependencies": { "react": ">= 16.8", diff --git a/packages/react-dnd/src/DragSourceMonitorImpl.ts b/packages/react-dnd/src/DragSourceMonitorImpl.ts index 9ae54e7fa6..bf852d3b87 100644 --- a/packages/react-dnd/src/DragSourceMonitorImpl.ts +++ b/packages/react-dnd/src/DragSourceMonitorImpl.ts @@ -1,5 +1,3 @@ -declare var require: any - import { DragDropManager, DragDropMonitor, @@ -8,7 +6,8 @@ import { Identifier, } from 'dnd-core' import { DragSourceMonitor } from './interfaces' -const invariant = require('invariant') +// @ts-ignore +import invariant from 'invariant' let isCallingCanDrag = false let isCallingIsDragging = false diff --git a/packages/react-dnd/src/DropTargetMonitorImpl.ts b/packages/react-dnd/src/DropTargetMonitorImpl.ts index 6c9b80d69e..c0b16d0ea1 100644 --- a/packages/react-dnd/src/DropTargetMonitorImpl.ts +++ b/packages/react-dnd/src/DropTargetMonitorImpl.ts @@ -1,4 +1,3 @@ -declare var require: any import { DragDropManager, DragDropMonitor, @@ -7,7 +6,8 @@ import { Identifier, } from 'dnd-core' import { DropTargetMonitor } from './interfaces' -const invariant = require('invariant') +// @ts-ignore +import invariant from 'invariant' let isCallingCanDrop = false diff --git a/packages/react-dnd/src/SourceConnector.ts b/packages/react-dnd/src/SourceConnector.ts index d1980b8dfc..86c74d9df4 100644 --- a/packages/react-dnd/src/SourceConnector.ts +++ b/packages/react-dnd/src/SourceConnector.ts @@ -1,10 +1,10 @@ -declare var require: any import * as React from 'react' import wrapConnectorHooks from './wrapConnectorHooks' import { Backend, Unsubscribe, Identifier } from 'dnd-core' import { isRef } from './utils/isRef' import { DragSourceOptions, DragPreviewOptions } from './interfaces' -const shallowEqual = require('shallowequal') +// @ts-ignore +import shallowEqual from 'shallowequal' export interface Connector { hooks: any diff --git a/packages/react-dnd/src/TargetConnector.ts b/packages/react-dnd/src/TargetConnector.ts index da5bb3679e..c03fea6c91 100644 --- a/packages/react-dnd/src/TargetConnector.ts +++ b/packages/react-dnd/src/TargetConnector.ts @@ -1,9 +1,9 @@ -declare var require: any import * as React from 'react' import wrapConnectorHooks from './wrapConnectorHooks' import { Backend, Unsubscribe, Identifier } from 'dnd-core' import { isRef } from './utils/isRef' -const shallowEqual = require('shallowequal') +// @ts-ignore +import shallowEqual from 'shallowequal' import { Connector } from './SourceConnector' diff --git a/packages/react-dnd/src/__tests__/DndProvider.tsx b/packages/react-dnd/src/__tests__/DndProvider.tsx new file mode 100644 index 0000000000..62eda48dd6 --- /dev/null +++ b/packages/react-dnd/src/__tests__/DndProvider.tsx @@ -0,0 +1,26 @@ +import { createDragDropManager } from 'dnd-core' +import * as React from 'react' +import * as TestUtils from 'react-dom/test-utils' +import { DndContext } from '../DndContext' +import TestBackend from 'react-dnd-test-backend' + +describe('DragDropContextProvider', () => { + it('reuses DragDropManager provided to it', () => { + let capturedManager + const manager = createDragDropManager(TestBackend, {}) + + const ManagerCapture = () => ( + + + {({ dragDropManager }) => { + capturedManager = dragDropManager + return null + }} + + + ) + + TestUtils.renderIntoDocument() + expect(capturedManager).toBe(manager) + }) +}) diff --git a/packages/react-dnd/src/__tests__/DragDropContext.spec.tsx b/packages/react-dnd/src/__tests__/DragDropContext.spec.tsx deleted file mode 100644 index 4cb76e4f80..0000000000 --- a/packages/react-dnd/src/__tests__/DragDropContext.spec.tsx +++ /dev/null @@ -1,53 +0,0 @@ -import { createDragDropManager } from 'dnd-core' -import * as React from 'react' -import * as TestUtils from 'react-dom/test-utils' -import { - DragDropContext, - DragDropContextProvider, - DragDropContextConsumer, -} from '../index' -import TestBackend from 'react-dnd-test-backend' - -describe('DragDropContext', () => { - it('can apply to a class via decorator-fashion', () => { - @DragDropContext(TestBackend) - class Context extends React.Component {} - - expect(Context).toBeDefined() - }) - - it('can apply via composition', () => { - class ContextClass extends React.Component {} - const Context = DragDropContext(TestBackend)(ContextClass) - - expect(Context).toBeDefined() - }) - - it('can apply to an SFC', () => { - const ContextComponent: React.FC<{}> = () => null - const Context = DragDropContext(TestBackend)(ContextComponent) - - expect(Context).toBeDefined() - }) -}) - -describe('DragDropContextProvider', () => { - it('reuses DragDropManager provided to it', () => { - let capturedManager - const manager = createDragDropManager(TestBackend, {}) - - const ManagerCapture = () => ( - - - {({ dragDropManager }) => { - capturedManager = dragDropManager - return null - }} - - - ) - - TestUtils.renderIntoDocument() - expect(capturedManager).toBe(manager) - }) -}) diff --git a/packages/react-dnd/src/__tests__/SourceConnector.spec.tsx b/packages/react-dnd/src/__tests__/SourceConnector.spec.tsx index 8e1ab28a0e..60ae2f3c98 100644 --- a/packages/react-dnd/src/__tests__/SourceConnector.spec.tsx +++ b/packages/react-dnd/src/__tests__/SourceConnector.spec.tsx @@ -1,4 +1,4 @@ -import SourceConnector from '../SourceConnector' +import { SourceConnector } from '../SourceConnector' import { Backend } from 'dnd-core' describe('SourceConnector', () => { diff --git a/packages/react-dnd/src/__tests__/TargetConnector.spec.tsx b/packages/react-dnd/src/__tests__/TargetConnector.spec.tsx index 502f7b5b81..7a8c6b455d 100644 --- a/packages/react-dnd/src/__tests__/TargetConnector.spec.tsx +++ b/packages/react-dnd/src/__tests__/TargetConnector.spec.tsx @@ -1,4 +1,4 @@ -import TargetConnector from '../TargetConnector' +import { TargetConnector } from '../TargetConnector' describe('TargetConnector', () => { it('unsubscribes drop target when clearing handler id', () => { diff --git a/packages/react-dnd/src/hooks/internal/drag.ts b/packages/react-dnd/src/hooks/internal/drag.ts index 5a98e016b5..52aea4abfe 100644 --- a/packages/react-dnd/src/hooks/internal/drag.ts +++ b/packages/react-dnd/src/hooks/internal/drag.ts @@ -1,4 +1,3 @@ -declare var require: any import { useEffect, useMemo, MutableRefObject } from 'react' import { DragSourceHookSpec, @@ -10,7 +9,8 @@ import { registerSource } from '../../registration' import { useDragDropManager } from './useDragDropManager' import { DragSourceMonitorImpl } from '../../DragSourceMonitorImpl' import { SourceConnector } from '../../SourceConnector' -const invariant = require('invariant') +// @ts-ignore +import invariant from 'invariant' export function useDragSourceMonitor(): [DragSourceMonitor, SourceConnector] { const manager = useDragDropManager() diff --git a/packages/react-dnd/src/hooks/internal/useCollector.ts b/packages/react-dnd/src/hooks/internal/useCollector.ts index 0948f50c63..b2713be75a 100644 --- a/packages/react-dnd/src/hooks/internal/useCollector.ts +++ b/packages/react-dnd/src/hooks/internal/useCollector.ts @@ -1,5 +1,5 @@ -declare var require: any -const shallowEqual = require('shallowequal') +// @ts-ignore +import shallowEqual from 'shallowequal' import { useState, useCallback } from 'react' /** diff --git a/packages/react-dnd/src/hooks/internal/useDragDropManager.ts b/packages/react-dnd/src/hooks/internal/useDragDropManager.ts index 18858ebe9b..90581bcc8c 100644 --- a/packages/react-dnd/src/hooks/internal/useDragDropManager.ts +++ b/packages/react-dnd/src/hooks/internal/useDragDropManager.ts @@ -1,8 +1,8 @@ -declare var require: any import { useContext } from 'react' import { DragDropManager } from 'dnd-core' import { DndContext } from '../../DndContext' -const invariant = require('invariant') +// @ts-ignore +import invariant from 'invariant' /** * A hook to retrieve the DragDropManager from Context diff --git a/packages/react-dnd/src/hooks/useDrag.ts b/packages/react-dnd/src/hooks/useDrag.ts index aeb6d7875a..a38ff9a885 100644 --- a/packages/react-dnd/src/hooks/useDrag.ts +++ b/packages/react-dnd/src/hooks/useDrag.ts @@ -1,4 +1,3 @@ -declare var require: any import { DragSourceHookSpec, DragObjectWithType, @@ -8,7 +7,8 @@ import { import { useMonitorOutput } from './internal/useMonitorOutput' import { useDragSourceMonitor, useDragHandler } from './internal/drag' import { useEffect, useRef, useMemo } from 'react' -const invariant = require('invariant') +// @ts-ignore +import invariant from 'invariant' /** * useDragSource hook diff --git a/packages/react-dnd/src/hooks/useDrop.ts b/packages/react-dnd/src/hooks/useDrop.ts index e28975064d..93e6498992 100644 --- a/packages/react-dnd/src/hooks/useDrop.ts +++ b/packages/react-dnd/src/hooks/useDrop.ts @@ -1,4 +1,3 @@ -declare var require: any import { DropTargetHookSpec, ConnectDropTarget, @@ -7,7 +6,8 @@ import { import { useMonitorOutput } from './internal/useMonitorOutput' import { useDropHandler, useDropTargetMonitor } from './internal/drop' import { useEffect, useRef, useMemo } from 'react' -const invariant = require('invariant') +// @ts-ignore +import invariant from 'invariant' /** * useDropTarget Hook diff --git a/packages/react-dnd/src/index.ts b/packages/react-dnd/src/index.ts index 12482d6222..648d629ad6 100644 --- a/packages/react-dnd/src/index.ts +++ b/packages/react-dnd/src/index.ts @@ -3,3 +3,21 @@ export { DndProvider } from './DndProvider' export { DragPreviewImage } from './DragPreviewImage' export * from './interfaces' export { useDrag, useDragLayer, useDrop } from './hooks' + +// Internal, non-supported APIs +export { + Connector as __Connector, + DragSourceMonitorImpl as __DragSourceMonitorImpl, + DropTargetMonitorImpl as __DropTargetMonitorImpl, + SourceConnector as __SourceConnector, + TargetConnector as __TargetConnector, + registerSource as __registerSource, + registerTarget as __registerTarget, + cloneWithRef as __cloneWithRef, + Ref as __Ref, + isValidType as __isValidType, + isFunction as __isFunction, + isPlainObject as __isPlainObject, + isRef as __isRef, + noop as __noop, +} from './internals' diff --git a/packages/react-dnd/src/utils/cloneWithRef.ts b/packages/react-dnd/src/utils/cloneWithRef.ts index 256acc35a7..ee83b450f5 100644 --- a/packages/react-dnd/src/utils/cloneWithRef.ts +++ b/packages/react-dnd/src/utils/cloneWithRef.ts @@ -1,6 +1,6 @@ -declare var require: any import { cloneElement } from 'react' -const invariant = require('invariant') +// @ts-ignore +import invariant from 'invariant' function setRef(ref: any, node: any) { if (typeof ref === 'function') { diff --git a/packages/react-dnd/tsconfig.cjs.json b/packages/react-dnd/tsconfig.cjs.json deleted file mode 100644 index 84482b0285..0000000000 --- a/packages/react-dnd/tsconfig.cjs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": "../../tsconfig.cjs.base.json", - "compilerOptions": { - "outDir": "./lib/cjs", - "baseUrl": "./" - }, - "include": ["./src/index.ts", "./src/internals.ts"] -} diff --git a/packages/react-dnd/tsconfig.esm.json b/packages/react-dnd/tsconfig.esm.json deleted file mode 100644 index 690554c6dc..0000000000 --- a/packages/react-dnd/tsconfig.esm.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": "../../tsconfig.esm.base.json", - "compilerOptions": { - "outDir": "./lib/esm", - "baseUrl": "./" - }, - "include": ["./src/index.ts", "./src/internals.ts"] -} diff --git a/packages/react-dnd/tsconfig.json b/packages/react-dnd/tsconfig.json new file mode 100644 index 0000000000..8b69c98065 --- /dev/null +++ b/packages/react-dnd/tsconfig.json @@ -0,0 +1,8 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "outDir": "./lib", + "baseUrl": "./" + }, + "include": ["./src/index.ts"] +} diff --git a/packages/react-dnd/webpack.config.js b/packages/react-dnd/webpack.config.js deleted file mode 100644 index 1d9ec28c77..0000000000 --- a/packages/react-dnd/webpack.config.js +++ /dev/null @@ -1,49 +0,0 @@ -const webpack = require('webpack') -const path = require('path') - -module.exports = { - entry: './src/index', - mode: 'none', - resolve: { - extensions: ['.ts', '.tsx', '.js'], - modules: [ - path.join(__dirname, 'node_modules'), - path.join(__dirname, '..', 'dnd-core', 'node_modules'), - path.join(__dirname, '..', '..', 'node_modules'), - ], - }, - module: { - rules: [ - { test: /\.js$/, use: 'babel-loader', exclude: /node_modules/ }, - { - test: /\.ts(x|)$/, - exclude: /node_modules/, - use: { - loader: 'ts-loader', - options: { transpileOnly: true }, - }, - }, - ], - }, - externals: [ - { - react: { - root: 'React', - commonjs2: 'react', - commonjs: 'react', - amd: 'react', - }, - }, - ], - output: { - libraryTarget: 'umd', - library: 'ReactDnD', - }, - plugins: [ - new webpack.DefinePlugin({ - 'process.env': { - NODE_ENV: JSON.stringify('production'), - }, - }), - ], -} diff --git a/tsconfig.esm.base.json b/tsconfig.base.json similarity index 91% rename from tsconfig.esm.base.json rename to tsconfig.base.json index 84b9ff5063..8aa4af19a4 100644 --- a/tsconfig.esm.base.json +++ b/tsconfig.base.json @@ -1,7 +1,7 @@ { "compilerOptions": { "incremental": true, - "target": "es2015", + "target": "esnext", "module": "esnext", "moduleResolution": "node", "lib": ["esnext", "dom"], diff --git a/tsconfig.cjs.base.json b/tsconfig.cjs.base.json deleted file mode 100644 index cca1be2cab..0000000000 --- a/tsconfig.cjs.base.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": "./tsconfig.esm.base.json", - "compilerOptions": { - "target": "es5", - "module": "commonjs", - "moduleResolution": "node" - } -} diff --git a/tsconfig.json b/tsconfig.json index 92b51498d6..2e7b8b15a5 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "./tsconfig.cjs.base.json", + "extends": "./tsconfig.base.json", "compilerOptions": { "noEmit": true, "baseUrl": ".", diff --git a/yarn.lock b/yarn.lock index 706198daec..2a0d0cae32 100644 --- a/yarn.lock +++ b/yarn.lock @@ -677,7 +677,7 @@ core-js "^2.6.5" regenerator-runtime "^0.13.2" -"@babel/preset-env@^7.4.1": +"@babel/preset-env@^7.4.1", "@babel/preset-env@^7.4.5": version "7.4.5" resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.4.5.tgz#2fad7f62983d5af563b5f3139242755884998a58" integrity sha512-f2yNVXM+FsR5V8UwcFeIHzHWgnhXg3NpRmy0ADvALpnhB0SLbCvrCRr4BLOUYbQNLS+Z0Yer46x9dJXpXewI7w== @@ -2184,45 +2184,21 @@ "@webassemblyjs/helper-wasm-bytecode" "1.7.11" "@webassemblyjs/wast-parser" "1.7.11" -"@webassemblyjs/ast@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.8.5.tgz#51b1c5fe6576a34953bf4b253df9f0d490d9e359" - integrity sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ== - dependencies: - "@webassemblyjs/helper-module-context" "1.8.5" - "@webassemblyjs/helper-wasm-bytecode" "1.8.5" - "@webassemblyjs/wast-parser" "1.8.5" - "@webassemblyjs/floating-point-hex-parser@1.7.11": version "1.7.11" resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.11.tgz#a69f0af6502eb9a3c045555b1a6129d3d3f2e313" integrity sha512-zY8dSNyYcgzNRNT666/zOoAyImshm3ycKdoLsyDw/Bwo6+/uktb7p4xyApuef1dwEBo/U/SYQzbGBvV+nru2Xg== -"@webassemblyjs/floating-point-hex-parser@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz#1ba926a2923613edce496fd5b02e8ce8a5f49721" - integrity sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ== - "@webassemblyjs/helper-api-error@1.7.11": version "1.7.11" resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.7.11.tgz#c7b6bb8105f84039511a2b39ce494f193818a32a" integrity sha512-7r1qXLmiglC+wPNkGuXCvkmalyEstKVwcueZRP2GNC2PAvxbLYwLLPr14rcdJaE4UtHxQKfFkuDFuv91ipqvXg== -"@webassemblyjs/helper-api-error@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz#c49dad22f645227c5edb610bdb9697f1aab721f7" - integrity sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA== - "@webassemblyjs/helper-buffer@1.7.11": version "1.7.11" resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.11.tgz#3122d48dcc6c9456ed982debe16c8f37101df39b" integrity sha512-MynuervdylPPh3ix+mKZloTcL06P8tenNH3sx6s0qE8SLR6DdwnfgA7Hc9NSYeob2jrW5Vql6GVlsQzKQCa13w== -"@webassemblyjs/helper-buffer@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz#fea93e429863dd5e4338555f42292385a653f204" - integrity sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q== - "@webassemblyjs/helper-code-frame@1.7.11": version "1.7.11" resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.7.11.tgz#cf8f106e746662a0da29bdef635fcd3d1248364b" @@ -2230,46 +2206,21 @@ dependencies: "@webassemblyjs/wast-printer" "1.7.11" -"@webassemblyjs/helper-code-frame@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz#9a740ff48e3faa3022b1dff54423df9aa293c25e" - integrity sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ== - dependencies: - "@webassemblyjs/wast-printer" "1.8.5" - "@webassemblyjs/helper-fsm@1.7.11": version "1.7.11" resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.11.tgz#df38882a624080d03f7503f93e3f17ac5ac01181" integrity sha512-nsAQWNP1+8Z6tkzdYlXT0kxfa2Z1tRTARd8wYnc/e3Zv3VydVVnaeePgqUzFrpkGUyhUUxOl5ML7f1NuT+gC0A== -"@webassemblyjs/helper-fsm@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz#ba0b7d3b3f7e4733da6059c9332275d860702452" - integrity sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow== - "@webassemblyjs/helper-module-context@1.7.11": version "1.7.11" resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.7.11.tgz#d874d722e51e62ac202476935d649c802fa0e209" integrity sha512-JxfD5DX8Ygq4PvXDucq0M+sbUFA7BJAv/GGl9ITovqE+idGX+J3QSzJYz+LwQmL7fC3Rs+utvWoJxDb6pmC0qg== -"@webassemblyjs/helper-module-context@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz#def4b9927b0101dc8cbbd8d1edb5b7b9c82eb245" - integrity sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g== - dependencies: - "@webassemblyjs/ast" "1.8.5" - mamacro "^0.0.3" - "@webassemblyjs/helper-wasm-bytecode@1.7.11": version "1.7.11" resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.11.tgz#dd9a1e817f1c2eb105b4cf1013093cb9f3c9cb06" integrity sha512-cMXeVS9rhoXsI9LLL4tJxBgVD/KMOKXuFqYb5oCJ/opScWpkCMEz9EJtkonaNcnLv2R3K5jIeS4TRj/drde1JQ== -"@webassemblyjs/helper-wasm-bytecode@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz#537a750eddf5c1e932f3744206551c91c1b93e61" - integrity sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ== - "@webassemblyjs/helper-wasm-section@1.7.11": version "1.7.11" resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.11.tgz#9c9ac41ecf9fbcfffc96f6d2675e2de33811e68a" @@ -2280,16 +2231,6 @@ "@webassemblyjs/helper-wasm-bytecode" "1.7.11" "@webassemblyjs/wasm-gen" "1.7.11" -"@webassemblyjs/helper-wasm-section@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz#74ca6a6bcbe19e50a3b6b462847e69503e6bfcbf" - integrity sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-buffer" "1.8.5" - "@webassemblyjs/helper-wasm-bytecode" "1.8.5" - "@webassemblyjs/wasm-gen" "1.8.5" - "@webassemblyjs/ieee754@1.7.11": version "1.7.11" resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.7.11.tgz#c95839eb63757a31880aaec7b6512d4191ac640b" @@ -2297,13 +2238,6 @@ dependencies: "@xtuc/ieee754" "^1.2.0" -"@webassemblyjs/ieee754@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz#712329dbef240f36bf57bd2f7b8fb9bf4154421e" - integrity sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g== - dependencies: - "@xtuc/ieee754" "^1.2.0" - "@webassemblyjs/leb128@1.7.11": version "1.7.11" resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.7.11.tgz#d7267a1ee9c4594fd3f7e37298818ec65687db63" @@ -2311,23 +2245,11 @@ dependencies: "@xtuc/long" "4.2.1" -"@webassemblyjs/leb128@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.8.5.tgz#044edeb34ea679f3e04cd4fd9824d5e35767ae10" - integrity sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A== - dependencies: - "@xtuc/long" "4.2.2" - "@webassemblyjs/utf8@1.7.11": version "1.7.11" resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.7.11.tgz#06d7218ea9fdc94a6793aa92208160db3d26ee82" integrity sha512-C6GFkc7aErQIAH+BMrIdVSmW+6HSe20wg57HEC1uqJP8E/xpMjXqQUxkQw07MhNDSDcGpxI9G5JSNOQCqJk4sA== -"@webassemblyjs/utf8@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.8.5.tgz#a8bf3b5d8ffe986c7c1e373ccbdc2a0915f0cedc" - integrity sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw== - "@webassemblyjs/wasm-edit@1.7.11": version "1.7.11" resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.11.tgz#8c74ca474d4f951d01dbae9bd70814ee22a82005" @@ -2342,20 +2264,6 @@ "@webassemblyjs/wasm-parser" "1.7.11" "@webassemblyjs/wast-printer" "1.7.11" -"@webassemblyjs/wasm-edit@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz#962da12aa5acc1c131c81c4232991c82ce56e01a" - integrity sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-buffer" "1.8.5" - "@webassemblyjs/helper-wasm-bytecode" "1.8.5" - "@webassemblyjs/helper-wasm-section" "1.8.5" - "@webassemblyjs/wasm-gen" "1.8.5" - "@webassemblyjs/wasm-opt" "1.8.5" - "@webassemblyjs/wasm-parser" "1.8.5" - "@webassemblyjs/wast-printer" "1.8.5" - "@webassemblyjs/wasm-gen@1.7.11": version "1.7.11" resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.11.tgz#9bbba942f22375686a6fb759afcd7ac9c45da1a8" @@ -2367,17 +2275,6 @@ "@webassemblyjs/leb128" "1.7.11" "@webassemblyjs/utf8" "1.7.11" -"@webassemblyjs/wasm-gen@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz#54840766c2c1002eb64ed1abe720aded714f98bc" - integrity sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-wasm-bytecode" "1.8.5" - "@webassemblyjs/ieee754" "1.8.5" - "@webassemblyjs/leb128" "1.8.5" - "@webassemblyjs/utf8" "1.8.5" - "@webassemblyjs/wasm-opt@1.7.11": version "1.7.11" resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.11.tgz#b331e8e7cef8f8e2f007d42c3a36a0580a7d6ca7" @@ -2388,16 +2285,6 @@ "@webassemblyjs/wasm-gen" "1.7.11" "@webassemblyjs/wasm-parser" "1.7.11" -"@webassemblyjs/wasm-opt@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz#b24d9f6ba50394af1349f510afa8ffcb8a63d264" - integrity sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-buffer" "1.8.5" - "@webassemblyjs/wasm-gen" "1.8.5" - "@webassemblyjs/wasm-parser" "1.8.5" - "@webassemblyjs/wasm-parser@1.7.11": version "1.7.11" resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.11.tgz#6e3d20fa6a3519f6b084ef9391ad58211efb0a1a" @@ -2410,18 +2297,6 @@ "@webassemblyjs/leb128" "1.7.11" "@webassemblyjs/utf8" "1.7.11" -"@webassemblyjs/wasm-parser@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz#21576f0ec88b91427357b8536383668ef7c66b8d" - integrity sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-api-error" "1.8.5" - "@webassemblyjs/helper-wasm-bytecode" "1.8.5" - "@webassemblyjs/ieee754" "1.8.5" - "@webassemblyjs/leb128" "1.8.5" - "@webassemblyjs/utf8" "1.8.5" - "@webassemblyjs/wast-parser@1.7.11": version "1.7.11" resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.7.11.tgz#25bd117562ca8c002720ff8116ef9072d9ca869c" @@ -2434,18 +2309,6 @@ "@webassemblyjs/helper-fsm" "1.7.11" "@xtuc/long" "4.2.1" -"@webassemblyjs/wast-parser@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz#e10eecd542d0e7bd394f6827c49f3df6d4eefb8c" - integrity sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/floating-point-hex-parser" "1.8.5" - "@webassemblyjs/helper-api-error" "1.8.5" - "@webassemblyjs/helper-code-frame" "1.8.5" - "@webassemblyjs/helper-fsm" "1.8.5" - "@xtuc/long" "4.2.2" - "@webassemblyjs/wast-printer@1.7.11": version "1.7.11" resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.7.11.tgz#c4245b6de242cb50a2cc950174fdbf65c78d7813" @@ -2455,15 +2318,6 @@ "@webassemblyjs/wast-parser" "1.7.11" "@xtuc/long" "4.2.1" -"@webassemblyjs/wast-printer@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz#114bbc481fd10ca0e23b3560fa812748b0bae5bc" - integrity sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/wast-parser" "1.8.5" - "@xtuc/long" "4.2.2" - "@xtuc/ieee754@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" @@ -2474,11 +2328,6 @@ resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.1.tgz#5c85d662f76fa1d34575766c5dcd6615abcd30d8" integrity sha512-FZdkNBDqBRHKQ2MEbSC17xnPFOhZxeJ2YGSfr2BKf3sujG49Qe3bB+rGCwQfIaA7WHnGeGkSijX4FuBCdrzW/g== -"@xtuc/long@4.2.2": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" - integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== - JSONStream@^1.0.4, JSONStream@^1.3.4, JSONStream@^1.3.5: version "1.3.5" resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" @@ -2512,11 +2361,6 @@ acorn-dynamic-import@^3.0.0: dependencies: acorn "^5.0.0" -acorn-dynamic-import@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz#482210140582a36b83c3e342e1cfebcaa9240948" - integrity sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw== - acorn-globals@^4.1.0: version "4.3.2" resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.2.tgz#4e2c2313a597fd589720395f6354b41cd5ec8006" @@ -2540,7 +2384,7 @@ acorn@^5.0.0, acorn@^5.5.3, acorn@^5.6.2: resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279" integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw== -acorn@^6.0.1, acorn@^6.0.5, acorn@^6.0.7: +acorn@^6.0.1, acorn@^6.0.7: version "6.1.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.1.1.tgz#7d25ae05bb8ad1f9b699108e1094ecd7884adc1f" integrity sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA== @@ -5336,11 +5180,6 @@ detab@^2.0.0: dependencies: repeat-string "^1.5.4" -detect-file@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" - integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc= - detect-indent@^5.0.0, detect-indent@~5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d" @@ -6728,16 +6567,6 @@ find-versions@^3.0.0: array-uniq "^2.1.0" semver-regex "^2.0.0" -findup-sync@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-2.0.0.tgz#9326b1488c22d1a6088650a86901b2d9a90a2cbc" - integrity sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw= - dependencies: - detect-file "^1.0.0" - is-glob "^3.1.0" - micromatch "^3.0.4" - resolve-dir "^1.0.1" - flat-cache@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" @@ -8627,11 +8456,6 @@ internal-ip@^4.3.0: default-gateway "^4.2.0" ipaddr.js "^1.9.0" -interpret@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296" - integrity sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw== - into-stream@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/into-stream/-/into-stream-3.1.0.tgz#96fb0a936c12babd6ff1752a17d05616abd094c6" @@ -10647,11 +10471,6 @@ makeerror@1.0.x: dependencies: tmpl "1.0.x" -mamacro@^0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/mamacro/-/mamacro-0.0.3.tgz#ad2c9576197c9f1abf308d0787865bd975a3f3e4" - integrity sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA== - map-age-cleaner@^0.1.1: version "0.1.3" resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" @@ -10900,7 +10719,7 @@ methods@~1.1.2: resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= -micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.8: +micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.8: version "3.1.10" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== @@ -14142,7 +13961,7 @@ resolve-cwd@^2.0.0: dependencies: resolve-from "^3.0.0" -resolve-dir@^1.0.0, resolve-dir@^1.0.1: +resolve-dir@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" integrity sha1-eaQGRMNivoLybv/nOcm7U4IEb0M= @@ -16380,11 +16199,6 @@ v8-compile-cache@^1.1.0: resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-1.1.2.tgz#8d32e4f16974654657e676e0e467a348e89b0dc4" integrity sha512-ejdrifsIydN1XDH7EuR2hn8ZrkRKUYF7tUcBjBy/lhrCvs2K+zRlbW9UHc0IQ9RsYFZJFqJrieoIHfkCa0DBRA== -v8-compile-cache@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.0.3.tgz#00f7494d2ae2b688cfe2899df6ed2c54bef91dbe" - integrity sha512-CNmdbwQMBjwr9Gsmohvm0pbL954tJrNzf6gWL3K+QMQf00PF7ERGrEiLgjuU3mKreLC2MeGhUsNV9ybTbLgd3w== - valid-url@^1.0.9: version "1.0.9" resolved "https://registry.yarnpkg.com/valid-url/-/valid-url-1.0.9.tgz#1c14479b40f1397a75782f115e4086447433a200" @@ -16507,23 +16321,6 @@ webidl-conversions@^4.0.2: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== -webpack-cli@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-3.3.2.tgz#aed2437b0db0a7faa2ad28484e166a5360014a91" - integrity sha512-FLkobnaJJ+03j5eplxlI0TUxhGCOdfewspIGuvDVtpOlrAuKMFC57K42Ukxqs1tn8947/PM6tP95gQc0DCzRYA== - dependencies: - chalk "^2.4.1" - cross-spawn "^6.0.5" - enhanced-resolve "^4.1.0" - findup-sync "^2.0.0" - global-modules "^1.0.0" - import-local "^2.0.0" - interpret "^1.1.0" - loader-utils "^1.1.0" - supports-color "^5.5.0" - v8-compile-cache "^2.0.2" - yargs "^12.0.5" - webpack-dev-middleware@^3.0.1, webpack-dev-middleware@^3.7.0: version "3.7.0" resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.0.tgz#ef751d25f4e9a5c8a35da600c5fda3582b5c6cff" @@ -16608,36 +16405,6 @@ webpack-stats-plugin@^0.1.5: resolved "https://registry.yarnpkg.com/webpack-stats-plugin/-/webpack-stats-plugin-0.1.5.tgz#29e5f12ebfd53158d31d656a113ac1f7b86179d9" integrity sha1-KeXxLr/VMVjTHWVqETrB97hhedk= -webpack@^4.32.2: - version "4.32.2" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.32.2.tgz#3639375364a617e84b914ddb2c770aed511e5bc8" - integrity sha512-F+H2Aa1TprTQrpodRAWUMJn7A8MgDx82yQiNvYMaj3d1nv3HetKU0oqEulL9huj8enirKi8KvEXQ3QtuHF89Zg== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-module-context" "1.8.5" - "@webassemblyjs/wasm-edit" "1.8.5" - "@webassemblyjs/wasm-parser" "1.8.5" - acorn "^6.0.5" - acorn-dynamic-import "^4.0.0" - ajv "^6.1.0" - ajv-keywords "^3.1.0" - chrome-trace-event "^1.0.0" - enhanced-resolve "^4.1.0" - eslint-scope "^4.0.0" - json-parse-better-errors "^1.0.2" - loader-runner "^2.3.0" - loader-utils "^1.1.0" - memory-fs "~0.4.1" - micromatch "^3.1.8" - mkdirp "~0.5.0" - neo-async "^2.5.0" - node-libs-browser "^2.0.0" - schema-utils "^1.0.0" - tapable "^1.1.0" - terser-webpack-plugin "^1.1.0" - watchpack "^1.5.0" - webpack-sources "^1.3.0" - webpack@~4.28.4: version "4.28.4" resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.28.4.tgz#1ddae6c89887d7efb752adf0c3cd32b9b07eacd0"