webpack css extract

master
evan 2019-10-08 19:28:32 -07:00
parent bbc5fac9fb
commit 87538dd1ac
6 changed files with 170 additions and 76 deletions

View File

@ -5,7 +5,7 @@
<meta charset="utf-8"> <meta charset="utf-8">
<link rel="icon" href="/favicon.ico"> <link rel="icon" href="/favicon.ico">
<script src="bundle.js"></script> <link rel="stylesheet" type="text/css" href="main.css">
</head> </head>
<body> <body>
@ -57,6 +57,8 @@
Export Export
</div> </div>
</div> </div>
<script src="bundle.js"></script>
</body> </body>
</html> </html>

2
dist/exporter/main.css vendored Normal file
View File

@ -0,0 +1,2 @@
body{background-color:#3d2b56}div{user-select:none;-moz-user-select:none;-webkit-user-drag:none;-webkit-user-select:none;-ms-user-select:none;display:block;color:#ccf5ac;font-family:"Arial", Helvetica, sans-serif}#helpButton{display:block;position:absolute;right:10px;top:10px;border:1px solid;border-radius:25px;width:25px;height:25px;line-height:25px;text-align:center}.hidden{display:none !important}#info{display:block;position:absolute;right:30px;top:10px;width:200px;text-align:center}.instruction{font-size:12px;margin:auto;width:80%;padding:8px;text-align:center;background-color:#2c497f;border-radius:5px}.center{margin:auto;padding:10px;text-align:center}.numberinput{width:64px}.spriteCanvas{padding:0;min-width:200px;border:1px solid;background-color:#859094}#top{padding-top:15vh;display:flex;flex-direction:row;justify-content:center;align-items:center;margin:0 auto;width:75%}#settings{display:flex;flex-direction:row;justify-content:center;align-content:center}.settingsItem{display:flex;flex-direction:row;margin:12px;padding:4px;text-align:center}.settingsItem input{width:80%}.settingsItem .label{margin:5px}.settingsItem input{border-radius:5px}#frameNumber{text-align:right}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type='number']{-moz-appearance:textfield}#framerate{width:50px;text-align:center}.borderbox{font-size:12px;margin:auto;width:50%;padding:8px;text-align:center}#frameViewer{display:flex;flex-direction:row;align-items:center;justify-content:center}.frame{flex:1;width:32px;height:32px;max-width:32px;color:#ccf5ac;padding:1px;display:inline-block;border:2px solid #6b7578;background-color:#7a8386;align-items:center}.frame.warning{border:2px solid #aa093a;background-color:#6e545c}.frame.selected{border:2px solid #09e7ca;background-color:#4d998f}.frame.selected.warning{border:2px solid #ff044f;background-color:#aa093a}.errorMessage{font-size:12px;width:50%;border:4px solid #aa093a;padding:1px;text-align:center;margin:0 auto}.warningMessage{display:block;color:#ff1d61;background-color:#6e545c;font-family:"Arial", Helvetica, sans-serif}body{background-color:#3d2b56}#dropZone{width:100%;height:100%}#canvasImage{image-rendering:pixelated}.pinContainer{display:inline-grid}.pinButtonContainer{grid-row-start:1;grid-row-end:1;width:75px;height:75px;font-size:12px;border:2px solid #6b7578;border-radius:5px;padding:1px;text-align:center;vertical-align:middle;line-height:75px;margin:5px}.pinButtonContainer.warning{border:2px solid #aa093a;background-color:#6e545c}.pinButtonContainer.warning input{background-color:#6e545c}.pinButtonContainer.selected{border:2px solid #09e7ca;background-color:#4d998f}.pinButtonContainer.selected.warning{border:2px solid #ff044f;background-color:#aa093a}.pinButtonContainer.selected.warning input{background-color:#aa093a}.pinButtonContainer.selected input{background-color:#4d998f}.pinButtonContainer input{background-color:#3d2b56;width:80%;height:20px;transform:translateY(27.5px);border:none;color:#ccf5ac;text-align:center;font-size:10px}#addpin{display:inline-block;width:75px;height:75px;background-color:#6e545c;font-size:4vw}.removeButton{display:block;margin:0 auto;position:relative;transform:translate(37.5px, -32.5px);width:15px;border:1px solid;border-radius:50%;background-color:#9e0f22;color:#e3e3ec;height:15px;line-height:15px}#exportButton{display:block;margin:0 auto;margin-top:20px;width:150px;height:50px;line-height:50px;font-size:30px;text-align:center;border:1px solid;border-radius:5px}

View File

@ -21,6 +21,7 @@
"devDependencies": { "devDependencies": {
"css-loader": "^3.2.0", "css-loader": "^3.2.0",
"fibers": "^4.0.1", "fibers": "^4.0.1",
"mini-css-extract-plugin": "^0.8.0",
"node-sass": "^4.12.0", "node-sass": "^4.12.0",
"prettier": "^1.18.2", "prettier": "^1.18.2",
"sass": "^1.23.0", "sass": "^1.23.0",

View File

@ -6,18 +6,19 @@ dependencies:
devDependencies: devDependencies:
css-loader: 3.2.0_webpack@4.41.0 css-loader: 3.2.0_webpack@4.41.0
fibers: 4.0.1 fibers: 4.0.1
mini-css-extract-plugin: 0.8.0_webpack@4.41.0
node-sass: 4.12.0 node-sass: 4.12.0
prettier: 1.18.2 prettier: 1.18.2
sass: 1.23.0 sass: 1.23.0
sass-loader: 8.0.0_715f5a3aa1d72bfc7553feba4f455297 sass-loader: 8.0.0_715f5a3aa1d72bfc7553feba4f455297
style-loader: 1.0.0_webpack@4.41.0 style-loader: 1.0.0_webpack@4.41.0
ts-loader: 6.1.2_typescript@3.6.3 ts-loader: 6.2.0_typescript@3.6.3
tslint: 5.20.0_typescript@3.6.3 tslint: 5.20.0_typescript@3.6.3
tslint-config-prettier: 1.18.0 tslint-config-prettier: 1.18.0
typescript: 3.6.3 typescript: 3.6.3
webpack: 4.41.0_webpack@4.41.0 webpack: 4.41.0_webpack@4.41.0
webpack-cli: 3.3.9_webpack@4.41.0 webpack-cli: 3.3.9_webpack@4.41.0
webpack-dev-server: 3.8.1_webpack@4.41.0 webpack-dev-server: 3.8.2_webpack@4.41.0
lockfileVersion: 5.1 lockfileVersion: 5.1
packages: packages:
/@babel/code-frame/7.5.5: /@babel/code-frame/7.5.5:
@ -46,13 +47,13 @@ packages:
dependencies: dependencies:
'@types/events': 3.0.0 '@types/events': 3.0.0
'@types/minimatch': 3.0.3 '@types/minimatch': 3.0.3
'@types/node': 12.7.7 '@types/node': 12.7.12
dev: true dev: true
resolution: resolution:
integrity: sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w== integrity: sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==
/@types/jszip/3.1.6: /@types/jszip/3.1.6:
dependencies: dependencies:
'@types/node': 12.7.8 '@types/node': 12.7.12
dev: false dev: false
resolution: resolution:
integrity: sha512-m8uFcI+O2EupCfbEVQWsBM/4nhbegjOHL7cQgBpM95FeF98kdFJXzy9/8yhx4b3lCRl/gMBhcvyh30Qt3X+XPQ== integrity: sha512-m8uFcI+O2EupCfbEVQWsBM/4nhbegjOHL7cQgBpM95FeF98kdFJXzy9/8yhx4b3lCRl/gMBhcvyh30Qt3X+XPQ==
@ -60,14 +61,9 @@ packages:
dev: true dev: true
resolution: resolution:
integrity: sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== integrity: sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==
/@types/node/12.7.7: /@types/node/12.7.12:
dev: true
resolution: resolution:
integrity: sha512-4jUncNe2tj1nmrO/34PsRpZqYVnRV1svbU78cKhuQKkMntKB/AmdLyGgswcZKjFHEHGpiY8pVD8CuVI55nP54w== integrity: sha512-KPYGmfD0/b1eXurQ59fXD1GBzhSQfz6/lKBxkaHX9dKTzjXbK68Zt7yGUxUsCS1jeTy/8aL+d9JEr+S54mpkWQ==
/@types/node/12.7.8:
dev: false
resolution:
integrity: sha512-FMdVn84tJJdV+xe+53sYiZS4R5yn1mAIxfj+DVoNiQjTYz1+OYmjwEZr1ev9nU0axXwda0QDbYl06QHanRVH3A==
/@webassemblyjs/ast/1.8.5: /@webassemblyjs/ast/1.8.5:
dependencies: dependencies:
'@webassemblyjs/helper-module-context': 1.8.5 '@webassemblyjs/helper-module-context': 1.8.5
@ -509,10 +505,10 @@ packages:
node: 0.4 || >=0.5.8 node: 0.4 || >=0.5.8
resolution: resolution:
integrity: sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo= integrity: sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=
/bluebird/3.5.5: /bluebird/3.7.0:
dev: true dev: true
resolution: resolution:
integrity: sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w== integrity: sha512-aBQ1FxIa7kSWCcmKHlcHFlT2jt6J/l4FzC7KcPELkOJOsPOb/bccdhmIrKDfXhwFrmc7vDoDrrepFvGqjyXGJg==
/bn.js/4.11.8: /bn.js/4.11.8:
dev: true dev: true
resolution: resolution:
@ -678,8 +674,8 @@ packages:
integrity: sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== integrity: sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==
/cacache/12.0.3: /cacache/12.0.3:
dependencies: dependencies:
bluebird: 3.5.5 bluebird: 3.7.0
chownr: 1.1.2 chownr: 1.1.3
figgy-pudding: 3.5.1 figgy-pudding: 3.5.1
glob: 7.1.4 glob: 7.1.4
graceful-fs: 4.2.2 graceful-fs: 4.2.2
@ -799,10 +795,10 @@ packages:
fsevents: 2.1.0 fsevents: 2.1.0
resolution: resolution:
integrity: sha512-/j5PPkb5Feyps9e+jo07jUZGvkB5Aj953NrI4s8xSVScrAo/RHeILrtdb4uzR7N6aaFFxxJ+gt8mA8HfNpw76w== integrity: sha512-/j5PPkb5Feyps9e+jo07jUZGvkB5Aj953NrI4s8xSVScrAo/RHeILrtdb4uzR7N6aaFFxxJ+gt8mA8HfNpw76w==
/chownr/1.1.2: /chownr/1.1.3:
dev: true dev: true
resolution: resolution:
integrity: sha512-GkfeAQh+QNy3wquu9oIZr6SS5x7wGdSgNQvD10X3r+AZr1Oys22HW8kAmDMvNg2+Dm0TeGaEuO8gFwdBXxwO8A== integrity: sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==
/chrome-trace-event/1.0.2: /chrome-trace-event/1.0.2:
dependencies: dependencies:
tslib: 1.10.0 tslib: 1.10.0
@ -896,10 +892,10 @@ packages:
node: '>= 0.8' node: '>= 0.8'
resolution: resolution:
integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
/commander/2.20.0: /commander/2.20.1:
dev: true dev: true
resolution: resolution:
integrity: sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ== integrity: sha512-cCuLsMhJeWQ/ZpsFTbE765kvVfoeSddc4nU3up4fV+fDBcfUXnbITJ+JzhkdjzOqhURjZgujxaioam4RM9yGUg==
/commondir/1.0.1: /commondir/1.0.1:
dev: true dev: true
resolution: resolution:
@ -910,7 +906,7 @@ packages:
integrity: sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== integrity: sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==
/compressible/2.0.17: /compressible/2.0.17:
dependencies: dependencies:
mime-db: 1.41.0 mime-db: 1.42.0
dev: true dev: true
engines: engines:
node: '>= 0.6' node: '>= 0.6'
@ -1306,7 +1302,7 @@ packages:
integrity: sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== integrity: sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==
/duplexify/3.7.1: /duplexify/3.7.1:
dependencies: dependencies:
end-of-stream: 1.4.3 end-of-stream: 1.4.4
inherits: 2.0.4 inherits: 2.0.4
readable-stream: 2.3.6 readable-stream: 2.3.6
stream-shift: 1.0.0 stream-shift: 1.0.0
@ -1352,12 +1348,12 @@ packages:
node: '>= 0.8' node: '>= 0.8'
resolution: resolution:
integrity: sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= integrity: sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=
/end-of-stream/1.4.3: /end-of-stream/1.4.4:
dependencies: dependencies:
once: 1.4.0 once: 1.4.0
dev: true dev: true
resolution: resolution:
integrity: sha512-cbNhPFS6MlYlWTGncSiDYbdqKhwWFy7kNeb1YSOG6K65i/wPTkLVCJQj0hXA4j0m5Da+hBWnqopEnu1FFelisQ== integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==
/enhanced-resolve/4.1.0: /enhanced-resolve/4.1.0:
dependencies: dependencies:
graceful-fs: 4.2.2 graceful-fs: 4.2.2
@ -1368,6 +1364,16 @@ packages:
node: '>=6.9.0' node: '>=6.9.0'
resolution: resolution:
integrity: sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng== integrity: sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==
/enhanced-resolve/4.1.1:
dependencies:
graceful-fs: 4.2.2
memory-fs: 0.5.0
tapable: 1.1.3
dev: true
engines:
node: '>=6.9.0'
resolution:
integrity: sha512-98p2zE+rL7/g/DzMHMTF4zZlCgeVdJ7yr6xzEpJRYwFYrGi9ANdn5DnJURg6RpBkyk60XYDnWIv51VfIhfNGuA==
/errno/0.1.7: /errno/0.1.7:
dependencies: dependencies:
prr: 1.0.1 prr: 1.0.1
@ -1573,12 +1579,6 @@ packages:
'0': node >=0.6.0 '0': node >=0.6.0
resolution: resolution:
integrity: sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= integrity: sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=
/extsprintf/1.4.0:
dev: true
engines:
'0': node >=0.6.0
resolution:
integrity: sha1-4mifjzVvrWLMplo6kcXfX5VRaS8=
/fast-deep-equal/2.0.1: /fast-deep-equal/2.0.1:
dev: true dev: true
resolution: resolution:
@ -2061,10 +2061,10 @@ packages:
node: '>=0.10.0' node: '>=0.10.0'
resolution: resolution:
integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA== integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==
/hosted-git-info/2.8.4: /hosted-git-info/2.8.5:
dev: true dev: true
resolution: resolution:
integrity: sha512-pzXIvANXEFrc5oFFXRMkbLPQ2rXRoDERwDLyrcUxGhaZhgP54BBSl9Oheh7Vv0T090cszWBxPjkQQ5Sq1PbBRQ== integrity: sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg==
/hpack.js/2.1.6: /hpack.js/2.1.6:
dependencies: dependencies:
inherits: 2.0.4 inherits: 2.0.4
@ -2295,12 +2295,12 @@ packages:
node: '>= 0.10' node: '>= 0.10'
resolution: resolution:
integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==
/is-absolute-url/3.0.2: /is-absolute-url/3.0.3:
dev: true dev: true
engines: engines:
node: '>=8' node: '>=8'
resolution: resolution:
integrity: sha512-+5g/wLlcm1AcxSP7014m6GvbPHswDx980vD/3bZaap8aGV9Yfs7Q6y6tfaupgZ5O74Byzc8dGrSCJ+bFXx0KdA== integrity: sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==
/is-accessor-descriptor/0.1.6: /is-accessor-descriptor/0.1.6:
dependencies: dependencies:
kind-of: 3.2.2 kind-of: 3.2.2
@ -2483,6 +2483,12 @@ packages:
node: '>=6' node: '>=6'
resolution: resolution:
integrity: sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg== integrity: sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==
/is-plain-obj/1.1.0:
dev: true
engines:
node: '>=0.10.0'
resolution:
integrity: sha1-caUMhCnfync8kqOQpKA7OfzVHT4=
/is-plain-object/2.0.4: /is-plain-object/2.0.4:
dependencies: dependencies:
isobject: 3.0.1 isobject: 3.0.1
@ -2736,7 +2742,7 @@ packages:
integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==
/lru-cache/5.1.1: /lru-cache/5.1.1:
dependencies: dependencies:
yallist: 3.0.3 yallist: 3.1.1
dev: true dev: true
resolution: resolution:
integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==
@ -2812,6 +2818,15 @@ packages:
dev: true dev: true
resolution: resolution:
integrity: sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= integrity: sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=
/memory-fs/0.5.0:
dependencies:
errno: 0.1.7
readable-stream: 2.3.6
dev: true
engines:
node: '>=4.3.0 <5.0.0 || >=5.10'
resolution:
integrity: sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==
/meow/3.7.0: /meow/3.7.0:
dependencies: dependencies:
camelcase-keys: 2.1.0 camelcase-keys: 2.1.0
@ -2882,12 +2897,12 @@ packages:
node: '>= 0.6' node: '>= 0.6'
resolution: resolution:
integrity: sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA== integrity: sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==
/mime-db/1.41.0: /mime-db/1.42.0:
dev: true dev: true
engines: engines:
node: '>= 0.6' node: '>= 0.6'
resolution: resolution:
integrity: sha512-B5gxBI+2K431XW8C2rcc/lhppbuji67nf9v39eH8pkWoZDxnAL0PxdpH32KYRScniF8qDHBDlI+ipgg5WrCUYw== integrity: sha512-UbfJCR4UAVRNgMpfImz05smAXK7+c+ZntjaA26ANtkXLlOe947Aag5zdIcKQULAiF9Cq4WxBi9jUs5zkA84bYQ==
/mime-types/2.1.24: /mime-types/2.1.24:
dependencies: dependencies:
mime-db: 1.40.0 mime-db: 1.40.0
@ -2916,6 +2931,20 @@ packages:
node: '>=6' node: '>=6'
resolution: resolution:
integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
/mini-css-extract-plugin/0.8.0_webpack@4.41.0:
dependencies:
loader-utils: 1.2.3
normalize-url: 1.9.1
schema-utils: 1.0.0
webpack: 4.41.0_webpack@4.41.0
webpack-sources: 1.4.3
dev: true
engines:
node: '>= 6.9.0'
peerDependencies:
webpack: ^4.4.0
resolution:
integrity: sha512-MNpRGbNA52q6U92i0qbVpQNsgk7LExy41MdAlG84FeytfDOtRIf/mCHdEgG8rpTKOaNKiqUnZdlptF469hxqOw==
/minimalistic-assert/1.0.1: /minimalistic-assert/1.0.1:
dev: true dev: true
resolution: resolution:
@ -2942,7 +2971,7 @@ packages:
dependencies: dependencies:
concat-stream: 1.6.2 concat-stream: 1.6.2
duplexify: 3.7.1 duplexify: 3.7.1
end-of-stream: 1.4.3 end-of-stream: 1.4.4
flush-write-stream: 1.1.1 flush-write-stream: 1.1.1
from2: 2.3.0 from2: 2.3.0
parallel-transform: 1.2.0 parallel-transform: 1.2.0
@ -3042,10 +3071,12 @@ packages:
dev: true dev: true
resolution: resolution:
integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==
/node-forge/0.8.2: /node-forge/0.9.0:
dev: true dev: true
engines:
node: '>= 4.5.0'
resolution: resolution:
integrity: sha512-mXQ9GBq1N3uDCyV1pdSzgIguwgtVpM7f5/5J4ipz12PKWElmPpVWLDuWl8iXmhysr21+WmX/OJ5UKx82wjomgg== integrity: sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ==
/node-gyp/3.8.0: /node-gyp/3.8.0:
dependencies: dependencies:
fstream: 1.0.12 fstream: 1.0.12
@ -3129,7 +3160,7 @@ packages:
integrity: sha1-xkZdvwirzU2zWTF/eaxopkayj/k= integrity: sha1-xkZdvwirzU2zWTF/eaxopkayj/k=
/normalize-package-data/2.5.0: /normalize-package-data/2.5.0:
dependencies: dependencies:
hosted-git-info: 2.8.4 hosted-git-info: 2.8.5
resolve: 1.12.0 resolve: 1.12.0
semver: 5.7.1 semver: 5.7.1
validate-npm-package-license: 3.0.4 validate-npm-package-license: 3.0.4
@ -3150,6 +3181,17 @@ packages:
node: '>=0.10.0' node: '>=0.10.0'
resolution: resolution:
integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
/normalize-url/1.9.1:
dependencies:
object-assign: 4.1.1
prepend-http: 1.0.4
query-string: 4.3.4
sort-keys: 1.1.2
dev: true
engines:
node: '>=4'
resolution:
integrity: sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=
/npm-run-path/2.0.2: /npm-run-path/2.0.2:
dependencies: dependencies:
path-key: 2.0.1 path-key: 2.0.1
@ -3589,6 +3631,12 @@ packages:
node: '>=6.0.0' node: '>=6.0.0'
resolution: resolution:
integrity: sha512-/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g== integrity: sha512-/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g==
/prepend-http/1.0.4:
dev: true
engines:
node: '>=0.10.0'
resolution:
integrity: sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=
/prettier/1.18.2: /prettier/1.18.2:
dev: true dev: true
engines: engines:
@ -3643,14 +3691,14 @@ packages:
integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==
/pump/2.0.1: /pump/2.0.1:
dependencies: dependencies:
end-of-stream: 1.4.3 end-of-stream: 1.4.4
once: 1.4.0 once: 1.4.0
dev: true dev: true
resolution: resolution:
integrity: sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== integrity: sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==
/pump/3.0.0: /pump/3.0.0:
dependencies: dependencies:
end-of-stream: 1.4.3 end-of-stream: 1.4.4
once: 1.4.0 once: 1.4.0
dev: true dev: true
resolution: resolution:
@ -3689,6 +3737,15 @@ packages:
node: '>=0.6' node: '>=0.6'
resolution: resolution:
integrity: sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== integrity: sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==
/query-string/4.3.4:
dependencies:
object-assign: 4.1.1
strict-uri-encode: 1.1.0
dev: true
engines:
node: '>=0.10.0'
resolution:
integrity: sha1-u7aTucqRXCMlFbIosaArYJBD2+s=
/querystring-es3/0.2.1: /querystring-es3/0.2.1:
dev: true dev: true
engines: engines:
@ -3999,13 +4056,6 @@ packages:
node-sass: ^4.0.0 node-sass: ^4.0.0
sass: ^1.3.0 sass: ^1.3.0
webpack: ^4.36.0 webpack: ^4.36.0
peerDependenciesMeta:
fibers:
optional: true
node-sass:
optional: true
sass:
optional: true
resolution: resolution:
integrity: sha512-+qeMu563PN7rPdit2+n5uuYVR0SSVwm0JsOUsaJXzgYcClWSlmX0iHDnmeOobPkf5kUglVot3QS6SyLyaQoJ4w== integrity: sha512-+qeMu563PN7rPdit2+n5uuYVR0SSVwm0JsOUsaJXzgYcClWSlmX0iHDnmeOobPkf5kUglVot3QS6SyLyaQoJ4w==
/sass/1.23.0: /sass/1.23.0:
@ -4047,12 +4097,12 @@ packages:
dev: true dev: true
resolution: resolution:
integrity: sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= integrity: sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=
/selfsigned/1.10.6: /selfsigned/1.10.7:
dependencies: dependencies:
node-forge: 0.8.2 node-forge: 0.9.0
dev: true dev: true
resolution: resolution:
integrity: sha512-i3+CeqxL7DpAazgVpAGdKMwHuL63B5nhJMh9NQ7xmChGkA3jNFflq6Jyo1LLJYcr3idWiNOPWHCrm4zMayLG4w== integrity: sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA==
/semver/5.3.0: /semver/5.3.0:
dev: true dev: true
hasBin: true hasBin: true
@ -4235,6 +4285,14 @@ packages:
dev: true dev: true
resolution: resolution:
integrity: sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw== integrity: sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==
/sort-keys/1.1.2:
dependencies:
is-plain-obj: 1.1.0
dev: true
engines:
node: '>=0.10.0'
resolution:
integrity: sha1-RBttTTRnmPG05J6JIK37oOVD+a0=
/source-list-map/2.0.1: /source-list-map/2.0.1:
dev: true dev: true
resolution: resolution:
@ -4390,7 +4448,7 @@ packages:
integrity: sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg== integrity: sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==
/stream-each/1.2.3: /stream-each/1.2.3:
dependencies: dependencies:
end-of-stream: 1.4.3 end-of-stream: 1.4.4
stream-shift: 1.0.0 stream-shift: 1.0.0
dev: true dev: true
resolution: resolution:
@ -4409,6 +4467,12 @@ packages:
dev: true dev: true
resolution: resolution:
integrity: sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI= integrity: sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=
/strict-uri-encode/1.1.0:
dev: true
engines:
node: '>=0.10.0'
resolution:
integrity: sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=
/string-width/1.0.2: /string-width/1.0.2:
dependencies: dependencies:
code-point-at: 1.1.0 code-point-at: 1.1.0
@ -4552,7 +4616,7 @@ packages:
schema-utils: 1.0.0 schema-utils: 1.0.0
serialize-javascript: 1.9.1 serialize-javascript: 1.9.1
source-map: 0.6.1 source-map: 0.6.1
terser: 4.3.2 terser: 4.3.8
webpack: 4.41.0_webpack@4.41.0 webpack: 4.41.0_webpack@4.41.0
webpack-sources: 1.4.3 webpack-sources: 1.4.3
worker-farm: 1.7.0 worker-farm: 1.7.0
@ -4563,9 +4627,9 @@ packages:
webpack: ^4.0.0 webpack: ^4.0.0
resolution: resolution:
integrity: sha512-ZXmmfiwtCLfz8WKZyYUuuHf3dMYEjg8NrjHMb0JqHVHVOSkzp3cW2/XG1fP3tRhqEqSzMwzzRQGtAPbs4Cncxg== integrity: sha512-ZXmmfiwtCLfz8WKZyYUuuHf3dMYEjg8NrjHMb0JqHVHVOSkzp3cW2/XG1fP3tRhqEqSzMwzzRQGtAPbs4Cncxg==
/terser/4.3.2: /terser/4.3.8:
dependencies: dependencies:
commander: 2.20.0 commander: 2.20.1
source-map: 0.6.1 source-map: 0.6.1
source-map-support: 0.5.13 source-map-support: 0.5.13
dev: true dev: true
@ -4573,7 +4637,7 @@ packages:
node: '>=6.0.0' node: '>=6.0.0'
hasBin: true hasBin: true
resolution: resolution:
integrity: sha512-obxk4x19Zlzj9zY4QeXj9iPCb5W8YGn4v3pn4/fHj0Nw8+R7N02Kvwvz9VpOItCZZD8RC+vnYCDL0gP6FAJ7Xg== integrity: sha512-otmIRlRVmLChAWsnSFNO0Bfk6YySuBp6G9qrHiJwlLDd4mxe2ta4sjI7TzIR+W1nBMjilzrMcPOz9pSusgx3hQ==
/through2/2.0.5: /through2/2.0.5:
dependencies: dependencies:
readable-stream: 2.3.6 readable-stream: 2.3.6
@ -4660,10 +4724,10 @@ packages:
dev: true dev: true
resolution: resolution:
integrity: sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew== integrity: sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==
/ts-loader/6.1.2_typescript@3.6.3: /ts-loader/6.2.0_typescript@3.6.3:
dependencies: dependencies:
chalk: 2.4.2 chalk: 2.4.2
enhanced-resolve: 4.1.0 enhanced-resolve: 4.1.1
loader-utils: 1.2.3 loader-utils: 1.2.3
micromatch: 4.0.2 micromatch: 4.0.2
semver: 6.3.0 semver: 6.3.0
@ -4674,7 +4738,7 @@ packages:
peerDependencies: peerDependencies:
typescript: '*' typescript: '*'
resolution: resolution:
integrity: sha512-dudxFKm0Ellrg/gLNlu+97/UgwvoMK0SdUVImPUSzq3IcRUVtShylZvcMX+CgvCQL1BEKb913NL0gAP1GA/OFw== integrity: sha512-Da8h3fD+HiZ9GvZJydqzk3mTC9nuOKYlJcpuk+Zv6Y1DPaMvBL+56GRzZFypx2cWrZFMsQr869+Ua2slGoLxvQ==
/tslib/1.10.0: /tslib/1.10.0:
dev: true dev: true
resolution: resolution:
@ -4691,7 +4755,7 @@ packages:
'@babel/code-frame': 7.5.5 '@babel/code-frame': 7.5.5
builtin-modules: 1.1.1 builtin-modules: 1.1.1
chalk: 2.4.2 chalk: 2.4.2
commander: 2.20.0 commander: 2.20.1
diff: 4.0.1 diff: 4.0.1
glob: 7.1.4 glob: 7.1.4
js-yaml: 3.13.1 js-yaml: 3.13.1
@ -4878,7 +4942,7 @@ packages:
dependencies: dependencies:
assert-plus: 1.0.0 assert-plus: 1.0.0
core-util-is: 1.0.2 core-util-is: 1.0.2
extsprintf: 1.4.0 extsprintf: 1.3.0
dev: true dev: true
engines: engines:
'0': node >=0.6.0 '0': node >=0.6.0
@ -4924,7 +4988,7 @@ packages:
webpack: 4.x.x webpack: 4.x.x
resolution: resolution:
integrity: sha512-xwnSxWl8nZtBl/AFJCOn9pG7s5CYUYdZxmmukv+fAHLcBIHM36dImfpQg3WfShZXeArkWlf6QRw24Klcsv8a5A== integrity: sha512-xwnSxWl8nZtBl/AFJCOn9pG7s5CYUYdZxmmukv+fAHLcBIHM36dImfpQg3WfShZXeArkWlf6QRw24Klcsv8a5A==
/webpack-dev-middleware/3.7.1_webpack@4.41.0: /webpack-dev-middleware/3.7.2_webpack@4.41.0:
dependencies: dependencies:
memory-fs: 0.4.1 memory-fs: 0.4.1
mime: 2.4.4 mime: 2.4.4
@ -4938,8 +5002,8 @@ packages:
peerDependencies: peerDependencies:
webpack: ^4.0.0 webpack: ^4.0.0
resolution: resolution:
integrity: sha512-5MWu9SH1z3hY7oHOV6Kbkz5x7hXbxK56mGHNqHTe6d+ewxOwKUxoUJBs7QIaJb33lPjl9bJZ3X0vCoooUzC36A== integrity: sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw==
/webpack-dev-server/3.8.1_webpack@4.41.0: /webpack-dev-server/3.8.2_webpack@4.41.0:
dependencies: dependencies:
ansi-html: 0.0.7 ansi-html: 0.0.7
bonjour: 3.5.0 bonjour: 3.5.0
@ -4954,14 +5018,14 @@ packages:
import-local: 2.0.0 import-local: 2.0.0
internal-ip: 4.3.0 internal-ip: 4.3.0
ip: 1.1.5 ip: 1.1.5
is-absolute-url: 3.0.2 is-absolute-url: 3.0.3
killable: 1.0.1 killable: 1.0.1
loglevel: 1.6.4 loglevel: 1.6.4
opn: 5.5.0 opn: 5.5.0
p-retry: 3.0.1 p-retry: 3.0.1
portfinder: 1.0.24 portfinder: 1.0.24
schema-utils: 1.0.0 schema-utils: 1.0.0
selfsigned: 1.10.6 selfsigned: 1.10.7
semver: 6.3.0 semver: 6.3.0
serve-index: 1.9.1 serve-index: 1.9.1
sockjs: 0.3.19 sockjs: 0.3.19
@ -4971,7 +5035,7 @@ packages:
supports-color: 6.1.0 supports-color: 6.1.0
url: 0.11.0 url: 0.11.0
webpack: 4.41.0_webpack@4.41.0 webpack: 4.41.0_webpack@4.41.0
webpack-dev-middleware: 3.7.1_webpack@4.41.0 webpack-dev-middleware: 3.7.2_webpack@4.41.0
webpack-log: 2.0.0 webpack-log: 2.0.0
ws: 6.2.1 ws: 6.2.1
yargs: 12.0.5 yargs: 12.0.5
@ -4982,7 +5046,7 @@ packages:
peerDependencies: peerDependencies:
webpack: ^4.0.0 webpack: ^4.0.0
resolution: resolution:
integrity: sha512-9F5DnfFA9bsrhpUCAfQic/AXBVHvq+3gQS+x6Zj0yc1fVVE0erKh2MV4IV12TBewuTrYeeTIRwCH9qLMvdNvTw== integrity: sha512-0xxogS7n5jHDQWy0WST0q6Ykp7UGj4YvWh+HVN71JoE7BwPxMZrwgraBvmdEMbDVMBzF0u+mEzn8TQzBm5NYJQ==
/webpack-log/2.0.0: /webpack-log/2.0.0:
dependencies: dependencies:
ansi-colors: 3.2.4 ansi-colors: 3.2.4
@ -5009,7 +5073,7 @@ packages:
ajv: 6.10.2 ajv: 6.10.2
ajv-keywords: 3.4.1_ajv@6.10.2 ajv-keywords: 3.4.1_ajv@6.10.2
chrome-trace-event: 1.0.2 chrome-trace-event: 1.0.2
enhanced-resolve: 4.1.0 enhanced-resolve: 4.1.1
eslint-scope: 4.0.3 eslint-scope: 4.0.3
json-parse-better-errors: 1.0.2 json-parse-better-errors: 1.0.2
loader-runner: 2.4.0 loader-runner: 2.4.0
@ -5065,7 +5129,7 @@ packages:
integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
/wide-align/1.1.3: /wide-align/1.1.3:
dependencies: dependencies:
string-width: 2.1.1 string-width: 1.0.2
dev: true dev: true
resolution: resolution:
integrity: sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== integrity: sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==
@ -5122,10 +5186,10 @@ packages:
dev: true dev: true
resolution: resolution:
integrity: sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= integrity: sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=
/yallist/3.0.3: /yallist/3.1.1:
dev: true dev: true
resolution: resolution:
integrity: sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A== integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
/yargs-parser/11.1.1: /yargs-parser/11.1.1:
dependencies: dependencies:
camelcase: 5.3.1 camelcase: 5.3.1
@ -5204,6 +5268,7 @@ specifiers:
fibers: ^4.0.1 fibers: ^4.0.1
file-saver: ^2.0.2 file-saver: ^2.0.2
jszip: ^3.2.2 jszip: ^3.2.2
mini-css-extract-plugin: ^0.8.0
node-sass: ^4.12.0 node-sass: ^4.12.0
prettier: ^1.18.2 prettier: ^1.18.2
sass: ^1.23.0 sass: ^1.23.0

View File

@ -1,4 +1,5 @@
const path = require('path'); const path = require('path');
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
module.exports = { module.exports = {
mode: 'development', mode: 'development',
@ -13,6 +14,11 @@ module.exports = {
// Add `.ts` and `.tsx` as a resolvable extension. // Add `.ts` and `.tsx` as a resolvable extension.
extensions: [ '.ts', '.tsx', '.js' ] extensions: [ '.ts', '.tsx', '.js' ]
}, },
plugins: [
new MiniCssExtractPlugin({
filename: 'exporter/main.css'
})
],
module: { module: {
rules: [ rules: [
// all files with a `.ts` or `.tsx` extension will be handled by `ts-loader` // all files with a `.ts` or `.tsx` extension will be handled by `ts-loader`
@ -25,7 +31,13 @@ module.exports = {
}, },
{ {
test: /\.scss$/, test: /\.scss$/,
use: [ 'style-loader', 'css-loader', 'sass-loader?sourceMap' ] use: [
{
loader: MiniCssExtractPlugin.loader
},
'css-loader',
'sass-loader'
]
} }
] ]
}, },

View File

@ -1,4 +1,5 @@
const path = require('path'); const path = require('path');
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
module.exports = { module.exports = {
mode: 'production', mode: 'production',
@ -10,6 +11,11 @@ module.exports = {
// Add `.ts` and `.tsx` as a resolvable extension. // Add `.ts` and `.tsx` as a resolvable extension.
extensions: [ '.ts', '.tsx', '.js' ] extensions: [ '.ts', '.tsx', '.js' ]
}, },
plugins: [
new MiniCssExtractPlugin({
filename: 'exporter/main.css'
})
],
module: { module: {
rules: [ rules: [
// all files with a `.ts` or `.tsx` extension will be handled by `ts-loader` // all files with a `.ts` or `.tsx` extension will be handled by `ts-loader`
@ -22,7 +28,13 @@ module.exports = {
}, },
{ {
test: /\.scss$/, test: /\.scss$/,
use: [ 'style-loader', 'css-loader', 'sass-loader?sourceMap' ] use: [
{
loader: MiniCssExtractPlugin.loader
},
'css-loader',
'sass-loader'
]
} }
] ]
} }