lottie-helper 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,50 @@
1
+ #!/usr/bin/env node
2
+
3
+ const childProcess = require("child_process");
4
+ const { program } = require("commander");
5
+ const { resolve } = require("path");
6
+
7
+ // * commander命令行参数处理
8
+ var jsonURL;
9
+ program
10
+ .version("1.0.0", "-v, -V , --version")
11
+ // 自定义lottie jsonURL
12
+ .option(
13
+ "-j,--json <jsonURL>",
14
+ "jsonURL: can used lottie json URL(GET-URL)",
15
+ (val) => {
16
+ jsonURL = val || "";
17
+ if (val) {
18
+ console.log(
19
+ "%c 🍝 传入的JSON-URL: ",
20
+ val
21
+ );
22
+ }
23
+ }
24
+ )
25
+ .parse(process.argv);
26
+
27
+ const nodeRunShell = (shell) => {
28
+ return new Promise((resolve, reject) => {
29
+ childProcess.exec(shell, (error, stdout, stderr) => {
30
+ console.log("exec:");
31
+ console.log("error", error);
32
+ console.log("stdout", stdout);
33
+ console.log("stderr", stderr);
34
+ if (!error) {
35
+ console.log("shell 执行成功");
36
+ resolve("shell 执行成功");
37
+ // 成功
38
+ } else {
39
+ // 失败
40
+ console.log("shell 执行失败");
41
+ reject("shell 执行失败");
42
+ }
43
+ });
44
+ });
45
+ };
46
+
47
+ // 这里引用执行全局插件路径下的主文件
48
+ const mainPath = resolve(__dirname, "..");
49
+ // * 这里若是调试模式,则引入/dist/bundle.js未编译文件即可
50
+ nodeRunShell(`node ${mainPath}/dist/bundle.min.js --userJsonURL ${jsonURL}`);
@@ -0,0 +1 @@
1
+ "use strict";function t(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */t=function(){return e};var e={},r=Object.prototype,o=r.hasOwnProperty,i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function s(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,r){return t[e]=r}}function l(t,e,r,n){var o=e&&e.prototype instanceof p?e:p,i=Object.create(o.prototype),a=new k(n||[]);return i._invoke=function(t,e,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return P()}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var c=L(a,r);if(c){if(c===h)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var u=f(t,e,r);if("normal"===u.type){if(n=r.done?"completed":"suspendedYield",u.arg===h)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(n="completed",r.method="throw",r.arg=u.arg)}}}(t,r,a),i}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=l;var h={};function p(){}function d(){}function v(){}var y={};s(y,a,(function(){return this}));var m=Object.getPrototypeOf,g=m&&m(m(_([])));g&&g!==r&&o.call(g,a)&&(y=g);var w=v.prototype=p.prototype=Object.create(y);function b(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function x(t,e){function r(i,a,c,u){var s=f(t[i],t,a);if("throw"!==s.type){var l=s.arg,h=l.value;return h&&"object"==n(h)&&o.call(h,"__await")?e.resolve(h.__await).then((function(t){r("next",t,c,u)}),(function(t){r("throw",t,c,u)})):e.resolve(h).then((function(t){l.value=t,c(l)}),(function(t){return r("throw",t,c,u)}))}u(s.arg)}var i;this._invoke=function(t,n){function o(){return new e((function(e,o){r(t,n,e,o)}))}return i=i?i.then(o,o):o()}}function L(t,e){var r=t.iterator[e.method];if(void 0===r){if(e.delegate=null,"throw"===e.method){if(t.iterator.return&&(e.method="return",e.arg=void 0,L(t,e),"throw"===e.method))return h;e.method="throw",e.arg=new TypeError("The iterator does not provide a 'throw' method")}return h}var n=f(r,t.iterator,e.arg);if("throw"===n.type)return e.method="throw",e.arg=n.arg,e.delegate=null,h;var o=n.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,h):o:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,h)}function j(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function E(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function k(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(j,this),this.reset(!0)}function _(t){if(t){var e=t[a];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,n=function e(){for(;++r<t.length;)if(o.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return n.next=n}}return{next:P}}function P(){return{value:void 0,done:!0}}return d.prototype=v,s(w,"constructor",v),s(v,"constructor",d),d.displayName=s(v,u,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===d||"GeneratorFunction"===(e.displayName||e.name))},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,v):(t.__proto__=v,s(t,u,"GeneratorFunction")),t.prototype=Object.create(w),t},e.awrap=function(t){return{__await:t}},b(x.prototype),s(x.prototype,c,(function(){return this})),e.AsyncIterator=x,e.async=function(t,r,n,o,i){void 0===i&&(i=Promise);var a=new x(l(t,r,n,o),i);return e.isGeneratorFunction(r)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},b(w),s(w,u,"Generator"),s(w,a,(function(){return this})),s(w,"toString",(function(){return"[object Generator]"})),e.keys=function(t){var e=[];for(var r in t)e.push(r);return e.reverse(),function r(){for(;e.length;){var n=e.pop();if(n in t)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=_,k.prototype={constructor:k,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(E),!t)for(var e in this)"t"===e.charAt(0)&&o.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(r,n){return a.type="throw",a.arg=t,e.next=r,n&&(e.method="next",e.arg=void 0),!!n}for(var n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n],a=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var c=o.call(i,"catchLoc"),u=o.call(i,"finallyLoc");if(c&&u){if(this.prev<i.catchLoc)return r(i.catchLoc,!0);if(this.prev<i.finallyLoc)return r(i.finallyLoc)}else if(c){if(this.prev<i.catchLoc)return r(i.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return r(i.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&o.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var i=n;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,h):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),h},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),E(r),h}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;E(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:_(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),h}},e}function e(t,e,r,n,o,i,a){try{var c=t[i](a),u=c.value}catch(t){return void r(t)}c.done?e(u):Promise.resolve(u).then(n,o)}function r(t){return function(){var r=this,n=arguments;return new Promise((function(o,i){var a=t.apply(r,n);function c(t){e(a,o,i,c,u,"next",t)}function u(t){e(a,o,i,c,u,"throw",t)}c(void 0)}))}}function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}var o=require("minimist"),i=require("cheerio"),a=require("fs"),c=require("path"),u=require("axios");function s(t){return t&&"object"===n(t)&&"default"in t?t:{default:t}}var l=s(o),f=s(i),h=s(a),p=s(c),d=s(u),v=function(){var e=r(t().mark((function e(){var r,n=arguments;return t().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=n.length>0&&void 0!==n[0]?n[0]:"index.html",t.prev=1,console.log("loadHTML running..."),t.abrupt("return",new Promise((function(t,e){var n=p.default.join(process.cwd(),r);h.default.readFile(n,"utf-8",(function(r,n){if(r)return e(r);t(n)}))})));case 6:t.prev=6,t.t0=t.catch(1),Promise.reject(t.t0);case 9:case"end":return t.stop()}}),e,null,[[1,6]])})));return function(){return e.apply(this,arguments)}}(),y=function(){var e=r(t().mark((function e(r,n){return t().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,console.log("writeHTML running..."),t.abrupt("return",new Promise((function(t,e){var o=p.default.join(process.cwd(),r);h.default.writeFile(o,n,"utf-8",(function(r){if(r)return e(r);t("write done")}))})));case 5:t.prev=5,t.t0=t.catch(0),Promise.reject(t.t0);case 8:case"end":return t.stop()}}),e,null,[[0,5]])})));return function(t,r){return e.apply(this,arguments)}}(),m=function(){var e=r(t().mark((function e(r){return t().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,console.log("loadJs running..."),t.abrupt("return",new Promise((function(t,e){h.default.readFile("node_modules/lottie-helper/dist/".concat(r),"utf-8",(function(r,n){if(r)return e(r);t(n)}))})));case 5:t.prev=5,t.t0=t.catch(0),Promise.reject(t.t0);case 8:case"end":return t.stop()}}),e,null,[[0,5]])})));return function(t){return e.apply(this,arguments)}}(),g=l.default(process.argv.slice(2));console.log("pickJson:"),console.dir(g);var w=g.userJsonURL;console.log("userJsonURL:",w);var b="undefined"!==w&&w;r(t().mark((function e(){var r,n,o,i,a,c,u,s,l,h,p;return t().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r="it fuckin empty jsonResult.",n=b||"http://localhost/public/lottie.json",t.prev=2,t.next=5,d.default(n);case 5:return o=t.sent,i=o.status,a=o.data,200===i&&(r=JSON.stringify(a)),c="index.html",t.next=12,v(c);case 12:return u=t.sent,s=f.default.load(u),t.next=16,m("controller.min.js");case 16:return l=t.sent,s("body").prepend('<script type="text/javascript">'.concat(l,"<\/script>")),s("body").prepend('<script type="text/javascript">window.animateJson='.concat(r,"<\/script>")),s("body").prepend('<div id="lottie-wrapper"><div id="lottie"></div></div>'),s("head").append("<style>#lottie-wrapper {position: absolute;left: 0;top: 0;width: 100%;height: 100%;background: #fff;background-size: cover;z-index: 999999 !important;transition: all 1s;overflow: hidden;}#lottie {position: absolute;left: 50%;top: 50%;width: 50%;transform: translate(-50%, -50%);}</style>"),s("head").append('<script src="https://cdnjs.cloudflare.com/ajax/libs/lottie-web/5.9.6/lottie.min.js"><\/script>'),h=s.html(),t.next=25,y(c,h);case 25:p=t.sent,console.log(p),t.next=32;break;case 29:t.prev=29,t.t0=t.catch(2),console.log("get jsonURL error, please check you jsonURL.");case 32:case"end":return t.stop()}}),e,null,[[2,29]])})))();
@@ -0,0 +1 @@
1
+ "use strict";function t(){this.animatePlaying=!1,this.animateRange=2e3,this.animateStartTime=0}t.prototype.animateStart=function(){return this.animatePlaying=!0,this.animateStartTime=(new Date).valueOf(),"this.animatePlaying: ".concat(this.animatePlaying)},t.prototype.animateEnd=function(){this.animatePlaying=!1,document.querySelector("#lottie-wrapper").style.opacity="0",document.querySelector("#lottie-wrapper").style.visibility="hidden",console.log("%c 🍪 document.querySelector(#lottie-wrapper): ","font-size:20px;background-color: #FFDD4D;color:#fff;",document.querySelector("#lottie-wrapper"))},t.prototype.needLoadAnimate=function(){var t=this,e=(new Date).valueOf()-this.animateStartTime;return e>this.animateRange?(this.animateEnd(),Promise.reject("停止播放")):new Promise((function(n){var a=t.animateRange-e;setTimeout((function(){n(t.animateEnd)}),a)}))},window.animateControl=new t,window.addEventListener("load",(function(){console.log("[LoHelp]: page is fully loaded"),window.animateControl.needLoadAnimate().then((function(){window.animateControl.animateEnd()})).catch((function(t){console.error(t)}))}));var e=document.querySelector("#lottie");window.animateJson&&e&&window.animateControl&&(console.log("[LoHelp]: animateCanStart..."),console.log("[LoHelp]: animateStart..."),e&&(window.animateControl.animateStart(),window.bodymovin.loadAnimation({container:e,renderer:"svg",loop:!0,autoplay:!0,animationData:window.animateJson})));
package/index.html ADDED
@@ -0,0 +1,20 @@
1
+ <!DOCTYPE html><html lang="en"><head>
2
+ <meta charset="utf-8">
3
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
4
+ <meta name="viewport" content="width=device-width,initial-scale=1.0">
5
+ <link rel="icon" href="<%= BASE_URL %>favicon.ico">
6
+ <title>&lt;%= htmlWebpackPlugin.options.title %&gt;</title>
7
+ </head>
8
+ <body>
9
+ <noscript>
10
+ <strong
11
+ >We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work
12
+ properly without JavaScript enabled. Please enable it to
13
+ continue.</strong
14
+ >
15
+ </noscript>
16
+ <div id="app" class="app-wrapper"></div>
17
+ <!-- built files will be auto injected -->
18
+
19
+
20
+ </body></html>
package/package.json ADDED
@@ -0,0 +1,31 @@
1
+ {
2
+ "name": "lottie-helper",
3
+ "version": "1.0.0",
4
+ "description": "lottie-helper",
5
+ "main": "./src/index.js",
6
+ "bin": {
7
+ "lohelp": "./bin/lottie.help.js"
8
+ },
9
+ "scripts": {
10
+ "start": "node run build",
11
+ "action": "node dist/bundle.min.js",
12
+ "build": "pnpm i && npm run build-controller && npm run build-main",
13
+ "build-main": "npx rollup -c ./rollup.config.js",
14
+ "build-controller": "npx rollup -c ./rollup.config.controller.js"
15
+ },
16
+ "author": "jf",
17
+ "license": "MIT",
18
+ "devDependencies": {
19
+ "@babel/core": "^7.0.0",
20
+ "@babel/preset-env": "^7.18.10",
21
+ "@rollup/plugin-babel": "^5.3.1",
22
+ "@rollup/plugin-json": "^4.1.0",
23
+ "rollup-plugin-terser": "^7.0.2"
24
+ },
25
+ "dependencies": {
26
+ "axios": "^0.27.2",
27
+ "cheerio": "^1.0.0-rc.12",
28
+ "commander": "^9.4.0",
29
+ "minimist": "^1.2.6"
30
+ }
31
+ }