CDN asset changes, SCSS entry file change

pull/773/head
hunterlong 2020-08-03 01:44:25 -07:00
parent 0ee9cffb78
commit 8e603ceda0
7 changed files with 41 additions and 23 deletions

View File

@ -4,6 +4,9 @@
- Modified notifications to not send on initial startup - Modified notifications to not send on initial startup
- Updated Incident UI - Updated Incident UI
- Added additional testing for notifications - Added additional testing for notifications
- Modified SCSS/SASS files to be generated from 1, main.scss to main.css
- Modified index page to use /assets directory for assets, (main.css, style.css)
- Modified index page to use CDN asset paths
# 0.90.61 (07-22-2020) # 0.90.61 (07-22-2020)
- Modified sass layouts, organized and split up sections - Modified sass layouts, organized and split up sections

View File

@ -136,7 +136,9 @@ frontend-build:
@rm -rf source/dist && rm -rf frontend/dist @rm -rf source/dist && rm -rf frontend/dist
@echo "yarn install and build static frontend" @echo "yarn install and build static frontend"
cd frontend && yarn && yarn build cd frontend && yarn && yarn build
@cp -r frontend/dist source/ && cp -r frontend/src/assets/scss source/dist/ @cp -r frontend/dist source/
@cp -r frontend/src/assets/scss source/dist/
@cp -r frontend/public/main.scss source/dist/scss/
@cp -r source/tmpl/*.* source/dist/ @cp -r source/tmpl/*.* source/dist/
@cp -r frontend/public/favicon source/dist/ @cp -r frontend/public/favicon source/dist/
@echo "Frontend build complete at ./source/dist" @echo "Frontend build complete at ./source/dist"

View File

@ -60,6 +60,9 @@ const webpackConfig = merge(commonConfig, {
plugins: [ plugins: [
new webpack.EnvironmentPlugin(environment), new webpack.EnvironmentPlugin(environment),
new CleanWebpackPlugin(), new CleanWebpackPlugin(),
new webpack.optimize.LimitChunkCountPlugin({
maxChunks: 1
}),
new MiniCSSExtractPlugin({ new MiniCSSExtractPlugin({
filename: 'css/[name].css', filename: 'css/[name].css',
chunkFilename: 'css/[name].css' chunkFilename: 'css/[name].css'

View File

@ -43,12 +43,9 @@
<meta property="twitter:image" content="favicon/social.png"> <meta property="twitter:image" content="favicon/social.png">
{{if USE_CDN}} {{if USE_CDN}}
<link rel="stylesheet" href="https://assets.statping.com/vendor.css">
<link rel="stylesheet" href="https://assets.statping.com/style.css"> <link rel="stylesheet" href="https://assets.statping.com/style.css">
<link rel="stylesheet" href="https://assets.statping.com/main.css"> <link rel="stylesheet" href="https://assets.statping.com/main.css">
{{else}} {{else if USING_ASSETS }}
{{if USING_ASSETS}}
<link href="css/vendor.css" rel="stylesheet">
<link href="css/style.css" rel="stylesheet"> <link href="css/style.css" rel="stylesheet">
<link href="css/main.css" rel="stylesheet"> <link href="css/main.css" rel="stylesheet">
{{else}} {{else}}
@ -66,10 +63,14 @@
{{if USE_CDN}} {{if USE_CDN}}
<script src="https://assets.statping.com/bundle.js"></script> <script src="https://assets.statping.com/bundle.js"></script>
<script src="https://assets.statping.com/vendor.chunk.js"></script>
<script src="https://assets.statping.com/polyfill.chunk.js"></script> <script src="https://assets.statping.com/polyfill.chunk.js"></script>
<script src="https://assets.statping.com/style.chunk.js"></script> <script src="https://assets.statping.com/style.chunk.js"></script>
<script src="https://assets.statping.com/main.chunk.js"></script> <script src="https://assets.statping.com/main.chunk.js"></script>
{{else if USING_ASSETS }}
<script src="js/bundle.js"></script>
<script src="js/polyfill.chunk.js"></script>
<script src="js/style.chunk.js"></script>
<script src="js/main.chunk.js"></script>
{{else}} {{else}}
<% _.each(htmlWebpackPlugin.tags.bodyTags, function(bodyTag) { %> <% _.each(htmlWebpackPlugin.tags.bodyTags, function(bodyTag) { %>
<%= bodyTag %> <% }) %> <%= bodyTag %> <% }) %>

View File

@ -0,0 +1,6 @@
@import 'variables';
@import 'mixin';
@import 'base';
@import 'forms';
@import 'layout';
@import 'mobile';

View File

@ -49,21 +49,20 @@ func CompileSASS(files ...string) error {
sassBin = bin sassBin = bin
} }
for _, file := range files { scssFile := filepath.Join(utils.Params.GetString("STATPING_DIR"), "assets", "scss", "main.scss")
scssFile := filepath.Join(utils.Params.GetString("STATPING_DIR"), "assets", file) log.Infoln(fmt.Sprintf("Compiling SASS %v into %v", scssFile, scssRendered(scssFile)))
log.Infoln(fmt.Sprintf("Compiling SASS %v into %v", scssFile, scssRendered(scssFile)))
stdout, stderr, err := utils.Command(sassBin, scssFile, scssRendered(scssFile)) stdout, stderr, err := utils.Command(sassBin, scssFile, scssRendered(scssFile))
if err != nil { if err != nil {
log.Errorln(fmt.Sprintf("Failed to compile assets with SASS %v", err)) log.Errorln(fmt.Sprintf("Failed to compile assets with SASS %v", err))
log.Errorln(fmt.Sprintf("%s %s %s", sassBin, scssFile, scssRendered(scssFile))) log.Errorln(fmt.Sprintf("%s %s %s", sassBin, scssFile, scssRendered(scssFile)))
return errors.Wrapf(err, "failed to compile assets, %s %s %s", err, stdout, stderr) return errors.Wrapf(err, "failed to compile assets, %s %s %s", err, stdout, stderr)
}
if stdout != "" || stderr != "" {
log.Infoln(fmt.Sprintf("out: %v | error: %v", stdout, stderr))
}
} }
if stdout != "" || stderr != "" {
log.Infoln(fmt.Sprintf("out: %v | error: %v", stdout, stderr))
}
log.Infoln("SASS Compiling is complete!") log.Infoln("SASS Compiling is complete!")
return nil return nil
} }
@ -103,10 +102,10 @@ func SaveAsset(data []byte, path string) error {
// OpenAsset returns a file's contents as a string // OpenAsset returns a file's contents as a string
func OpenAsset(path string) string { func OpenAsset(path string) string {
path = fmt.Sprintf("%s/assets/%s", utils.Directory, path) path = filepath.Join(utils.Directory, "assets", path)
data, err := utils.OpenFile(path) data, err := utils.OpenFile(path)
if err != nil { if err != nil {
log.Errorln(fmt.Sprintf("Failed to open %v, %v", path, err)) log.Errorln(fmt.Sprintf("Failed to open %s, %v", path, err))
return "" return ""
} }
return data return data
@ -114,7 +113,7 @@ func OpenAsset(path string) string {
// CreateAllAssets will dump HTML, CSS, SCSS, and JS assets into the '/assets' directory // CreateAllAssets will dump HTML, CSS, SCSS, and JS assets into the '/assets' directory
func CreateAllAssets(folder string) error { func CreateAllAssets(folder string) error {
log.Infoln(fmt.Sprintf("Dump Statping assets into %v/assets", folder)) log.Infoln(fmt.Sprintf("Dump Statping assets into %s/assets", folder))
fp := filepath.Join fp := filepath.Join
if err := MakePublicFolder(fp(folder, "/assets")); err != nil { if err := MakePublicFolder(fp(folder, "/assets")); err != nil {

View File

@ -25,12 +25,16 @@ func TestCore_UsingAssets(t *testing.T) {
func TestCreateAssets(t *testing.T) { func TestCreateAssets(t *testing.T) {
assert.Nil(t, CreateAllAssets(dir)) assert.Nil(t, CreateAllAssets(dir))
assert.FileExists(t, dir+"/assets/js/bundle.js")
assert.True(t, UsingAssets(dir)) assert.True(t, UsingAssets(dir))
assert.Nil(t, CompileSASS(DefaultScss...)) assert.Nil(t, CompileSASS(DefaultScss...))
assert.FileExists(t, dir+"/assets/css/style.css") assert.FileExists(t, dir+"/assets/css/style.css")
assert.FileExists(t, dir+"/assets/css/vendor.css") assert.FileExists(t, dir+"/assets/css/main.css")
assert.FileExists(t, dir+"/assets/scss/main.scss")
assert.FileExists(t, dir+"/assets/scss/base.scss") assert.FileExists(t, dir+"/assets/scss/base.scss")
assert.FileExists(t, dir+"/assets/scss/forms.scss")
assert.FileExists(t, dir+"/assets/scss/mobile.scss") assert.FileExists(t, dir+"/assets/scss/mobile.scss")
assert.FileExists(t, dir+"/assets/scss/layout.scss")
assert.FileExists(t, dir+"/assets/scss/variables.scss") assert.FileExists(t, dir+"/assets/scss/variables.scss")
} }