Commit 21c2b4eb authored by rockyl's avatar rockyl

。。。

parent f4df8017
{"id":"svga","url":"svga.bbb584f45f3ee647d0611653cb854c5d5bb8fb47.js"} {"id":"svga","url":"svga.min.d3b9a98c65e2f0b7bb96128bc59f79a5e1af57d4.js","url_dbg":"svga.f66ee70b5b7daa6a7e61e12ad56ad7f61c2b0bd8.js"}
\ No newline at end of file \ No newline at end of file
{ {
"name": "renderingengine-svga", "name": "engine-svga",
"version": "1.0.0", "version": "1.0.0",
"main": "index.js", "main": "index.js",
"license": "MIT", "license": "MIT",
...@@ -16,12 +16,15 @@ ...@@ -16,12 +16,15 @@
"typescript": "^3.7.3" "typescript": "^3.7.3"
}, },
"scripts": { "scripts": {
"declare": "node scripts/declare.js src/svga/index.ts", "dts": "node scripts/declare.js src/svga/index.ts",
"rollup": "rollup -c -o dist/svga.js", "dev": "rollup -c -m -w",
"rollup:prod": "rollup -c -o dist/svga.js --environment BUILD:production", "build": "rollup -c -o dist/svga.js",
"rollup:debug": "rollup -c -m ", "build:prod": "rollup -c -o dist/svga.min.js --environment BUILD:production",
"preprocess": "node scripts/pre-process.js svga dist/svga.js", "preprocess:prod": "node scripts/pre-process.js svga dist/svga.min.js prod",
"build": "rm -rf dist&&yarn rollup:prod && yarn preprocess && ali-oss-publish -c oss.config.js -e dist", "preprocess:debug": "node scripts/pre-process.js svga dist/svga.js",
"build:debug": "rm -rf dist&&yarn rollup && yarn preprocess && ali-oss-publish -c oss.config.js -e dist" "pack:prod": "yarn build:prod && yarn preprocess:prod",
"pack:debug": "yarn build && yarn preprocess:debug",
"upload": "ali-oss-publish -c oss.config.js -e dist",
"publish": "rm -rf dist && yarn pack:debug && yarn pack:prod && yarn upload"
} }
} }
...@@ -8,7 +8,7 @@ const progress = require('rollup-plugin-progress'); ...@@ -8,7 +8,7 @@ const progress = require('rollup-plugin-progress');
const typescript = require('rollup-plugin-typescript'); const typescript = require('rollup-plugin-typescript');
const {uglify} = require('rollup-plugin-uglify'); const {uglify} = require('rollup-plugin-uglify');
const options = { export default {
input: 'src/index.ts', input: 'src/index.ts',
output: [ output: [
{ {
...@@ -22,17 +22,12 @@ const options = { ...@@ -22,17 +22,12 @@ const options = {
], ],
plugins: [ plugins: [
progress(), progress(),
resolve({}),
typescript({ typescript({
//useTsconfigDeclarationDir: true, //useTsconfigDeclarationDir: true,
}), }),
resolve({}),
commonjs(), commonjs(),
process.env.BUILD === 'production' && uglify({})
], ],
external: ['tslib'], external: ['tslib'],
}; };
if(process.env.BUILD === 'production'){
options.plugins.push(uglify({}));
}
export default options;
...@@ -49,7 +49,7 @@ ${allExports} ...@@ -49,7 +49,7 @@ ${allExports}
} }
`; `;
fs.writeFileSync('debug/svga.d.ts', content); fs.writeFileSync('svga.d.ts', content);
} }
compile(process.argv.slice(2), { compile(process.argv.slice(2), {
......
...@@ -6,7 +6,7 @@ const crypto = require('crypto'); ...@@ -6,7 +6,7 @@ const crypto = require('crypto');
const fs = require('fs'); const fs = require('fs');
const path = require('path'); const path = require('path');
const [_, __, id, fileName] = process.argv; const [_, __, id, fileName, isProd] = process.argv;
const stream = fs.createReadStream(fileName); const stream = fs.createReadStream(fileName);
const fsHash = crypto.createHash('sha1'); const fsHash = crypto.createHash('sha1');
...@@ -26,10 +26,16 @@ function loadComplete(md5) { ...@@ -26,10 +26,16 @@ function loadComplete(md5) {
const newFileName = fileName.substr(0, extIndex + 1) + md5 + fileName.substr(extIndex); const newFileName = fileName.substr(0, extIndex + 1) + md5 + fileName.substr(extIndex);
fs.renameSync(fileName, newFileName); fs.renameSync(fileName, newFileName);
let manifest = { let manifest;
id, if (fs.existsSync('manifest.json')) {
url: path.basename(newFileName), manifest = JSON.parse(fs.readFileSync('manifest.json', 'utf-8'));
}; } else {
manifest = {
id,
};
}
manifest[isProd ? 'url' : 'url_dbg'] = path.basename(newFileName);
fs.writeFileSync('manifest.json', JSON.stringify(manifest)); fs.writeFileSync('manifest.json', JSON.stringify(manifest));
} }
export * from "./svga/index"; export * from "./svga/index";
\ No newline at end of file
...@@ -37,7 +37,7 @@ export class Svga extends MovieClip { ...@@ -37,7 +37,7 @@ export class Svga extends MovieClip {
needLoad = false; needLoad = false;
} }
} }
if(needLoad){ if (needLoad) {
engine.globalLoader['loadSvga'](value) engine.globalLoader['loadSvga'](value)
.then(mv => { .then(mv => {
this.init(mv); this.init(mv);
...@@ -47,9 +47,17 @@ export class Svga extends MovieClip { ...@@ -47,9 +47,17 @@ export class Svga extends MovieClip {
} }
} }
private _dataInitialized(){ protected __cloneSelf() {
setTimeout(()=>{ return new Svga();
if(this.autoPlay){ }
clone(withEvents = false, withScripts = false) {
return super.clone(withEvents, withScripts, false);
}
private _dataInitialized() {
setTimeout(() => {
if (this.autoPlay) {
this.play(); this.play();
} }
}) })
......
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
declare module svga{
export class BezierPath {
_d: any;
_transform: any;
_styles: any;
_shape: any;
constructor(d?: any, transform?: any, styles?: any);
}
export class FrameEntity {
alpha: number;
transform: {
a: number;
b: number;
c: number;
d: number;
tx: number;
ty: number;
};
layout: {
x: number;
y: number;
width: number;
height: number;
};
nx: number;
ny: number;
/**
* BezierPath
*/
maskPath: any;
/**
* Object[]
*/
shapes: any[];
constructor(spec: any);
static lastShapes: any;
}
export class SpriteEntity {
/**
* string
*/
matteKey: any;
/**
* string
*/
imageKey: any;
/**
* FrameEntity[]
*/
frames: any[];
constructor(spec: any);
}
export function asPromise(fn: Function, ctx: any, ...args: any[]): Promise<any>;
export namespace asPromise {
export { writeFloatLE, writeFloatBE, readFloatLE, readFloatBE, writeDoubleLE, writeDoubleBE, readDoubleLE, readDoubleBE };
}
export { writeFloatLE, writeFloatBE, readFloatLE, readFloatBE, writeDoubleLE, writeDoubleBE, readDoubleLE, readDoubleBE };
export var writeFloatLE: any;
export var writeFloatBE: any;
export var readFloatLE: any;
export var readFloatBE: any;
export var writeDoubleLE: any;
export var writeDoubleBE: any;
export var readDoubleLE: any;
export var readDoubleBE: any;
export const proto: any;
export const ProtoMovieEntity: any;
export function assign(obj: any, objO: any): any;
export function shrinkBuf(buf: any, size: any): any;
export const utils: {
assign: typeof assign;
shrinkBuf: typeof shrinkBuf;
Buf8: any;
Buf16: any;
Buf32: any;
arraySet: any;
flattenChunks: any;
}
export {};
export function string2buf(str: any): any;
export function buf2binstring(buf: any, len?: any): any;
export function binstring2buf(str: any): any;
export function buf2string(buf: any, max: any): any;
export function utf8border(buf: any, max: any): any;
export const strings: {
utf8border: typeof utf8border;
buf2string: typeof buf2string;
binstring2buf: typeof binstring2buf;
buf2binstring: typeof buf2binstring;
string2buf: typeof string2buf;
}
export {};
export function adler32(adler: any, buf: any, len: any, pos: any): number;
export function crc32(crc: any, buf: any, len: any, pos: any): number;
export function inflateResetKeep(strm: any): number;
export function inflateReset(strm: any): number;
export function inflateReset2(strm: any, windowBits: any): number;
export function inflateInit2(strm: any, windowBits: any): any;
export function inflateInit(strm: any): any;
export function inflate(strm: any, flush: any): any;
export function inflateEnd(strm: any): number;
export function inflateGetHeader(strm: any, head: any): number;
export function inflateSetDictionary(strm: any, dictionary: any): number;
export const _default: {
inflateReset: typeof inflateReset;
inflateReset2: typeof inflateReset2;
inflateResetKeep: typeof inflateResetKeep;
inflateInit: typeof inflateInit;
inflateInit2: typeof inflateInit2;
inflate: typeof inflate;
inflateEnd: typeof inflateEnd;
inflateGetHeader: typeof inflateGetHeader;
inflateSetDictionary: typeof inflateSetDictionary;
inflateInfo: string;
}
export const _default: {
Z_NO_FLUSH: number;
Z_PARTIAL_FLUSH: number;
Z_SYNC_FLUSH: number;
Z_FULL_FLUSH: number;
Z_FINISH: number;
Z_BLOCK: number;
Z_TREES: number;
Z_OK: number;
Z_STREAM_END: number;
Z_NEED_DICT: number;
Z_ERRNO: number;
Z_STREAM_ERROR: number;
Z_DATA_ERROR: number;
Z_BUF_ERROR: number;
Z_NO_COMPRESSION: number;
Z_BEST_SPEED: number;
Z_BEST_COMPRESSION: number;
Z_DEFAULT_COMPRESSION: number;
Z_FILTERED: number;
Z_HUFFMAN_ONLY: number;
Z_RLE: number;
Z_FIXED: number;
Z_DEFAULT_STRATEGY: number;
Z_BINARY: number;
Z_TEXT: number;
Z_UNKNOWN: number;
Z_DEFLATED: number;
}
export const _default: {
2: string;
1: string;
0: string;
'-1': string;
'-2': string;
'-3': string;
'-4': string;
'-5': string;
'-6': string;
}
export function ZStream(): void;
export function GZheader(): void;
export function inflate(input: any, options: any): any;
export const _default: {
inflate: typeof inflate;
}
export const _default: (data: any, cb: any, failure: any) => void;
export class Parser {
/**
* url: 资源路径
* success(VideoEntity videoItem)
*/
load(url: any, success: any, failure: any): void;
loadViaWorker(url: any, success: any, failure: any): void;
}
export class Svga extends MovieClip {
private _source;
autoPlay: boolean;
get source(): string;
set source(v: string);
private _setSource;
protected __cloneSelf(): Svga;
clone(withEvents?: boolean, withScripts?: boolean): any;
private _dataInitialized;
}
}
...@@ -81,23 +81,11 @@ ...@@ -81,23 +81,11 @@
resolved "https://registry.npm.taobao.org/@types/long/download/@types/long-4.0.0.tgz?cache=0&sync_timestamp=1572463917434&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Flong%2Fdownload%2F%40types%2Flong-4.0.0.tgz#719551d2352d301ac8b81db732acb6bdc28dbdef" resolved "https://registry.npm.taobao.org/@types/long/download/@types/long-4.0.0.tgz?cache=0&sync_timestamp=1572463917434&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Flong%2Fdownload%2F%40types%2Flong-4.0.0.tgz#719551d2352d301ac8b81db732acb6bdc28dbdef"
integrity sha1-cZVR0jUtMBrIuB23Mqy2vcKNve8= integrity sha1-cZVR0jUtMBrIuB23Mqy2vcKNve8=
"@types/node@*":
version "12.12.21"
resolved "https://registry.npm.taobao.org/@types/node/download/@types/node-12.12.21.tgz?cache=0&sync_timestamp=1576679981554&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-12.12.21.tgz#aa44a6363291c7037111c47e4661ad210aded23f"
integrity sha1-qkSmNjKRxwNxEcR+RmGtIQre0j8=
"@types/node@^10.1.0": "@types/node@^10.1.0":
version "10.17.11" version "10.17.11"
resolved "https://registry.npm.taobao.org/@types/node/download/@types/node-10.17.11.tgz?cache=0&sync_timestamp=1576679981554&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-10.17.11.tgz#46ba035fb917b31c948280dbea22ab8838f386a4" resolved "https://registry.npm.taobao.org/@types/node/download/@types/node-10.17.11.tgz?cache=0&sync_timestamp=1576679981554&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-10.17.11.tgz#46ba035fb917b31c948280dbea22ab8838f386a4"
integrity sha1-RroDX7kXsxyUgoDb6iKriDjzhqQ= integrity sha1-RroDX7kXsxyUgoDb6iKriDjzhqQ=
"@types/resolve@0.0.8":
version "0.0.8"
resolved "https://registry.npm.taobao.org/@types/resolve/download/@types/resolve-0.0.8.tgz#f26074d238e02659e323ce1a13d041eee280e194"
integrity sha1-8mB00jjgJlnjI84aE9BB7uKA4ZQ=
dependencies:
"@types/node" "*"
ansi-styles@^3.2.1: ansi-styles@^3.2.1:
version "3.2.1" version "3.2.1"
resolved "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" resolved "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
...@@ -105,10 +93,17 @@ ansi-styles@^3.2.1: ...@@ -105,10 +93,17 @@ ansi-styles@^3.2.1:
dependencies: dependencies:
color-convert "^1.9.0" color-convert "^1.9.0"
builtin-modules@^3.1.0: browser-resolve@^1.11.0:
version "3.1.0" version "1.11.3"
resolved "https://registry.npm.taobao.org/builtin-modules/download/builtin-modules-3.1.0.tgz#aad97c15131eb76b65b50ef208e7584cd76a7484" resolved "http://npm.dui88.com:80/browser-resolve/-/browser-resolve-1.11.3.tgz#9b7cbb3d0f510e4cb86bdbd796124d28b5890af6"
integrity sha1-qtl8FRMet2tltQ7yCOdYTNdqdIQ= integrity sha1-m3y7PQ9RDky4a9vXlhJNKLWJCvY=
dependencies:
resolve "1.1.7"
builtin-modules@^1.1.0:
version "1.1.1"
resolved "http://npm.dui88.com:80/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f"
integrity sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=
chalk@^2.0.0, chalk@^2.4.2: chalk@^2.0.0, chalk@^2.4.2:
version "2.4.2" version "2.4.2"
...@@ -151,15 +146,29 @@ esutils@^2.0.2: ...@@ -151,15 +146,29 @@ esutils@^2.0.2:
resolved "https://registry.npm.taobao.org/esutils/download/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" resolved "https://registry.npm.taobao.org/esutils/download/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
integrity sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q= integrity sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q=
function-bind@^1.1.1:
version "1.1.1"
resolved "http://npm.dui88.com:80/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
integrity sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=
has-flag@^3.0.0: has-flag@^3.0.0:
version "3.0.0" version "3.0.0"
resolved "https://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" resolved "https://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
is-module@^1.0.0: has@^1.0.3:
version "1.0.0" version "1.0.3"
resolved "https://registry.npm.taobao.org/is-module/download/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" resolved "http://npm.dui88.com:80/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE= integrity sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y=
dependencies:
function-bind "^1.1.1"
is-core-module@^2.0.0:
version "2.1.0"
resolved "http://npm.dui88.com:80/is-core-module/-/is-core-module-2.1.0.tgz#a4cc031d9b1aca63eecbd18a650e13cb4eeab946"
integrity sha1-pMwDHZsaymPuy9GKZQ4Ty07quUY=
dependencies:
has "^1.0.3"
is-reference@^1.1.2: is-reference@^1.1.2:
version "1.1.4" version "1.1.4"
...@@ -222,7 +231,20 @@ protobufjs@^6.8.8: ...@@ -222,7 +231,20 @@ protobufjs@^6.8.8:
"@types/node" "^10.1.0" "@types/node" "^10.1.0"
long "^4.0.0" long "^4.0.0"
resolve@^1.10.0, resolve@^1.11.0, resolve@^1.11.1: resolve@1.1.7:
version "1.1.7"
resolved "http://npm.dui88.com:80/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b"
integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=
resolve@^1.1.6:
version "1.18.1"
resolved "http://npm.dui88.com:80/resolve/-/resolve-1.18.1.tgz#018fcb2c5b207d2a6424aee361c5a266da8f4130"
integrity sha1-AY/LLFsgfSpkJK7jYcWiZtqPQTA=
dependencies:
is-core-module "^2.0.0"
path-parse "^1.0.6"
resolve@^1.10.0, resolve@^1.11.0:
version "1.14.1" version "1.14.1"
resolved "https://registry.npm.taobao.org/resolve/download/resolve-1.14.1.tgz#9e018c540fcf0c427d678b9931cbf45e984bcaff" resolved "https://registry.npm.taobao.org/resolve/download/resolve-1.14.1.tgz#9e018c540fcf0c427d678b9931cbf45e984bcaff"
integrity sha1-ngGMVA/PDEJ9Z4uZMcv0XphLyv8= integrity sha1-ngGMVA/PDEJ9Z4uZMcv0XphLyv8=
...@@ -240,16 +262,14 @@ rollup-plugin-commonjs@^10.1.0: ...@@ -240,16 +262,14 @@ rollup-plugin-commonjs@^10.1.0:
resolve "^1.11.0" resolve "^1.11.0"
rollup-pluginutils "^2.8.1" rollup-pluginutils "^2.8.1"
rollup-plugin-node-resolve@^5.2.0: "rollup-plugin-node-resolve@^5. 2.0":
version "5.2.0" version "2.0.0"
resolved "https://registry.npm.taobao.org/rollup-plugin-node-resolve/download/rollup-plugin-node-resolve-5.2.0.tgz#730f93d10ed202473b1fb54a5997a7db8c6d8523" resolved "http://npm.dui88.com:80/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-2.0.0.tgz#07e0ae94ac002a3ea36e8f33ca121d9f836b1309"
integrity sha1-cw+T0Q7SAkc7H7VKWZen24xthSM= integrity sha1-B+CulKwAKj6jbo8zyhIdn4NrEwk=
dependencies: dependencies:
"@types/resolve" "0.0.8" browser-resolve "^1.11.0"
builtin-modules "^3.1.0" builtin-modules "^1.1.0"
is-module "^1.0.0" resolve "^1.1.6"
resolve "^1.11.1"
rollup-pluginutils "^2.8.1"
rollup-plugin-progress@^1.1.1: rollup-plugin-progress@^1.1.1:
version "1.1.1" version "1.1.1"
......
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
<component name="NewModuleRootManager" inherit-compiler-output="true"> <component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output /> <exclude-output />
<content url="file://$MODULE_DIR$" /> <content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" /> <orderEntry type="sourceFolder" forTests="false" />
</component> </component>
</module> </module>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment