Skip to content

Instantly share code, notes, and snippets.

@OzTK
Last active August 8, 2017 12:58
Show Gist options
  • Select an option

  • Save OzTK/a17647d1e501b74e68a7d13d48f2cef8 to your computer and use it in GitHub Desktop.

Select an option

Save OzTK/a17647d1e501b74e68a7d13d48f2cef8 to your computer and use it in GitHub Desktop.

Revisions

  1. OzTK revised this gist Aug 8, 2017. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion webpack.config.js
    Original file line number Diff line number Diff line change
    @@ -31,7 +31,7 @@ export = {
    use: [ 'style-loader', 'css-loader', 'elm-css-webpack-loader?module=UsersPageStylesheets' ]
    }
    ],
    noParse: [/\.elm$/]
    noParse: [/((?!styles).)*\.elm.*$/]
    },
    plugins: [/* Your plugins */],
    output: {
  2. OzTK revised this gist Jul 13, 2017. 1 changed file with 7 additions and 2 deletions.
    9 changes: 7 additions & 2 deletions webpack.config.js
    Original file line number Diff line number Diff line change
    @@ -21,9 +21,14 @@ export = {
    exclude: /node_modules/
    },
    {
    test: /Stylesheets\.elm$/,
    test: /HomePageStylesheets\.elm$/,
    exclude: [/elm-stuff/, /node_modules/ ],
    use: [ 'style-loader', 'css-loader', 'elm-css-webpack-loader' ]
    use: [ 'style-loader', 'css-loader', 'elm-css-webpack-loader?module=HomePageStylesheets' ]
    },
    {
    test: /UsersPageStylesheets\.elm$/,
    exclude: [/elm-stuff/, /node_modules/ ],
    use: [ 'style-loader', 'css-loader', 'elm-css-webpack-loader?module=UsersPageStylesheets' ]
    }
    ],
    noParse: [/\.elm$/]
  3. OzTK created this gist Jul 13, 2017.
    21 changes: 21 additions & 0 deletions HomePageStylesheets.elm
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,21 @@
    port module HomePageStylesheets exposing (..)

    import Css.File exposing (CssFileStructure, CssCompilerProgram)
    import MainStyle
    import UsersStyle


    port files : CssFileStructure -> Cmd msg


    fileStructure : CssFileStructure
    fileStructure =
    Css.File.toFileStructure
    [ ( "main.css", Css.File.compile [ MainStyle.css ] )
    , ( "home.css", Css.File.compile [ HomeStyle.css ] )
    ]


    main : CssCompilerProgram
    main =
    Css.File.compiler files fileStructure
    21 changes: 21 additions & 0 deletions UsersPageStylesheets.elm
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,21 @@
    port module UsersPageStylesheets exposing (..)

    import Css.File exposing (CssFileStructure, CssCompilerProgram)
    import MainStyle
    import UsersStyle


    port files : CssFileStructure -> Cmd msg


    fileStructure : CssFileStructure
    fileStructure =
    Css.File.toFileStructure
    [ ( "main.css", Css.File.compile [ MainStyle.css ] )
    , ( "users.css", Css.File.compile [ UsersStyle.css ] )
    ]


    main : CssCompilerProgram
    main =
    Css.File.compiler files fileStructure
    4 changes: 4 additions & 0 deletions home.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,4 @@
    import '../elm-src/styles/HomePageStylesheets';

    const ElmHome = require("../elm-src/Home.elm");
    ElmUsers.Home.embed(document.getElementById("app"), context);
    4 changes: 4 additions & 0 deletions users.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,4 @@
    import '../elm-src/styles/UsersPageStylesheets';

    const ElmUsers = require("../elm-src/Users.elm");
    ElmUsers.Users.embed(document.getElementById("app"), context);
    37 changes: 37 additions & 0 deletions webpack.config.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,37 @@
    const path = require('path');
    const webpack = require('webpack');

    export = {
    entry: {
    shared: ['./client/src/shared.js'],
    users: ['./client/src/users.js']
    },
    resolve: {
    extensions: ['.js', '.elm']
    },
    module: {
    rules: [
    {
    test: /(?!styles)\.elm$/,
    exclude: [/elm-stuff/, /node_modules/],
    use: ['elm-webpack-loader?verbose=true&warn=true']
    },
    { test: /\.css$/,
    use: [ 'style-loader', 'css-loader' ],
    exclude: /node_modules/
    },
    {
    test: /Stylesheets\.elm$/,
    exclude: [/elm-stuff/, /node_modules/ ],
    use: [ 'style-loader', 'css-loader', 'elm-css-webpack-loader' ]
    }
    ],
    noParse: [/\.elm$/]
    },
    plugins: [/* Your plugins */],
    output: {
    filename: 'javascripts/[chunkhash].[name].js',
    path: path.resolve(__dirname, 'public'),
    publicPath: '/'
    }
    }