Merge branch 'fix-frontend-dir' into 'develop'
fix: frontend directory structre and other minor fixes See merge request kailash/listmonk!1
|
@ -1,8 +1,6 @@
|
|||
frontend/node_modules/
|
||||
frontend/my/node_modules/
|
||||
frontend/.cache/
|
||||
frontend/yarn.lock
|
||||
frontend/my/yarn.lock
|
||||
.vscode/
|
||||
|
||||
config.toml
|
||||
config.toml
|
||||
|
|
14
Makefile
|
@ -1,5 +1,5 @@
|
|||
BIN := listmonk
|
||||
STATIC := config.toml.sample schema.sql queries.sql public email-templates frontend/my/build:/frontend
|
||||
STATIC := config.toml.sample schema.sql queries.sql public email-templates frontend/build:/frontend
|
||||
|
||||
HASH := $(shell git rev-parse --short HEAD)
|
||||
COMMIT_DATE := $(shell git show -s --format=%ci ${HASH})
|
||||
|
@ -8,20 +8,20 @@ VERSION := ${HASH} (${COMMIT_DATE})
|
|||
|
||||
.PHONY: build-frontend
|
||||
build-frontend:
|
||||
cd frontend/my && yarn install && yarn build
|
||||
cd frontend && yarn install && yarn build
|
||||
|
||||
.PHONY: quickdev
|
||||
quickdev:
|
||||
@ if [ ! -d "frontend/my/node_modules" ]; then \
|
||||
@ if [ ! -d "frontend/node_modules" ]; then \
|
||||
echo "Installing frontend deps"; \
|
||||
cd frontend/my && yarn install; \
|
||||
cd frontend && yarn install; \
|
||||
fi
|
||||
|
||||
@ if [ ! -d "frontend/my/build" ]; then \
|
||||
@ if [ ! -d "frontend/build" ]; then \
|
||||
echo "Creating build directory"; \
|
||||
mkdir -p frontend/my/build; \
|
||||
mkdir -p frontend/build; \
|
||||
echo "Building frontend assets"; \
|
||||
cd frontend/my && yarn build; \
|
||||
cd frontend && yarn build; \
|
||||
fi
|
||||
|
||||
@ echo -e "\nBuilding go binary\n"
|
||||
|
|
|
@ -15,7 +15,7 @@ There are two independent components, the Go backend and the React frontend. In
|
|||
|
||||
### 2. Run the frontend
|
||||
|
||||
`cd frontend/my` and `yarn start`
|
||||
`cd frontend` and `yarn start`
|
||||
|
||||
### 3. Setup an Nginx proxy endpoint
|
||||
|
||||
|
|
|
@ -35,7 +35,7 @@ upload_uri = "/uploads"
|
|||
# Maximum concurrent workers that will attempt to send messages
|
||||
# simultaneously. This should depend on the number of CPUs the
|
||||
# machine has and also the number of simultaenous e-mails the
|
||||
# mail server will
|
||||
# mail server will
|
||||
concurrency = 100
|
||||
|
||||
# The number of errors (eg: SMTP timeouts while e-mailing) a running
|
||||
|
@ -51,6 +51,7 @@ port = 5432
|
|||
user = "listmonk"
|
||||
password = ""
|
||||
database = "listmonk"
|
||||
ssl_mode = "disable"
|
||||
|
||||
# TQekh4quVgGc3HQ
|
||||
|
||||
|
|
|
@ -2,3 +2,4 @@
|
|||
"presets": ["env", "react"],
|
||||
"plugins": [["transform-react-jsx", { "pragma": "h" }]]
|
||||
}
|
||||
|
||||
|
|
|
@ -1,34 +0,0 @@
|
|||
{
|
||||
"name": "my",
|
||||
"version": "0.1.0",
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"antd": "^3.6.5",
|
||||
"axios": "^0.18.0",
|
||||
"bizcharts": "^3.2.5-beta.4",
|
||||
"dayjs": "^1.7.5",
|
||||
"react": "^16.4.1",
|
||||
"react-app-rewire-less": "^2.1.3",
|
||||
"react-app-rewired": "^1.6.2",
|
||||
"react-dom": "^16.4.1",
|
||||
"react-quill": "^1.3.1",
|
||||
"react-router": "^4.3.1",
|
||||
"react-router-dom": "^4.3.1",
|
||||
"react-scripts": "1.1.4"
|
||||
},
|
||||
"scripts": {
|
||||
"start": "react-app-rewired start",
|
||||
"build": "GENERATE_SOURCEMAP=false PUBLIC_URL=/frontend/ react-app-rewired build",
|
||||
"test": "react-app-rewired test --env=jsdom",
|
||||
"eject": "react-scripts eject"
|
||||
},
|
||||
"eslintConfig": {
|
||||
"extends": "react-app"
|
||||
},
|
||||
"devDependencies": {
|
||||
"babel-plugin-import": "^1.11.0",
|
||||
"eslint-plugin-prettier": "^3.0.1",
|
||||
"less-plugin-npm-import": "^2.1.0",
|
||||
"prettier": "1.15.3"
|
||||
}
|
||||
}
|
|
@ -1,6 +1,34 @@
|
|||
{
|
||||
"name": "my",
|
||||
"version": "0.1.0",
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"create-react-app": "^1.5.2",
|
||||
"react": "^16.4.1"
|
||||
"antd": "^3.6.5",
|
||||
"axios": "^0.18.0",
|
||||
"bizcharts": "^3.2.5-beta.4",
|
||||
"dayjs": "^1.7.5",
|
||||
"react": "^16.4.1",
|
||||
"react-app-rewire-less": "^2.1.3",
|
||||
"react-app-rewired": "^1.6.2",
|
||||
"react-dom": "^16.4.1",
|
||||
"react-quill": "^1.3.1",
|
||||
"react-router": "^4.3.1",
|
||||
"react-router-dom": "^4.3.1",
|
||||
"react-scripts": "1.1.4"
|
||||
},
|
||||
"scripts": {
|
||||
"start": "react-app-rewired start",
|
||||
"build": "GENERATE_SOURCEMAP=false PUBLIC_URL=/frontend/ react-app-rewired build",
|
||||
"test": "react-app-rewired test --env=jsdom",
|
||||
"eject": "react-scripts eject"
|
||||
},
|
||||
"eslintConfig": {
|
||||
"extends": "react-app"
|
||||
},
|
||||
"devDependencies": {
|
||||
"babel-plugin-import": "^1.11.0",
|
||||
"eslint-plugin-prettier": "^3.0.1",
|
||||
"less-plugin-npm-import": "^2.1.0",
|
||||
"prettier": "1.15.3"
|
||||
}
|
||||
}
|
||||
|
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 244 B After Width: | Height: | Size: 244 B |
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 244 B After Width: | Height: | Size: 244 B |
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
2
go.mod
|
@ -9,7 +9,7 @@ require (
|
|||
github.com/jordan-wright/email v0.0.0-20181027021455-480bedc4908b
|
||||
github.com/knadh/goyesql v1.1.1
|
||||
github.com/knadh/stuffbin v0.0.0-20190103171338-6379e949be48
|
||||
github.com/labstack/echo v3.3.5+incompatible
|
||||
github.com/labstack/echo v3.3.10+incompatible
|
||||
github.com/labstack/gommon v0.2.7 // indirect
|
||||
github.com/lib/pq v1.0.0
|
||||
github.com/mattn/go-colorable v0.0.9 // indirect
|
||||
|
|
2
go.sum
|
@ -23,6 +23,8 @@ github.com/knadh/stuffbin v0.0.0-20190103171338-6379e949be48 h1:lRb28d0+iiVwqF7L
|
|||
github.com/knadh/stuffbin v0.0.0-20190103171338-6379e949be48/go.mod h1:afUOPBWr6bZ09aS3wbSOqXVGaO6rKcyvXYTcuG9LYpI=
|
||||
github.com/labstack/echo v3.3.5+incompatible h1:9PfxPUmasKzeJor9uQTaXLT6WUG/r+vSTmvXxvv3JO4=
|
||||
github.com/labstack/echo v3.3.5+incompatible/go.mod h1:0INS7j/VjnFxD4E2wkz67b8cVwCLbBmJyDaka6Cmk1s=
|
||||
github.com/labstack/echo v3.3.10+incompatible h1:pGRcYk231ExFAyoAjAfD85kQzRJCRI8bbnE7CX5OEgg=
|
||||
github.com/labstack/echo v3.3.10+incompatible/go.mod h1:0INS7j/VjnFxD4E2wkz67b8cVwCLbBmJyDaka6Cmk1s=
|
||||
github.com/labstack/gommon v0.2.7 h1:2qOPq/twXDrQ6ooBGrn3mrmVOC+biLlatwgIu8lbzRM=
|
||||
github.com/labstack/gommon v0.2.7/go.mod h1:/tj9csK2iPSBvn+3NLM9e52usepMtrd5ilFYA+wQNJ4=
|
||||
github.com/lib/pq v1.0.0 h1:X5PMW56eZitiTeO7tKzZxFCSpbFZJtkMMooicw2us9A=
|
||||
|
|
5
main.go
|
@ -101,7 +101,7 @@ func initFileSystem(binPath string) (stuffbin.FileSystem, error) {
|
|||
|
||||
// The frontend app's static assets are aliased to /frontend
|
||||
// so that they are accessible at localhost:port/frontend/static/ ...
|
||||
"frontend/my/build:/frontend",
|
||||
"frontend/build:/frontend",
|
||||
}
|
||||
|
||||
fs, err = stuffbin.NewLocalFS("/", files...)
|
||||
|
@ -148,7 +148,8 @@ func main() {
|
|||
viper.GetInt("db.port"),
|
||||
viper.GetString("db.user"),
|
||||
viper.GetString("db.password"),
|
||||
viper.GetString("db.database"))
|
||||
viper.GetString("db.database"),
|
||||
viper.GetString("db.ssl_mode"))
|
||||
if err != nil {
|
||||
logger.Fatalf("error connecting to DB: %v", err)
|
||||
}
|
||||
|
|
|
@ -79,9 +79,9 @@ type Queries struct {
|
|||
}
|
||||
|
||||
// connectDB initializes a database connection.
|
||||
func connectDB(host string, port int, user, pwd, dbName string) (*sqlx.DB, error) {
|
||||
func connectDB(host string, port int, user, pwd, dbName string, sslMode string) (*sqlx.DB, error) {
|
||||
db, err := sqlx.Connect("postgres",
|
||||
fmt.Sprintf("host=%s port=%d user=%s password=%s dbname=%s", host, port, user, pwd, dbName))
|
||||
fmt.Sprintf("host=%s port=%d user=%s password=%s dbname=%s sslmode=%s", host, port, user, pwd, dbName, sslMode))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
|