Advertisement
Guest User

Untitled

a guest
Oct 17th, 2019
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.20 KB | None | 0 0
  1. diff --git a/assets/js/App.svelte b/assets/js/App.svelte
  2. new file mode 100644
  3. index 0000000..221cde6
  4. --- /dev/null
  5. +++ b/assets/js/App.svelte
  6. @@ -0,0 +1,5 @@
  7. +<script>
  8. + export let name;
  9. +</script>
  10. +
  11. +<h1>Myapp {name}!</h1>
  12. diff --git a/assets/js/app.js b/assets/js/app.js
  13. index 3f8fc87..42a86c8 100644
  14. --- a/assets/js/app.js
  15. +++ b/assets/js/app.js
  16. @@ -14,3 +14,5 @@ import "phoenix_html"
  17. //
  18. // Local files can be imported directly using relative paths, for example:
  19. // import socket from "./socket"
  20. +//
  21. +import './svelte.js';
  22. diff --git a/assets/js/svelte.js b/assets/js/svelte.js
  23. new file mode 100644
  24. index 0000000..ddfc215
  25. --- /dev/null
  26. +++ b/assets/js/svelte.js
  27. @@ -0,0 +1,9 @@
  28. +import App from './App.svelte'
  29. +
  30. +const app = new App({
  31. + target: document.querySelector('.container'),
  32. + props: {
  33. + name: 'myapp'
  34. + }
  35. +})
  36. +export default app
  37. diff --git a/assets/package.json b/assets/package.json
  38. index e18310b..450fdb1 100644
  39. --- a/assets/package.json
  40. +++ b/assets/package.json
  41. @@ -14,6 +14,7 @@
  42. "@babel/core": "^7.0.0",
  43. "@babel/preset-env": "^7.0.0",
  44. "@dkuku/tailwind-color-palette": "^1.0.1",
  45. + "autoprefixer": "^9.6.1",
  46. "babel-loader": "^8.0.0",
  47. "copy-webpack-plugin": "^4.5.0",
  48. "css-loader": "^3.2.0",
  49. @@ -23,8 +24,10 @@
  50. "optimize-css-assets-webpack-plugin": "^5.0.3",
  51. "postcss-loader": "^3.0.0",
  52. "sass-loader": "^7.3.1",
  53. + "svelte": "^3.12.1",
  54. + "svelte-loader": "^2.13.6",
  55. "tailwindcss": "^1.1.2",
  56. - "uglifyjs-webpack-plugin": "^1.2.4",
  57. + "terser-webpack-plugin": "^2.1.1",
  58. "webpack": "4.4.0",
  59. "webpack-cli": "^3.3.9"
  60. }
  61. diff --git a/assets/webpack.config.js b/assets/webpack.config.js
  62. index 4464f61..e63da4c 100644
  63. --- a/assets/webpack.config.js
  64. +++ b/assets/webpack.config.js
  65. @@ -1,19 +1,27 @@
  66. const path = require('path');
  67. const glob = require('glob');
  68. const MiniCssExtractPlugin = require('mini-css-extract-plugin');
  69. -const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
  70. +const TerserPlugin = require('terser-webpack-plugin');
  71. const OptimizeCSSAssetsPlugin = require('optimize-css-assets-webpack-plugin');
  72. const CopyWebpackPlugin = require('copy-webpack-plugin');
  73. module.exports = (env, options) => ({
  74. optimization: {
  75. minimizer: [
  76. - new UglifyJsPlugin({ cache: true, parallel: true, sourceMap: false }),
  77. + new TerserPlugin(),
  78. new OptimizeCSSAssetsPlugin({})
  79. ]
  80. },
  81. entry: {
  82. './js/app.js': ['./js/app.js']
  83. },
  84. + resolve: {
  85. + alias: {
  86. + svelte: path.resolve('node_modules', 'svelte')
  87. + },
  88. + extensions: ['.mjs', '.js', '.svelte'],
  89. + mainFields: ['svelte', 'browser', 'module', 'main'],
  90. + modules: ['node_modules']
  91. + },
  92. output: {
  93. filename: 'app.js',
  94. path: path.resolve(__dirname, '../priv/static/js')
  95. @@ -43,6 +51,21 @@ module.exports = (env, options) => ({
  96. exclude: /node_modules/,
  97. use: {
  98. loader: 'babel-loader'
  99. + },
  100. + },
  101. + {
  102. + test: /\.mjs$/,
  103. + include: /node_modules/,
  104. + type: "javascript/auto",
  105. + },
  106. + {
  107. + test: /\.(html|svelte)$/,
  108. + exclude: /node_modules/,
  109. + use: {
  110. + loader: 'svelte-loader',
  111. + options: {
  112. + hotReload: true
  113. + }
  114. }
  115. }
  116. ]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement