add golang setup
This commit is contained in:
parent
5c6c078b65
commit
9e5f490209
@ -8,7 +8,6 @@ charset = utf-8
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
||||
|
||||
|
||||
[*.go]
|
||||
indent_style = tab
|
||||
indent_size = 4
|
||||
|
@ -1 +1,2 @@
|
||||
README.md
|
||||
Makefile
|
||||
|
7
.gitignore
vendored
7
.gitignore
vendored
@ -7,8 +7,15 @@ data/*.csv
|
||||
|
||||
# Ignore temp build artifacts
|
||||
/bin/*
|
||||
/dist/*
|
||||
!bin/.gitkeep
|
||||
|
||||
# Ignore Pester test result files
|
||||
coverage.xml
|
||||
testResults.xml
|
||||
|
||||
# Ignore NodeJS modules
|
||||
node_modules
|
||||
|
||||
# Ignore local env setups
|
||||
.env
|
||||
|
10
.prettierrc.json
Normal file
10
.prettierrc.json
Normal file
@ -0,0 +1,10 @@
|
||||
{
|
||||
"$schema": "https://json.schemastore.org/prettierrc",
|
||||
"arrowParens": "always",
|
||||
"bracketSpacing": true,
|
||||
"printWidth": 116,
|
||||
"semi": false,
|
||||
"singleQuote": true,
|
||||
"trailingComma": "all",
|
||||
"vueIndentScriptAndStyle": true
|
||||
}
|
5
.vscode/extensions.json
vendored
5
.vscode/extensions.json
vendored
@ -1,10 +1,11 @@
|
||||
{
|
||||
"recommendations": [
|
||||
"editorconfig.editorconfig",
|
||||
"esbenp.prettier-vscode",
|
||||
"golang.go",
|
||||
"vue.volar",
|
||||
"eamodio.gitlens",
|
||||
"streetsidesoftware.code-spell-checker",
|
||||
"streetsidesoftware.code-spell-checker-german",
|
||||
"bierner.emojisense",
|
||||
"ryanluker.vscode-coverage-gutters"
|
||||
]
|
||||
}
|
||||
|
2
.vscode/settings.json
vendored
2
.vscode/settings.json
vendored
@ -58,7 +58,7 @@
|
||||
"yaml",
|
||||
"yml"
|
||||
],
|
||||
"cSpell.language": "en-US,de-DE",
|
||||
"cSpell.language": "en-US",
|
||||
"cSpell.customDictionaries": {
|
||||
"project-words": {
|
||||
"name": "project-words",
|
||||
|
69
Makefile
Normal file
69
Makefile
Normal file
@ -0,0 +1,69 @@
|
||||
.DEFAULT_GOAL := build
|
||||
|
||||
BINARY_NAME := ${REPO_NAME}
|
||||
LDFLAGS := -s -w
|
||||
|
||||
arkanum-install:
|
||||
@echo "🤖 Installing required frameworks and runtimes with arkanum..."
|
||||
@arkanum install golang
|
||||
@arkanum install nodejs
|
||||
@echo "🚩 step done."
|
||||
|
||||
install:
|
||||
@echo "🤖 Installing frontend dependencies...(npm)"
|
||||
cd web && npm install
|
||||
@echo "🤖 Install backend dependencies...(golang)"
|
||||
go mod tidy
|
||||
@echo "🤖 Install global helpers..."
|
||||
npm install --global prettier
|
||||
@echo "🚩 step done."
|
||||
|
||||
lint:
|
||||
@echo "🤖 Running prettier linter in check mode..."
|
||||
pretier -c .
|
||||
|
||||
prettier:
|
||||
@echo "🤖 Running prettier linter in write mode..."
|
||||
prettier -w .
|
||||
|
||||
clean:
|
||||
@echo "🤖 Cleaning go cache..."
|
||||
@go clean
|
||||
@echo "🤖 Cleanig web / pb_public files..."
|
||||
@cd web && npm run clean
|
||||
@echo "🤖 Cleaning dist binaries..."
|
||||
@rm dist/${BINARY_NAME}-* || echo "Files already removed or not present. Ignore this error."
|
||||
@echo "🚩 step done."
|
||||
|
||||
build-frontend:
|
||||
@echo "📦 Building frontend artifacts..."
|
||||
@cd web && npm run build
|
||||
@echo "🚩 step done."
|
||||
|
||||
frontend-dev:
|
||||
@echo "🚀 Starting frontend dev server..."
|
||||
@cd web && npm run dev
|
||||
|
||||
build-linux: clean build-frontend
|
||||
@echo "📦 Building linux binary..."
|
||||
@CGO_ENABLED=0 GOARCH=amd64 GOOS=linux go build -a -v ldflags= '${LD_FLAGS}' -o dist/${BINARY_NAME}-linux-amd64 .
|
||||
@echo "🚩 step done."
|
||||
|
||||
build-win: clean build-frontend
|
||||
@echo "📦 Building windows binary..."
|
||||
@CGO_ENABLED=0 GOARCH=amd64 GOOS=windows go build -a -v ldflags= '${LD_FLAGS}' -o dist/${BINARY_NAME}-win-amd64 .
|
||||
@echo "🚩 step done."
|
||||
|
||||
build: build-linux build-win
|
||||
@ls -lh dist/
|
||||
@echo "🏁 done."
|
||||
|
||||
dev: clean build-frontend
|
||||
@echo "📦 Building linux dev binary..."
|
||||
@CGO_ENABLED=0 GOARCH=amd64 GOOS=linux go build -tags dev -v ldflags '${LD_FLAGS}' -o dist/${BINARY_NAME}-dev .
|
||||
@echo "🚀 Starting dev server..."
|
||||
dist/${BINARY_NAME}-dev serve --dev --http="0.0.0.0:1313"
|
||||
|
||||
serve:
|
||||
@echo "🚀 Starting dev server in prod mode..."
|
||||
dist/${BINARY_NAME}-linux-amd64 serve --http="0.0.0.0:1313"
|
Loading…
x
Reference in New Issue
Block a user