oipage 0.1.0-alpha.1 → 0.1.0-alpha.3
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.
- package/CHANGELOG +38 -0
- package/README.md +103 -4
- package/bin/options.js +45 -11
- package/bin/run +166 -31
- package/browserjs/getStyle/index.d.ts +11 -0
- package/browserjs/getStyle/index.js +13 -0
- package/browserjs/index.d.ts +10 -0
- package/browserjs/index.js +7 -0
- package/browserjs/onReady/index.d.ts +8 -0
- package/browserjs/onReady/index.js +8 -0
- package/corejs/animation/index.d.ts +12 -0
- package/corejs/animation/index.js +102 -0
- package/corejs/index.d.ts +10 -0
- package/corejs/index.js +7 -0
- package/corejs/throttle/index.d.ts +31 -0
- package/corejs/throttle/index.js +50 -0
- package/nodejs/core/file.js +128 -0
- package/nodejs/core/image.js +5 -0
- package/nodejs/core/log.js +82 -0
- package/nodejs/core/network.js +40 -0
- package/nodejs/core/options.js +49 -0
- package/nodejs/core/remote.js +60 -0
- package/nodejs/core/responseFileList.js +28 -0
- package/nodejs/core/server.js +163 -0
- package/nodejs/data/404.js +52 -0
- package/nodejs/data/images/file.js +1 -0
- package/nodejs/data/images/folder.js +1 -0
- package/nodejs/data/mime.types.js +112 -0
- package/nodejs/index.js +48 -0
- package/nodejs/loader/simpleScss.js +248 -0
- package/nodejs/loader/xhtml.js +521 -0
- package/package.json +17 -20
- package/stylecss/index.css +3 -0
- package/stylecss/normalize.css +94 -0
- package/stylecss/rasterize.css +318 -0
- package/stylecss/skeleton.css +16 -0
- package/types/get-options.d.ts +6 -0
- package/types/index.d.ts +187 -0
- package/public/index.html +0 -14
- package/script/command/build.js +0 -22
- package/script/command/dev.js +0 -38
- package/script/config/alignment.js +0 -15
- package/script/config/webpack.js +0 -60
- package/src/platforms/h5/index.js +0 -0
- package/src/runtime/index.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEAYABgAAD/4QR7RXhpZgAATU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUAAAABAAAAYgEbAAUAAAABAAAAagEoAAMAAAABAAIAAAExAAIAAAAcAAAAcgEyAAIAAAAUAAAAjodpAAQAAAABAAAApAAAANAADqV6AAAnEAAOpXoAACcQQWRvYmUgUGhvdG9zaG9wIENTNCBXaW5kb3dzADIwMjE6MDU6MDggMDk6NDg6MjcAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAMqADAAQAAAABAAAAPAAAAAAAAAAGAQMAAwAAAAEABgAAARoABQAAAAEAAAEeARsABQAAAAEAAAEmASgAAwAAAAEAAgAAAgEABAAAAAEAAAEuAgIABAAAAAEAAANFAAAAAAAAAEgAAAABAAAASAAAAAH/2P/gABBKRklGAAECAABIAEgAAP/tAAxBZG9iZV9DTQAB/+4ADkFkb2JlAGSAAAAAAf/bAIQADAgICAkIDAkJDBELCgsRFQ8MDA8VGBMTFRMTGBEMDAwMDAwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAENCwsNDg0QDg4QFA4ODhQUDg4ODhQRDAwMDAwREQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgAPAAyAwEiAAIRAQMRAf/dAAQABP/EAT8AAAEFAQEBAQEBAAAAAAAAAAMAAQIEBQYHCAkKCwEAAQUBAQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAABBAEDAgQCBQcGCAUDDDMBAAIRAwQhEjEFQVFhEyJxgTIGFJGhsUIjJBVSwWIzNHKC0UMHJZJT8OHxY3M1FqKygyZEk1RkRcKjdDYX0lXiZfKzhMPTdePzRieUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9jdHV2d3h5ent8fX5/cRAAICAQIEBAMEBQYHBwYFNQEAAhEDITESBEFRYXEiEwUygZEUobFCI8FS0fAzJGLhcoKSQ1MVY3M08SUGFqKygwcmNcLSRJNUoxdkRVU2dGXi8rOEw9N14/NGlKSFtJXE1OT0pbXF1eX1VmZ2hpamtsbW5vYnN0dXZ3eHl6e3x//aAAwDAQACEQMRAD8A9TSSQK6aXNLnMBJc+Sf6zklJ0kL7PR/owmONSdAwCdJSUmSWdh5NlNVQyDNNjW+nafzSeK7D/wBRZ/nrRSUpJJJJT//Q9TQ6voH+s/8A6pyIh1fQP9Z//VOSUzTJJklIfsOGdDU2DoRrEHkQo9KsdZ03Ge8lzjW2SeTorA5Cq9G/5Lxf+LakpupJJJKf/9H1NCr+h/af/wBU5FQqwdp0/Of/ANU5JTJMng+CaD4JJXHI+Kq9G/5Lxf8Ai2q0AZGndVejf8l4v/FtSQ3UkkklP//S9TVZ+BQ95eXWNLjJDbHtEn+S121WUklNT9m0fv3f9u2f+TS/ZtH793/btn/k1bSSU1P2bR+/d/29Z/5NWKaa6Km01Daxgho8AppJKUkkkkp//9n/7QlAUGhvdG9zaG9wIDMuMAA4QklNBCUAAAAAABAAAAAAAAAAAAAAAAAAAAAAOEJJTQPtAAAAAAAQAF/8kgABAAIAX/ySAAEAAjhCSU0EJgAAAAAADgAAAAAAAAAAAAA/gAAAOEJJTQQNAAAAAAAEAAAAeDhCSU0EGQAAAAAABAAAAB44QklNA/MAAAAAAAkAAAAAAAAAAAEAOEJJTScQAAAAAAAKAAEAAAAAAAAAAjhCSU0D9QAAAAAASAAvZmYAAQBsZmYABgAAAAAAAQAvZmYAAQChmZoABgAAAAAAAQAyAAAAAQBaAAAABgAAAAAAAQA1AAAAAQAtAAAABgAAAAAAAThCSU0D+AAAAAAAcAAA/////////////////////////////wPoAAAAAP////////////////////////////8D6AAAAAD/////////////////////////////A+gAAAAA/////////////////////////////wPoAAA4QklNBAAAAAAAAAIAAThCSU0EAgAAAAAABAAAAAA4QklNBDAAAAAAAAIBAThCSU0ELQAAAAAABgABAAAAAzhCSU0ECAAAAAAAEAAAAAEAAAJAAAACQAAAAAA4QklNBB4AAAAAAAQAAAAAOEJJTQQaAAAAAAM/AAAABgAAAAAAAAAAAAAAPAAAADIAAAAFZypoB5iYAC0AMQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAMgAAADwAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAQAAAAAAAG51bGwAAAAC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TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA0LjIuMi1jMDYzIDUzLjM1MjYyNCwgMjAwOC8wNy8zMC0xODoxMjoxOCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIiB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M0IFdpbmRvd3MiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjEtMDUtMDhUMDk6NDg6MjcrMDg6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDIxLTA1LTA4VDA5OjQ4OjI3KzA4OjAwIiB4bXA6Q3JlYXRlRGF0ZT0iMjAyMS0wNS0wOFQwOTo0ODoyNyswODowMCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDozMDBCNjA2NTlGQUZFQjExOTBCNEMyQjY4Q0Q4M0YwQiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoyRjBCNjA2NTlGQUZFQjExOTBCNEMyQjY4Q0Q4M0YwQiIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGMEI2MDY1OUZBRkVCMTE5MEI0QzJCNjhDRDgzRjBCIiBkYzpmb3JtYXQ9ImltYWdlL2pwZWciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgdGlmZjpPcmllbnRhdGlvbj0iMSIgdGlmZjpYUmVzb2x1dGlvbj0iOTU5ODY2LzEwMDAwIiB0aWZmOllSZXNvbHV0aW9uPSI5NTk4NjYvMTAwMDAiIHRpZmY6UmVzb2x1dGlvblVuaXQ9IjIiIHRpZmY6TmF0aXZlRGlnZXN0PSIyNTYsMjU3LDI1OCwyNTksMjYyLDI3NCwyNzcsMjg0LDUzMCw1MzEsMjgyLDI4MywyOTYsMzAxLDMxOCwzMTksNTI5LDUzMiwzMDYsMjcwLDI3MSwyNzIsMzA1LDMxNSwzMzQzMjtGOTczNkI5MzBGQUQ2QzBBMjM0ODBDQTRFMzBGOEZBRiIgZXhpZjpQaXhlbFhEaW1lbnNpb249IjUwIiBleGlmOlBpeGVsWURpbWVuc2lvbj0iNjAiIGV4aWY6Q29sb3JTcGFjZT0iMSIgZXhpZjpOYXRpdmVEaWdlc3Q9IjM2ODY0LDQwOTYwLDQwOTYxLDM3MTIxLDM3MTIyLDQwOTYyLDQwOTYzLDM3NTEwLDQwOTY0LDM2ODY3LDM2ODY4LDMzNDM0LDMzNDM3LDM0ODUwLDM0ODUyLDM0ODU1LDM0ODU2LDM3Mzc3LDM3Mzc4LDM3Mzc5LDM3MzgwLDM3MzgxLDM3MzgyLDM3MzgzLDM3Mzg0LDM3Mzg1LDM3Mzg2LDM3Mzk2LDQxNDgzLDQxNDg0LDQxNDg2LDQxNDg3LDQxNDg4LDQxNDkyLDQxNDkzLDQxNDk1LDQxNzI4LDQxNzI5LDQxNzMwLDQxOTg1LDQxOTg2LDQxOTg3LDQxOTg4LDQxOTg5LDQxOTkwLDQxOTkxLDQxOTkyLDQxOTkzLDQxOTk0LDQxOTk1LDQxOTk2LDQyMDE2LDAsMiw0LDUsNiw3LDgsOSwxMCwxMSwxMiwxMywxNCwxNSwxNiwxNywxOCwyMCwyMiwyMywyNCwyNSwyNiwyNywyOCwzMDtFRjZEMzczRjg2RThDNzE3RkY4Q0M2NDlDOTAxQUIzMiI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MkYwQjYwNjU5RkFGRUIxMTkwQjRDMkI2OENEODNGMEIiIHN0RXZ0OndoZW49IjIwMjEtMDUtMDhUMDk6NDg6MjcrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDUzQgV2luZG93cyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MzAwQjYwNjU5RkFGRUIxMTkwQjRDMkI2OENEODNGMEIiIHN0RXZ0OndoZW49IjIwMjEtMDUtMDhUMDk6NDg6MjcrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDUzQgV2luZG93cyIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD94cGFja2V0IGVuZD0idyI/Pv/iDFhJQ0NfUFJPRklMRQABAQAADEhMaW5vAhAAAG1udHJSR0IgWFlaIAfOAAIACQAGADEAAGFjc3BNU0ZUAAAAAElFQyBzUkdCAAAAAAAAAAAAAAAAAAD21gABAAAAANMtSFAgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEWNwcnQAAAFQAAAAM2Rl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";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEAYABgAAD/4QUiRXhpZgAATU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUAAAABAAAAYgEbAAUAAAABAAAAagEoAAMAAAABAAIAAAExAAIAAAAcAAAAcgEyAAIAAAAUAAAAjodpAAQAAAABAAAApAAAANAADqV6AAAnEAAOpXoAACcQQWRvYmUgUGhvdG9zaG9wIENTNCBXaW5kb3dzADIwMjE6MDU6MDggMDk6NDc6NTAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAMqADAAQAAAABAAAAPAAAAAAAAAAGAQMAAwAAAAEABgAAARoABQAAAAEAAAEeARsABQAAAAEAAAEmASgAAwAAAAEAAgAAAgEABAAAAAEAAAEuAgIABAAAAAEAAAPsAAAAAAAAAEgAAAABAAAASAAAAAH/2P/gABBKRklGAAECAABIAEgAAP/tAAxBZG9iZV9DTQAB/+4ADkFkb2JlAGSAAAAAAf/bAIQADAgICAkIDAkJDBELCgsRFQ8MDA8VGBMTFRMTGBEMDAwMDAwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAENCwsNDg0QDg4QFA4ODhQUDg4ODhQRDAwMDAwREQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgAPAAyAwEiAAIRAQMRAf/dAAQABP/EAT8AAAEFAQEBAQEBAAAAAAAAAAMAAQIEBQYHCAkKCwEAAQUBAQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAABBAEDAgQCBQcGCAUDDDMBAAIRAwQhEjEFQVFhEyJxgTIGFJGhsUIjJBVSwWIzNHKC0UMHJZJT8OHxY3M1FqKygyZEk1RkRcKjdDYX0lXiZfKzhMPTdePzRieUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9jdHV2d3h5ent8fX5/cRAAICAQIEBAMEBQYHBwYFNQEAAhEDITESBEFRYXEiEwUygZEUobFCI8FS0fAzJGLhcoKSQ1MVY3M08SUGFqKygwcmNcLSRJNUoxdkRVU2dGXi8rOEw9N14/NGlKSFtJXE1OT0pbXF1eX1VmZ2hpamtsbW5vYnN0dXZ3eHl6e3x//aAAwDAQACEQMRAD8A9TQ25FDnFoeNw0LSYP3FEVG/FryGifa8fReOR/5ioc+U4+GgDd7roxB3bsg8J1mUMeHGv1BvaYIMifgrH6yzkO/L+RAZp1cscq7x9aeEdJfa20kDHudYXNdy2PxR1LGQlESHXutIo0pJJJOQ/wD/0PU1XbwrCrNMNVTnNofVfDq5rL9nVbGO1re8NcDx9HlXeo3nDFRrnda7a0c6gb/++rNEO6peCJBI0+QVrqzjs6cTqfWE/wCY9WMPyR8gtlu6db6shgdAdGhB1gp6/wCbb8B+RCxPp2R4N/78i1fzbP6o/InoZJJJJKf/0fU1QL4CvrNyGOqeWnjkHyVLn7EIyGwOv1ZcNWQ5mJZ62dbYBEu4+HtV3q/8307/AI4f9Q9UeliLXucIBcYJ458Vf6uCa+nQCYuEwJP0Hq3hFQj5Mc9y6GJ9N/wb/wB+RKv5tn9UfkQsMy+zQjRuhBB/O8USpwNbR5BPO6EiSSSCn//S9TQsikXVx+cNWlFSTMvBwS4/kr1Jjdit2tRhsZW2RFm0BxHw/O/Nf/aUnUbzW2xrHMr1bp8h7PzUdJOjVCtqUd9WHpR9Bzm/Az+D9yVdYraGjXzKmkihSSSSSn//2f/tCeRQaG90b3Nob3AgMy4wADhCSU0EJQAAAAAAEAAAAAAAAAAAAAAAAAAAAAA4QklNA+0AAAAAABAAX/ySAAEAAgBf/JIAAQACOEJJTQQmAAAAAAAOAAAAAAAAAAAAAD+AAAA4QklNBA0AAAAAAAQAAAB4OEJJTQQZAAAAAAAEAAAAHjhCSU0D8wAAAAAACQAAAAAAAAAAAQA4QklNJxAAAAAAAAoAAQAAAAAAAAACOEJJTQP1AAAAAABIAC9mZgABAGxmZgAGAAAAAAABAC9mZgABAKGZmgAGAAAAAAABADIAAAABAFoAAAAGAAAAAAABADUAAAABAC0AAAAGAAAAAAABOEJJTQP4AAAAAABwAAD/////////////////////////////A+gAAAAA/////////////////////////////wPoAAAAAP////////////////////////////8D6AAAAAD/////////////////////////////A+gAADhCSU0EAAAAAAAAAgAAOEJJTQQCAAAAAAACAAA4QklNBDAAAAAAAAEBADhCSU0ELQAAAAAABgABAAAAAjhCSU0ECAAAAAAAEAAAAAEAAAJA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cDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNCBXaW5kb3dzIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDIxLTA1LTA4VDA5OjQ3OjUwKzA4OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyMS0wNS0wOFQwOTo0Nzo1MCswODowMCIgeG1wOkNyZWF0ZURhdGU9IjIwMjEtMDUtMDhUMDk6NDc6NTArMDg6MDAiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkUwQjYwNjU5RkFGRUIxMTkwQjRDMkI2OENEODNGMEIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkQwQjYwNjU5RkFGRUIxMTkwQjRDMkI2OENEODNGMEIiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoyRDBCNjA2NTlGQUZFQjExOTBCNEMyQjY4Q0Q4M0YwQiIgZGM6Zm9ybWF0PSJpbWFnZS9qcGVnIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiBwaG90b3Nob3A6SUNDUHJvZmlsZT0ic1JHQiBJRUM2MTk2Ni0yLjEiIHRpZmY6T3JpZW50YXRpb249IjEiIHRpZmY6WFJlc29sdXRpb249Ijk1OTg2Ni8xMDAwMCIgdGlmZjpZUmVzb2x1dGlvbj0iOTU5ODY2LzEwMDAwIiB0aWZmOlJlc29sdXRpb25Vbml0PSIyIiB0aWZmOk5hdGl2ZURpZ2VzdD0iMjU2LDI1NywyNTgsMjU5LDI2MiwyNzQsMjc3LDI4NCw1MzAsNTMxLDI4MiwyODMsMjk2LDMwMSwzMTgsMzE5LDUyOSw1MzIsMzA2LDI3MCwyNzEsMjcyLDMwNSwzMTUsMzM0MzI7MEFGMkU2MzI0QzA3RTM5NkM3NzhBRTE5NTg0NERBMUYiIGV4aWY6UGl4ZWxYRGltZW5zaW9uPSI1MCIgZXhpZjpQaXhlbFlEaW1lbnNpb249IjYwIiBleGlmOkNvbG9yU3BhY2U9IjEiIGV4aWY6TmF0aXZlRGlnZXN0PSIzNjg2NCw0MDk2MCw0MDk2MSwzNzEyMSwzNzEyMiw0MDk2Miw0MDk2MywzNzUxMCw0MDk2NCwzNjg2NywzNjg2OCwzMzQzNCwzMzQzNywzNDg1MCwzNDg1MiwzNDg1NSwzNDg1NiwzNzM3NywzNzM3OCwzNzM3OSwzNzM4MCwzNzM4MSwzNzM4MiwzNzM4MywzNzM4NCwzNzM4NSwzNzM4NiwzNzM5Niw0MTQ4Myw0MTQ4NCw0MTQ4Niw0MTQ4Nyw0MTQ4OCw0MTQ5Miw0MTQ5Myw0MTQ5NSw0MTcyOCw0MTcyOSw0MTczMCw0MTk4NSw0MTk4Niw0MTk4Nyw0MTk4OCw0MTk4OSw0MTk5MCw0MTk5MSw0MTk5Miw0MTk5Myw0MTk5NCw0MTk5NSw0MTk5Niw0MjAxNiwwLDIsNCw1LDYsNyw4LDksMTAsMTEsMTIsMTMsMTQsMTUsMTYsMTcsMTgsMjAsMjIsMjMsMjQsMjUsMjYsMjcsMjgsMzA7RUY2RDM3M0Y4NkU4QzcxN0ZGOENDNjQ5QzkwMUFCMzIiPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjcmVhdGVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjJEMEI2MDY1OUZBRkVCMTE5MEI0QzJCNjhDRDgzRjBCIiBzdEV2dDp3aGVuPSIyMDIxLTA1LTA4VDA5OjQ3OjUwKzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ1M0IFdpbmRvd3MiLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjJFMEI2MDY1OUZBRkVCMTE5MEI0QzJCNjhDRDgzRjBCIiBzdEV2dDp3aGVuPSIyMDIxLTA1LTA4VDA5OjQ3OjUwKzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ1M0IFdpbmRvd3MiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPC9yZGY6U2VxPiA8L3htcE1NOkhpc3Rvcnk+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg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";
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
module.exports = {
|
|
2
|
+
"html": "text/html",
|
|
3
|
+
"htm": "text/html",
|
|
4
|
+
"shtml": "text/html",
|
|
5
|
+
"css": "text/css",
|
|
6
|
+
"xml": "text/xml",
|
|
7
|
+
"gif": "image/gif",
|
|
8
|
+
"jpeg": "image/jpeg",
|
|
9
|
+
"jpg": "image/jpeg",
|
|
10
|
+
"js": "application/javascript",
|
|
11
|
+
"atom": "application/atom+xml",
|
|
12
|
+
"rss": "application/rss+xml",
|
|
13
|
+
|
|
14
|
+
"mml": "text/mathml",
|
|
15
|
+
"txt": "text/plain",
|
|
16
|
+
"jad": "text/vnd.sun.j2me.app-descriptor",
|
|
17
|
+
"wml": "text/vnd.wap.wml",
|
|
18
|
+
"htc": "text/x-component",
|
|
19
|
+
|
|
20
|
+
"png": "image/png",
|
|
21
|
+
"tif": "image/tiff",
|
|
22
|
+
"tiff": "image/tiff",
|
|
23
|
+
"wbmp": "image/vnd.wap.wbmp",
|
|
24
|
+
"ico": "image/x-icon",
|
|
25
|
+
"jng": "image/x-jng",
|
|
26
|
+
"bmp": "image/x-ms-bmp",
|
|
27
|
+
"svg": "image/svg+xml",
|
|
28
|
+
"svgz": "image/svg+xml",
|
|
29
|
+
"webp": "image/webp",
|
|
30
|
+
|
|
31
|
+
"woff": "application/font-woff",
|
|
32
|
+
"jar": "application/java-archive",
|
|
33
|
+
"war": "application/java-archive",
|
|
34
|
+
"ear": "application/java-archive",
|
|
35
|
+
"json": "application/json",
|
|
36
|
+
"hqx": "application/mac-binhex40",
|
|
37
|
+
"doc": "application/msword",
|
|
38
|
+
"pdf": "application/pdf",
|
|
39
|
+
"ps": "application/postscript",
|
|
40
|
+
"eps": "application/postscript",
|
|
41
|
+
"ai": "application/postscript",
|
|
42
|
+
"rtf": "application/rtf",
|
|
43
|
+
"m3u8": "application/vnd.apple.mpegurl",
|
|
44
|
+
"xls": "application/vnd.ms-excel",
|
|
45
|
+
"eot": "application/vnd.ms-fontobject",
|
|
46
|
+
"ppt": "application/vnd.ms-powerpoint",
|
|
47
|
+
"wmlc": "application/vnd.wap.wmlc",
|
|
48
|
+
"kml": "application/vnd.google-earth.kml+xml",
|
|
49
|
+
"kmz": "application/vnd.google-earth.kmz",
|
|
50
|
+
"7z": "application/x-7z-compressed",
|
|
51
|
+
"cco": "application/x-cocoa",
|
|
52
|
+
"jardiff": "application/x-java-archive-diff",
|
|
53
|
+
"jnlp": "application/x-java-jnlp-file",
|
|
54
|
+
"run": "application/x-makeself",
|
|
55
|
+
"pl": "application/x-perl",
|
|
56
|
+
"pm": "application/x-perl",
|
|
57
|
+
"prc": "application/x-pilot",
|
|
58
|
+
"pdb": "application/x-pilot",
|
|
59
|
+
"rar": "application/x-rar-compressed",
|
|
60
|
+
"rpm": "application/x-redhat-package-manager",
|
|
61
|
+
"sea": "application/x-sea",
|
|
62
|
+
"swf": "application/x-shockwave-flash",
|
|
63
|
+
"sit": "application/x-stuffit",
|
|
64
|
+
"tcl": "application/x-tcl",
|
|
65
|
+
"tk": "application/x-tcl",
|
|
66
|
+
"der": "application/x-x509-ca-cert",
|
|
67
|
+
"pem": "application/x-x509-ca-cert",
|
|
68
|
+
"crt": "application/x-x509-ca-cert",
|
|
69
|
+
"xpi": "application/x-xpinstall",
|
|
70
|
+
"xhtml": "application/xhtml+xml",
|
|
71
|
+
"xspf": "application/xspf+xml",
|
|
72
|
+
"zip": "application/zip",
|
|
73
|
+
|
|
74
|
+
"bin": "application/octet-stream",
|
|
75
|
+
"exe": "application/octet-stream",
|
|
76
|
+
"dll": "application/octet-stream",
|
|
77
|
+
"deb": "application/octet-stream",
|
|
78
|
+
"dmg": "application/octet-stream",
|
|
79
|
+
"iso": "application/octet-stream",
|
|
80
|
+
"img": "application/octet-stream",
|
|
81
|
+
"msi": "application/octet-stream",
|
|
82
|
+
"msp": "application/octet-stream",
|
|
83
|
+
"msm": "application/octet-stream",
|
|
84
|
+
|
|
85
|
+
"docx": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
|
|
86
|
+
"xlsx": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
|
|
87
|
+
"pptx": "application/vnd.openxmlformats-officedocument.presentationml.presentation",
|
|
88
|
+
|
|
89
|
+
"mid": "audio/midi",
|
|
90
|
+
"midi": "audio/midi",
|
|
91
|
+
"kar": "audio/midi",
|
|
92
|
+
"mp3": "audio/mpeg",
|
|
93
|
+
"ogg": "audio/ogg",
|
|
94
|
+
"m4a": "audio/x-m4a",
|
|
95
|
+
"ra": "audio/x-realaudio",
|
|
96
|
+
|
|
97
|
+
"3gpp": "video/3gpp",
|
|
98
|
+
"3gp": "video/3gpp",
|
|
99
|
+
"ts": "video/mp2t",
|
|
100
|
+
"mp4": "video/mp4",
|
|
101
|
+
"mpeg": "video/mpeg",
|
|
102
|
+
"mpg": "video/mpeg",
|
|
103
|
+
"mov": "video/quicktime",
|
|
104
|
+
"webm": "video/webm",
|
|
105
|
+
"flv": "video/x-flv",
|
|
106
|
+
"m4v": "video/x-m4v",
|
|
107
|
+
"mng": "video/x-mng",
|
|
108
|
+
"asx": "video/x-ms-asf",
|
|
109
|
+
"asf": "video/x-ms-asf",
|
|
110
|
+
"wmv": "video/x-ms-wmv",
|
|
111
|
+
"avi": "video/x-msvideo"
|
|
112
|
+
};
|
package/nodejs/index.js
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
const { deleteSync, copySync, moveSync, listFileSync, fullPathSync } = require('./core/file');
|
|
2
|
+
const { log, warn, error, linelog, deeplog } = require('./core/log');
|
|
3
|
+
const options = require('./core/options');
|
|
4
|
+
const { get, post } = require('./core/remote');
|
|
5
|
+
const network = require('./core/network');
|
|
6
|
+
const mimeTypes = require('./data/mime.types');
|
|
7
|
+
const server = require('./core/server');
|
|
8
|
+
const { toBase64 } = require('./core/image');
|
|
9
|
+
|
|
10
|
+
const simpleScss = require('./loader/simpleScss');
|
|
11
|
+
const xhtml = require('./loader/xhtml');
|
|
12
|
+
|
|
13
|
+
module.exports = {
|
|
14
|
+
|
|
15
|
+
// 命令行相关
|
|
16
|
+
options,
|
|
17
|
+
|
|
18
|
+
// 文件操作相关
|
|
19
|
+
deleteSync, copySync, moveSync, listFileSync, fullPathSync,
|
|
20
|
+
|
|
21
|
+
// 图片相关
|
|
22
|
+
toBase64,
|
|
23
|
+
|
|
24
|
+
// 日志打印
|
|
25
|
+
log, warn, error,
|
|
26
|
+
|
|
27
|
+
// 单行打印
|
|
28
|
+
linelog,
|
|
29
|
+
|
|
30
|
+
// 进度打印
|
|
31
|
+
process: deeplog, // 向下兼容
|
|
32
|
+
deeplog,
|
|
33
|
+
|
|
34
|
+
// 请求
|
|
35
|
+
get, post,
|
|
36
|
+
|
|
37
|
+
// 查看网络信息
|
|
38
|
+
network,
|
|
39
|
+
|
|
40
|
+
// 文件类型
|
|
41
|
+
mimeTypes,
|
|
42
|
+
|
|
43
|
+
// 服务器
|
|
44
|
+
server,
|
|
45
|
+
|
|
46
|
+
// 文件解析Loader
|
|
47
|
+
simpleScss, xhtml
|
|
48
|
+
};
|
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
let toSelector = function (preSelectorArray, deep) {
|
|
2
|
+
|
|
3
|
+
let selectors = preSelectorArray[0], i, j, k;
|
|
4
|
+
|
|
5
|
+
// 一层层深入
|
|
6
|
+
for (i = 1; i < deep; i++) {
|
|
7
|
+
|
|
8
|
+
let temp = [];
|
|
9
|
+
// 前置循环
|
|
10
|
+
for (j = 0; j < selectors.length; j++) {
|
|
11
|
+
|
|
12
|
+
// 预选循环
|
|
13
|
+
for (k = 0; k < preSelectorArray[i].length; k++) {
|
|
14
|
+
|
|
15
|
+
temp.push(selectors[j] + preSelectorArray[i][k]);
|
|
16
|
+
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
selectors = temp;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// 最后补充 {
|
|
25
|
+
return "\n" + (selectors.join(',')) + "{\n";
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
// 把代码变成代码块
|
|
29
|
+
// 比如一个注释就是一块,无论注释的内容有多少
|
|
30
|
+
let analyseBlock = function (source) {
|
|
31
|
+
|
|
32
|
+
let i = -1,
|
|
33
|
+
|
|
34
|
+
// 当前面对的字符
|
|
35
|
+
currentChar = null;
|
|
36
|
+
|
|
37
|
+
// 获取下一个字符
|
|
38
|
+
let next = function () {
|
|
39
|
+
currentChar = i++ < source.length - 1 ? source[i] : null;
|
|
40
|
+
return currentChar;
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
// 获取往后n个值
|
|
44
|
+
let nextNValue = function (n) {
|
|
45
|
+
return source.substring(i, n + i > source.length ? source.length : n + i);
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
let blocks = [];
|
|
49
|
+
let currentBlock = "";
|
|
50
|
+
|
|
51
|
+
next();
|
|
52
|
+
|
|
53
|
+
while (true) {
|
|
54
|
+
|
|
55
|
+
// 先剔除空白字符
|
|
56
|
+
// 保证正式开始的时候匹配的是有效的
|
|
57
|
+
while (new RegExp("[\\x20\\t\\r\\n\\f]").test(currentChar)) {
|
|
58
|
+
next();
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
// 如果匹配的字符没有了
|
|
62
|
+
if (currentChar == null) break;
|
|
63
|
+
|
|
64
|
+
// 如果是注释
|
|
65
|
+
// /* 类型一 */
|
|
66
|
+
if (nextNValue(2) == '/*') {
|
|
67
|
+
|
|
68
|
+
next(); next();
|
|
69
|
+
currentBlock = "/*";
|
|
70
|
+
|
|
71
|
+
while (nextNValue(2) != '*/' && currentChar != null) {
|
|
72
|
+
currentBlock += currentChar;
|
|
73
|
+
next();
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
// 对于注释 /* */
|
|
77
|
+
// 如果到结尾都没有闭合,应该提示语法错误
|
|
78
|
+
if (currentChar == null) {
|
|
79
|
+
throw new Error('The comment is not closed.');
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
currentBlock += "*/";
|
|
83
|
+
next(); next();
|
|
84
|
+
|
|
85
|
+
blocks.push({
|
|
86
|
+
value: currentBlock,
|
|
87
|
+
type: "comment-double"
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
// 如果是注释
|
|
92
|
+
// // 类型二
|
|
93
|
+
else if (nextNValue(2) == '//') {
|
|
94
|
+
currentBlock = '';
|
|
95
|
+
|
|
96
|
+
while (currentChar != '\n' && currentChar != null) {
|
|
97
|
+
currentBlock += currentChar;
|
|
98
|
+
next();
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
blocks.push({
|
|
102
|
+
value: currentBlock,
|
|
103
|
+
type: "comment-single"
|
|
104
|
+
});
|
|
105
|
+
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
// 如果是结束
|
|
109
|
+
// }
|
|
110
|
+
else if (currentChar == '}') {
|
|
111
|
+
|
|
112
|
+
blocks.push({
|
|
113
|
+
value: "}",
|
|
114
|
+
type: "end"
|
|
115
|
+
});
|
|
116
|
+
|
|
117
|
+
next();
|
|
118
|
+
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
// 余下,只有两种情况:
|
|
122
|
+
// 1.如是是开始
|
|
123
|
+
// xxx {
|
|
124
|
+
// 2.可能是一个语句
|
|
125
|
+
// xxx : xxx ;
|
|
126
|
+
// 这两种都需要进一步匹配
|
|
127
|
+
else {
|
|
128
|
+
|
|
129
|
+
currentBlock = '';
|
|
130
|
+
|
|
131
|
+
// 目前先没有考虑下列情况:
|
|
132
|
+
// 语句 content:";"
|
|
133
|
+
while (currentChar != '{' && currentChar != ';' && currentChar != null) {
|
|
134
|
+
currentBlock += currentChar;
|
|
135
|
+
next();
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
if (currentChar == null) {
|
|
139
|
+
throw new Error('Statement or code block missing closure.');
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
blocks.push({
|
|
143
|
+
value: currentBlock + currentChar,
|
|
144
|
+
type: {
|
|
145
|
+
'{': "begin",
|
|
146
|
+
';': 'statement'
|
|
147
|
+
}[currentChar]
|
|
148
|
+
});
|
|
149
|
+
|
|
150
|
+
next();
|
|
151
|
+
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
return blocks;
|
|
157
|
+
};
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
module.exports = function (source) {
|
|
161
|
+
|
|
162
|
+
// 分析出代码块
|
|
163
|
+
|
|
164
|
+
let blocks = analyseBlock(source);
|
|
165
|
+
|
|
166
|
+
// 根据代码块获得最终代码
|
|
167
|
+
|
|
168
|
+
let i, j, cssCode = "", preSelectorArray = [], deep = 0;
|
|
169
|
+
for (i = 0; i < blocks.length; i++) {
|
|
170
|
+
|
|
171
|
+
// 注释 double
|
|
172
|
+
if (blocks[i].type == 'comment-double') {
|
|
173
|
+
|
|
174
|
+
cssCode += blocks[i].value;
|
|
175
|
+
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
// 注释 single
|
|
179
|
+
else if (blocks[i].type == 'comment-single') {
|
|
180
|
+
|
|
181
|
+
cssCode += "\n/* " + blocks[i].value + " */\n";
|
|
182
|
+
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
// 开始
|
|
186
|
+
else if (blocks[i].type == 'begin') {
|
|
187
|
+
|
|
188
|
+
let preSplit = blocks[i].value.split(',');
|
|
189
|
+
let preSelect = [];
|
|
190
|
+
for (j = 0; j < preSplit.length; j++) {
|
|
191
|
+
|
|
192
|
+
// 去掉两端的空格
|
|
193
|
+
preSelect[j] = preSplit[j].replace(/\{$/, '').trim();
|
|
194
|
+
|
|
195
|
+
// 判断拼接方式
|
|
196
|
+
if (/^&/.test(preSelect[j])) {
|
|
197
|
+
preSelect[j] = preSelect[j].replace(/^&/, '');
|
|
198
|
+
} else {
|
|
199
|
+
preSelect[j] = " " + preSelect[j];
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
// 登记到前缀数组
|
|
205
|
+
preSelectorArray[deep] = preSelect;
|
|
206
|
+
deep += 1;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
// 结束
|
|
210
|
+
else if (blocks[i].type == 'end') {
|
|
211
|
+
|
|
212
|
+
deep -= 1;
|
|
213
|
+
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
// 语句
|
|
217
|
+
else if (blocks[i].type == 'statement') {
|
|
218
|
+
|
|
219
|
+
// 如果是第一个
|
|
220
|
+
j = 1;
|
|
221
|
+
let preType = blocks[i - j].type;
|
|
222
|
+
while (['comment-double', 'comment-single'].indexOf(preType) > -1) {
|
|
223
|
+
j += 1;
|
|
224
|
+
preType = blocks[i - j].type;
|
|
225
|
+
}
|
|
226
|
+
if (['end', 'begin'].indexOf(preType) > -1) {
|
|
227
|
+
cssCode += toSelector(preSelectorArray, deep);
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
cssCode += "\n" + blocks[i].value + "\n";
|
|
231
|
+
|
|
232
|
+
// 如果是最后一个
|
|
233
|
+
j = 1;
|
|
234
|
+
let nextType = blocks[i + j].type;
|
|
235
|
+
while (['comment-double', 'comment-single'].indexOf(nextType) > -1) {
|
|
236
|
+
j += 1;
|
|
237
|
+
nextType = blocks[i + j].type;
|
|
238
|
+
}
|
|
239
|
+
if (['end', 'begin'].indexOf(nextType) > -1) {
|
|
240
|
+
cssCode += "\n}\n";
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
return cssCode;
|
|
248
|
+
};
|