refactor: refactor all packages export

This commit is contained in:
chenshenhai 2022-02-27 21:17:42 +08:00
parent 32b02e9ff7
commit e315be24ff
39 changed files with 93 additions and 90 deletions

View file

@ -4,7 +4,7 @@
"scripts": {
"start": "node ./scripts/dev-vite.js",
"dev": "node ./scripts/dev-rollup.js",
"build": "npm run build:bundle && npm run build:min",
"build": "npm run build:mod && npm run build:bundle && npm run build:min",
"build:bundle": "NODE_ENV=production BUILD_MODE=reset node ./scripts/build-bundle.js",
"build:mod": "node ./scripts/build-module.js",
"build:min": "node ./scripts/minify.js",

View file

@ -5,7 +5,7 @@ import { doScroll } from "./lib/scroll.js";
import { initEvent } from "./lib/event.js";
import { doCursor } from "./lib/action.js";
const Board = window.iDrawBoard;
const { Board } = window.iDrawBoard;
const mount = document.querySelector("#mount");
const board = new Board(mount, opts);

View file

@ -110,7 +110,7 @@
<script type="module">
import event from './../../../../scripts/browser/event.js';
(async function() {
const Board = window.iDrawBoard;
const { Board } = window.iDrawBoard;
const mount1 = document.querySelector('#mount-1');
const mount2 = document.querySelector('#mount-2');
const board = new Board(mount1, opts);

View file

@ -78,7 +78,7 @@
<script>
(function () {
const Board = window.iDrawBoard;
const { Board } = window.iDrawBoard;
const mount = document.querySelector('#mount-1');
const board = new Board(mount, {
width: 300,
@ -96,7 +96,7 @@
<script>
(function() {
const Board = window.iDrawBoard;
const { Board } = window.iDrawBoard;
const mount = document.querySelector('#mount-2');
const opts = {
width: 300,

View file

@ -87,7 +87,7 @@
<script>
(function () {
const Board = window.iDrawBoard;
const { Board } = window.iDrawBoard;
const mount = document.querySelector('#mount-1');
const board = new Board(mount, {
width: 300,
@ -105,7 +105,7 @@
</script>
<script>
(function() {
const Board = window.iDrawBoard;
const { Board } = window.iDrawBoard;
const mount = document.querySelector('#mount-2');
const board = new Board(mount, {
width: 300,
@ -126,7 +126,7 @@
<script>
(function() {
const Board = window.iDrawBoard;
const { Board } = window.iDrawBoard;
const mount = document.querySelector('#mount-3');
const board = new Board(mount, {
width: 300,
@ -148,7 +148,7 @@
<script>
(function() {
const Board = window.iDrawBoard;
const { Board } = window.iDrawBoard;
const mount = document.querySelector('#mount-4');
const board = new Board(mount, {
width: 300,
@ -167,7 +167,7 @@
<script>
(function() {
const Board = window.iDrawBoard;
const { Board } = window.iDrawBoard;
const mount = document.querySelector('#mount-5');
const opts = {
width: 300,

View file

@ -98,7 +98,7 @@
</script>
<script>
(function() {
const Board = window.iDrawBoard;
const { Board } = window.iDrawBoard;
const mount = document.querySelector('#mount-1');
const board = new Board(mount, opts);
// board.on('wheelX', (deltaX) => {
@ -128,7 +128,7 @@
<script type="module">
import event from './../../../../scripts/browser/event.js';
(function() {
const Board = window.iDrawBoard;
const { Board } = window.iDrawBoard;
const mount = document.querySelector('#mount-2');
const board = new Board(mount, opts);
drawBoard(board)

View file

@ -11,7 +11,9 @@
},
"files": [
"dist/*.ts",
"dist/*.js"
"dist/*.js",
"esm/*.ts",
"esm/*.js"
],
"repository": {
"type": "git",

View file

@ -1,3 +1 @@
import { Board } from './index';
export default Board;
export * as default from './index';

View file

@ -1,5 +1,3 @@
import { Board } from './index';
export * from './index';
export default Board;
export * as default from './index';

View file

@ -2,13 +2,16 @@ import {
TypeScreenPosition, TypeScreenSize, TypeScreenContext, TypePoint, TypePointCursor,
TypeBoardOptions, TypeBoardSizeOptions, TypeContext,
} from '@idraw/types';
import { throttle, Context } from '@idraw/util';
import util from '@idraw/util';
import { ScreenWatcher } from './lib/screen-watcher';
import { setStyle } from './lib/style';
import { TypeBoardEventArgMap } from './lib/event';
import { Scroller } from './lib/scroller';
import { Screen } from './lib/screen';
// import { TempData } from './lib/temp';
const { throttle, Context } = util;
import {
_canvas, _displayCanvas, _mount, _opts, _hasRendered, _ctx,
_watcher, _render, _parsePrivateOptions, _scroller, _helperCanvas, _helperCtx,

View file

@ -3,7 +3,7 @@ import { doScale } from './scale.js';
import { doScroll } from './scroll.js';
import { doElemens } from './element.js';
const Core = window.iDrawCore;
const { Core } = window.iDrawCore;
const data = getData();
const mount = document.querySelector('#mount');

View file

@ -107,7 +107,7 @@
window.getData = getData;
</script>
<script>
var Core = window.iDrawCore;
const { Core } = window.iDrawCore;
var opts = {
width: 300,
height: 200,

View file

@ -80,7 +80,7 @@
window.getData = getData;
</script>
<script>
var Core = window.iDrawCore;
const { Core } = window.iDrawCore;
var opts = {
width: 300,
height: 200,

View file

@ -50,7 +50,7 @@
<script src="./../../dist/index.global.js"></script>
<script>
var Core = window.iDrawCore;
const { Core } = window.iDrawCore;
var opts = {
width: 300,
height: 200,

View file

@ -67,7 +67,7 @@
<script src="./../../dist/index.global.js"></script>
<script>
var Core = window.iDrawCore;
const { Core } = window.iDrawCore;
var opts = {
width: 300,
height: 200,

View file

@ -3,7 +3,7 @@
"version": "0.2.0-alpha.26",
"description": "",
"main": "dist/index.cjs.js",
"module": "dist/index.es.js",
"module": "dist/index.esm.js",
"unpkg": "dist/index.global.js",
"types": "dist/index.d.ts",
"scripts": {
@ -11,7 +11,9 @@
},
"files": [
"dist/*.ts",
"dist/*.js"
"dist/*.js",
"esm/*.ts",
"esm/*.js"
],
"repository": {
"type": "git",

View file

@ -0,0 +1,2 @@
export * as default from './index';

3
packages/core/src/esm.ts Normal file
View file

@ -0,0 +1,3 @@
export * from './index';
export * as default from './index';

View file

@ -3,9 +3,9 @@ import {
TypeConfig, TypeConfigStrict, TypeElementBase,
TypeElement, TypeElemDesc, TypeContext, TypeCoreOptions, TypeScreenContext, TypeScreenData,
} from '@idraw/types';
import Board from '@idraw/board';
import util from '@idraw/util';
import Renderer from '@idraw/renderer';
import { Board } from '@idraw/board';
import { deepClone } from '@idraw/util';
import { Renderer } from '@idraw/renderer';
import is, { TypeIs } from './lib/is';
import check, { TypeCheck } from './lib/check';
import {
@ -23,9 +23,8 @@ import { getSelectedElements, updateElement, selectElementByIndex, getElement, g
// import { initEvent } from './mixins/event';
import { Engine } from './lib/engine';
import { drawElementWrapper, drawAreaWrapper, drawElementListWrappers } from './lib/draw/wrapper'
const { deepClone } = util.data;
class Core {
export class Core {
private [_board]: Board;
private [_data]: TypeData;
@ -264,5 +263,3 @@ class Core {
}
}
}
export default Core;

View file

@ -1,5 +1,5 @@
import { TypeConfig, TypeConfigStrict } from '@idraw/types';
import util from '@idraw/util';
import { deepClone } from '@idraw/util';
const defaultConfig: TypeConfigStrict = {
elementWrapper: {
@ -12,7 +12,7 @@ const defaultConfig: TypeConfigStrict = {
};
function mergeConfig(config?: TypeConfig): TypeConfigStrict {
const result = util.data.deepClone(defaultConfig);
const result = deepClone(defaultConfig);
if (config) {
if (config.elementWrapper) {
result.elementWrapper = {...result.elementWrapper, ...config.elementWrapper};

View file

@ -3,12 +3,10 @@ import {
// TypeElemDesc,
TypeElement,
} from '@idraw/types';
import util from '@idraw/util';
import { istype, isColorStr } from '@idraw/util';
import { rotateElement } from './../transform';
import is from './../is';
const { istype, color } = util;
export function clearContext(ctx: TypeContext) {
// ctx.setFillStyle('rgb(0 0 0 / 100%)');
// ctx.setStrokeStyle('rgb(0 0 0 / 100%)');
@ -71,7 +69,7 @@ export function drawBoxBorder(
}
const bw = elem.desc.borderWidth;
let borderColor = '#000000';
if (color.isColorStr(elem.desc.borderColor) === true) {
if (isColorStr(elem.desc.borderColor) === true) {
borderColor = elem.desc.borderColor as string;
}
const x = elem.x - bw / 2;
@ -85,7 +83,7 @@ export function drawBoxBorder(
r = r + bw / 2;
}
const { desc } = elem;
if (desc.shadowColor !== undefined && util.color.isColorStr(desc.shadowColor)) {
if (desc.shadowColor !== undefined && isColorStr(desc.shadowColor)) {
ctx.setShadowColor(desc.shadowColor);
}
if (desc.shadowOffsetX !== undefined && is.number(desc.shadowOffsetX)) {

View file

@ -6,13 +6,12 @@ import {
TypeElement,
TypeElemDesc,
} from '@idraw/types';
import util from '@idraw/util';
import { createUUID } from '@idraw/util';
import { rotateElement } from './transform';
import { calcRadian, calcElementCenter, parseRadianToAngle } from './calculate';
import { limitAngle, limitNum } from './value';
import { LIMIT_QBLIQUE_ANGLE } from './../constant/element';
const { createUUID } = util.uuid;
const limitQbliqueAngle = LIMIT_QBLIQUE_ANGLE;
export class Element {

View file

@ -2,16 +2,14 @@ import {
TypePoint, TypeHelperWrapperControllerDirection,InterfaceHelperPlugin,
TypeConfigStrict, TypeData, TypeHelperConfig,
} from '@idraw/types';
import util from '@idraw/util';
import Board from '@idraw/board';
import { deepClone, throttle } from '@idraw/util';
import { Board } from '@idraw/board';
import { Mode, CursorStatus } from './../constant/static';
import { TempData } from './engine-temp';
import { Helper } from './helper';
import { Mapper } from './mapper';
import { Element } from './element';
import { CoreEvent } from './core-event';
const { time } = util;
const { deepClone } = util.data;
type Options = {
coreEvent: CoreEvent,
@ -80,13 +78,13 @@ export class Engine {
}
const { board } = this._opts;
board.on('hover', time.throttle(this._handleHover.bind(this), 32));
board.on('leave', time.throttle(this._handleLeave.bind(this), 32));
board.on('point', time.throttle(this._handleClick.bind(this), 16));
board.on('hover', throttle(this._handleHover.bind(this), 32));
board.on('leave', throttle(this._handleLeave.bind(this), 32));
board.on('point', throttle(this._handleClick.bind(this), 16));
board.on('doubleClick', this._handleDoubleClick.bind(this));
board.on('point', this._handlePoint.bind(this));
board.on('moveStart', this._handleMoveStart.bind(this));
board.on('move', time.throttle(this._handleMove.bind(this), 16));
board.on('move', throttle(this._handleMove.bind(this), 16));
board.on('moveEnd', this._handleMoveEnd.bind(this));
}

View file

@ -4,15 +4,14 @@ import {
TypeElemDesc, TypeContext, TypePoint, TypeConfigStrict,
TypeHeplerSelectedElementWrapper
} from '@idraw/types';
import Board from '@idraw/board';
import util from '@idraw/util';
import { Board } from '@idraw/board';
import { deepClone } from '@idraw/util';
import { parseAngleToRadian, calcElementCenter } from './calculate';
import { rotateContext, rotateElement } from './transform';
import { LIMIT_QBLIQUE_ANGLE } from './../constant/element';
const limitQbliqueAngle = LIMIT_QBLIQUE_ANGLE;
const { deepClone } = util.data;
export class Helper implements TypeHelper {
@ -89,7 +88,7 @@ export class Helper implements TypeHelper {
'bottom',
'bottom-right',
];
let hoverDirectionNames = util.data.deepClone(directionNames);
let hoverDirectionNames = deepClone(directionNames);
let angleMoveNum = 0;
if (data && uuid) {

View file

@ -1,8 +1,5 @@
import util from "@idraw/util";
const { isColorStr } = util.color;
import { isColorStr } from "@idraw/util";
function number(value: any) {
return (typeof value === 'number' && (value > 0 || value <= 0));

View file

@ -1,5 +1,5 @@
import { TypeData, TypePoint, TypePointCursor } from '@idraw/types';
import Board from '@idraw/board';
import { Board } from '@idraw/board';
import { Helper } from './helper';
import { Element } from './element';

View file

@ -1,18 +1,16 @@
import {
TypeElement, TypeElemDesc, TypeElementBase,
} from '@idraw/types';
import util from '@idraw/util';
import { deepClone, createUUID } from '@idraw/util';
import {
_board, _data, _opts, _config, _renderer, _element, _engine,
_tempData, _draw, _coreEvent, _emitChangeScreen, _emitChangeData,
} from './../names';
import { diffElementResourceChange } from './../lib/diff';
import Core from './../index';
import { Core } from './../index';
import { Mode } from './../constant/static';
// const { time } = util;
const { deepClone } = util.data;
const { createUUID } = util.uuid;
export function getSelectedElements(core: Core): TypeElement<keyof TypeElemDesc>[] {
const elems: TypeElement<keyof TypeElemDesc>[] = [];

View file

@ -2,7 +2,7 @@ import {
InterfaceHelperPlugin, TypeHelperPluginEventDetail,
TypeHelperPluginEventResult,
} from '@idraw/types';
import util from '@idraw/util';
import { createUUID } from '@idraw/util';
export class HelperPlugin implements Required<InterfaceHelperPlugin> {
@ -13,7 +13,7 @@ export class HelperPlugin implements Required<InterfaceHelperPlugin> {
constructor() {
// TODO
this.uuid = util.uuid.createUUID();
this.uuid = createUUID();
}
onHover(detail: TypeHelperPluginEventDetail): void | TypeHelperPluginEventResult {

View file

@ -11,7 +11,9 @@
},
"files": [
"dist/*.ts",
"dist/*.js"
"dist/*.js",
"esm/*.ts",
"esm/*.js"
],
"repository": {
"type": "git",

View file

@ -0,0 +1,3 @@
import iDraw from './index';
export default iDraw;

View file

@ -0,0 +1,3 @@
import iDraw from './index';
export default iDraw;

View file

@ -1,4 +1,4 @@
import Core from '@idraw/core';
import { Core } from '@idraw/core';
import { TypeData, TypeConfig, } from '@idraw/types';
import { Options, PrivateOptions } from './types';
import { defaultOptions } from './config';
@ -15,7 +15,7 @@ import { copyElements, pasteElements, cutElements, deleteElements,
} from './mixins/keyboard';
// import { version } from './../package.json';
class iDraw extends Core {
export default class iDraw extends Core {
private [_opts]: PrivateOptions;
private [_hasInited] = false;
@ -95,6 +95,4 @@ class iDraw extends Core {
return { ...{}, ...defaultOptions, ...opts };
}
}
export default iDraw;
}

View file

@ -1,4 +1,4 @@
import util from '@idraw/util';
import { deepClone } from '@idraw/util';
import { TypeElement, TypeElemDesc } from '@idraw/types';
import iDraw from './../index';
import { _tempData } from './../names';
@ -7,7 +7,7 @@ export function copyElements(idraw: iDraw) {
if (idraw[_tempData].get('isFocus') !== true) {
return;
}
const elems = util.data.deepClone(idraw.getSelectedElements());
const elems = deepClone(idraw.getSelectedElements());
idraw[_tempData].set('clipboardElements', elems);
}
@ -29,7 +29,7 @@ export function cutElements(idraw: iDraw) {
if (idraw[_tempData].get('isFocus') !== true) {
return;
}
const elems = util.data.deepClone(idraw.getSelectedElements());
const elems = deepClone(idraw.getSelectedElements());
elems.forEach((elem: TypeElement<keyof TypeElemDesc>) => {
idraw.deleteElement(elem.uuid);
})
@ -40,7 +40,7 @@ export function deleteElements(idraw: iDraw) {
if (idraw[_tempData].get('isFocus') !== true) {
return;
}
const elems = util.data.deepClone(idraw.getSelectedElements());
const elems = deepClone(idraw.getSelectedElements());
elems.forEach((elem: TypeElement<keyof TypeElemDesc>) => {
idraw.deleteElement(elem.uuid);
});
@ -50,7 +50,7 @@ export function deleteElements(idraw: iDraw) {
const keyArrowMoveDistance = 4;
export function keyArrowUp(idraw: iDraw) {
const elems = util.data.deepClone(idraw.getSelectedElements());
const elems = deepClone(idraw.getSelectedElements());
if (elems.length > 0) {
elems.forEach((elem: TypeElement<keyof TypeElemDesc>) => {
elem.y -= keyArrowMoveDistance;
@ -63,7 +63,7 @@ export function keyArrowUp(idraw: iDraw) {
}
export function keyArrowDown(idraw: iDraw) {
const elems = util.data.deepClone(idraw.getSelectedElements());
const elems = deepClone(idraw.getSelectedElements());
if (elems.length > 0) {
elems.forEach((elem: TypeElement<keyof TypeElemDesc>) => {
elem.y += keyArrowMoveDistance;
@ -76,7 +76,7 @@ export function keyArrowDown(idraw: iDraw) {
}
export function keyArrowLeft(idraw: iDraw) {
const elems = util.data.deepClone(idraw.getSelectedElements());
const elems = deepClone(idraw.getSelectedElements());
if (elems.length > 0) {
elems.forEach((elem: TypeElement<keyof TypeElemDesc>) => {
elem.x -= keyArrowMoveDistance;
@ -89,7 +89,7 @@ export function keyArrowLeft(idraw: iDraw) {
}
export function keyArrowRight(idraw: iDraw) {
const elems = util.data.deepClone(idraw.getSelectedElements());
const elems = deepClone(idraw.getSelectedElements());
if (elems.length > 0) {
elems.forEach((elem: TypeElement<keyof TypeElemDesc>) => {
elem.x += keyArrowMoveDistance;

View file

@ -4,7 +4,7 @@ import { getData } from './data/index.js';
// const Context = util.Context;
const Context = iDrawUtil.Context;
const Renderer = window.iDrawRenderer;
const { Renderer } = window.iDrawRenderer;
const data = getData();
const canvas = document.querySelector('#canvas');
const opts = {

View file

@ -11,7 +11,9 @@
},
"files": [
"dist/*.ts",
"dist/*.js"
"dist/*.js",
"esm/*.ts",
"esm/*.js"
],
"repository": {
"type": "git",

View file

@ -1,3 +1 @@
import { Renderer } from './index';
export default Renderer;
export * as default from './index';

View file

@ -1,5 +1,3 @@
import { Renderer } from './index';
export * from './index';
export default Renderer;
export * as default from './index';

View file

@ -1,4 +1,6 @@
const ts = require('typescript');
const path = require('path');
const fs = require('fs-extra');
// const babel = require('@babel/core');
const glob = require("glob");
const { packages } = require('./config');
@ -8,6 +10,9 @@ build();
async function build() {
packages.forEach(async (pkg) => {
const target = pkg.dirName;
const pkgDir = path.resolve(`packages/${target}`);
await fs.remove(`${pkgDir}/esm`);
buildPackage(pkg.dirName);
});
}