Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
canifa_note
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Vũ Hoàng Anh
canifa_note
Commits
dfaf2ee2
Unverified
Commit
dfaf2ee2
authored
Oct 07, 2023
by
boojack
Committed by
GitHub
Oct 07, 2023
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
chore: update pnpm scripts (#2350)
* chore: update pnpm scripts * chore: update development guide
parent
b938c8d7
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
90 additions
and
31 deletions
+90
-31
frontend-tests.yml
.github/workflows/frontend-tests.yml
+4
-6
Dockerfile
Dockerfile
+4
-16
development.md
docs/development.md
+6
-7
package.json
web/package.json
+5
-2
pnpm-lock.yaml
web/pnpm-lock.yaml
+71
-0
No files found.
.github/workflows/frontend-tests.yml
View file @
dfaf2ee2
...
@@ -15,9 +15,6 @@ jobs:
...
@@ -15,9 +15,6 @@ jobs:
runs-on
:
ubuntu-latest
runs-on
:
ubuntu-latest
steps
:
steps
:
-
uses
:
actions/checkout@v4
-
uses
:
actions/checkout@v4
-
uses
:
bufbuild/buf-setup-action@v1
-
run
:
buf generate
working-directory
:
proto
-
uses
:
pnpm/action-setup@v2.2.4
-
uses
:
pnpm/action-setup@v2.2.4
with
:
with
:
version
:
8
version
:
8
...
@@ -28,6 +25,8 @@ jobs:
...
@@ -28,6 +25,8 @@ jobs:
cache-dependency-path
:
"
web/pnpm-lock.yaml"
cache-dependency-path
:
"
web/pnpm-lock.yaml"
-
run
:
pnpm install
-
run
:
pnpm install
working-directory
:
web
working-directory
:
web
-
run
:
pnpm type-gen
working-directory
:
web
-
name
:
Run eslint check
-
name
:
Run eslint check
run
:
pnpm lint
run
:
pnpm lint
working-directory
:
web
working-directory
:
web
...
@@ -36,9 +35,6 @@ jobs:
...
@@ -36,9 +35,6 @@ jobs:
runs-on
:
ubuntu-latest
runs-on
:
ubuntu-latest
steps
:
steps
:
-
uses
:
actions/checkout@v4
-
uses
:
actions/checkout@v4
-
uses
:
bufbuild/buf-setup-action@v1
-
run
:
buf generate
working-directory
:
proto
-
uses
:
pnpm/action-setup@v2.2.4
-
uses
:
pnpm/action-setup@v2.2.4
with
:
with
:
version
:
8
version
:
8
...
@@ -49,6 +45,8 @@ jobs:
...
@@ -49,6 +45,8 @@ jobs:
cache-dependency-path
:
"
web/pnpm-lock.yaml"
cache-dependency-path
:
"
web/pnpm-lock.yaml"
-
run
:
pnpm install
-
run
:
pnpm install
working-directory
:
web
working-directory
:
web
-
run
:
pnpm type-gen
working-directory
:
web
-
name
:
Run frontend build
-
name
:
Run frontend build
run
:
pnpm build
run
:
pnpm build
working-directory
:
web
working-directory
:
web
Dockerfile
View file @
dfaf2ee2
# Build protobuf.
FROM
golang:1.21-alpine AS protobuf
WORKDIR
/protobuf-generate
COPY
. .
RUN
GO111MODULE
=
on
GOBIN
=
/usr/local/bin go
install
github.com/bufbuild/buf/cmd/buf@v1.26.1
WORKDIR
/protobuf-generate/proto
RUN
buf generate
# Build frontend dist.
# Build frontend dist.
FROM
node:18-alpine AS frontend
FROM
node:18-alpine AS frontend
WORKDIR
/frontend-build
WORKDIR
/frontend-build
COPY
.
/web
.
COPY
. .
COPY
--from=protobuf /protobuf-generate/web/src/types/proto ./src/types/proto
WORKDIR
/frontend-build/web
RUN
corepack
enable
&&
pnpm i
--frozen-lockfile
RUN
corepack
enable
&&
pnpm i
--frozen-lockfile
&&
pnpm type-gen
RUN
pnpm build
RUN
pnpm build
...
@@ -27,7 +15,7 @@ FROM golang:1.21-alpine AS backend
...
@@ -27,7 +15,7 @@ FROM golang:1.21-alpine AS backend
WORKDIR
/backend-build
WORKDIR
/backend-build
COPY
. .
COPY
. .
COPY
--from=frontend /frontend-build/dist ./server/dist
COPY
--from=frontend /frontend-build/
web/
dist ./server/dist
RUN
CGO_ENABLED
=
0 go build
-o
memos ./main.go
RUN
CGO_ENABLED
=
0 go build
-o
memos ./main.go
...
...
docs/development.md
View file @
dfaf2ee2
...
@@ -10,34 +10,33 @@ Memos is built with a curated tech stack. It is optimized for developer experien
...
@@ -10,34 +10,33 @@ Memos is built with a curated tech stack. It is optimized for developer experien
-
[
Go
](
https://golang.org/doc/install
)
-
[
Go
](
https://golang.org/doc/install
)
-
[
Air
](
https://github.com/cosmtrek/air#installation
)
for backend live reload
-
[
Air
](
https://github.com/cosmtrek/air#installation
)
for backend live reload
-
[
Buf
](
https://buf.build/docs/installation
)
-
[
Node.js
](
https://nodejs.org/
)
-
[
Node.js
](
https://nodejs.org/
)
-
[
pnpm
](
https://pnpm.io/installation
)
-
[
pnpm
](
https://pnpm.io/installation
)
## Steps
## Steps
1.
pull
source code
1.
Pull the
source code
```bash
```bash
git clone https://github.com/usememos/memos
git clone https://github.com/usememos/memos
```
```
2.
start backend using air
(with live reload)
2.
Start backend server with
`air`
(with live reload)
```bash
```bash
air -c scripts/.air.toml
air -c scripts/.air.toml
```
```
3.
generate TypeScript code from protobuf with
`buf`
3.
Install frontend dependencies and generate TypeScript code from protobuf
```
```
cd
proto && buf generate
cd
web && pnpm i && pnpm type-gen
```
```
4.
start frontend dev server
4.
Start the dev server of frontend
```bash
```bash
cd web && pnpm
i && pnpm
dev
cd web && pnpm dev
```
```
Memos should now be running at
[
http://localhost:3001
](
http://localhost:3001
)
and change either frontend or backend code would trigger live reload.
Memos should now be running at
[
http://localhost:3001
](
http://localhost:3001
)
and change either frontend or backend code would trigger live reload.
web/package.json
View file @
dfaf2ee2
...
@@ -3,8 +3,10 @@
...
@@ -3,8 +3,10 @@
"scripts"
:
{
"scripts"
:
{
"dev"
:
"vite"
,
"dev"
:
"vite"
,
"build"
:
"tsc && vite build"
,
"build"
:
"tsc && vite build"
,
"lint"
:
"tsc && eslint --ext .js,.ts,.tsx, src"
,
"lint"
:
"eslint --ext .js,.ts,.tsx, src"
,
"lint-fix"
:
"eslint --ext .js,.ts,.tsx, src --fix"
"lint-fix"
:
"eslint --ext .js,.ts,.tsx, src --fix"
,
"type-gen"
:
"cd ../proto && buf generate"
,
"type-check"
:
"tsc"
},
},
"packageManager"
:
"pnpm@8.7.0"
,
"packageManager"
:
"pnpm@8.7.0"
,
"dependencies"
:
{
"dependencies"
:
{
...
@@ -40,6 +42,7 @@
...
@@ -40,6 +42,7 @@
"zustand"
:
"4.4.1"
"zustand"
:
"4.4.1"
},
},
"devDependencies"
:
{
"devDependencies"
:
{
"@bufbuild/buf"
:
"^1.27.0"
,
"@trivago/prettier-plugin-sort-imports"
:
"^3.4.0"
,
"@trivago/prettier-plugin-sort-imports"
:
"^3.4.0"
,
"@types/katex"
:
"^0.16.3"
,
"@types/katex"
:
"^0.16.3"
,
"@types/lodash-es"
:
"^4.17.9"
,
"@types/lodash-es"
:
"^4.17.9"
,
...
...
web/pnpm-lock.yaml
View file @
dfaf2ee2
...
@@ -97,6 +97,9 @@ dependencies:
...
@@ -97,6 +97,9 @@ dependencies:
version
:
4.4.1(@types/react@18.2.25)(react@18.2.0)
version
:
4.4.1(@types/react@18.2.25)(react@18.2.0)
devDependencies
:
devDependencies
:
'
@bufbuild/buf'
:
specifier
:
^1.27.0
version
:
1.27.0
'
@trivago/prettier-plugin-sort-imports'
:
'
@trivago/prettier-plugin-sort-imports'
:
specifier
:
^3.4.0
specifier
:
^3.4.0
version
:
3.4.0(prettier@2.6.2)
version
:
3.4.0(prettier@2.6.2)
...
@@ -425,6 +428,74 @@ packages:
...
@@ -425,6 +428,74 @@ packages:
'
@babel/helper-validator-identifier'
:
7.22.20
'
@babel/helper-validator-identifier'
:
7.22.20
to-fast-properties
:
2.0.0
to-fast-properties
:
2.0.0
/@bufbuild/buf-darwin-arm64@1.27.0
:
resolution
:
{
integrity
:
sha512-Bsdo9BkkIlIgBpQJ2jyIXl9ggSqDdSJ12euxgU1y4pbT5iD11mdiUA7eq5/ssxLJilUrUGj2Gk1h1KbYG/JfVA==
}
engines
:
{
node
:
'
>=12'
}
cpu
:
[
arm64
]
os
:
[
darwin
]
requiresBuild
:
true
dev
:
true
optional
:
true
/@bufbuild/buf-darwin-x64@1.27.0
:
resolution
:
{
integrity
:
sha512-aJmSZvO6uNxHST8+kN5cukv7/ZLgDnvklp+r6uyokocg5sk1rgWQVBqiVtGmoDWwPbotpMhb3EuqtwN9hdNrOg==
}
engines
:
{
node
:
'
>=12'
}
cpu
:
[
x64
]
os
:
[
darwin
]
requiresBuild
:
true
dev
:
true
optional
:
true
/@bufbuild/buf-linux-aarch64@1.27.0
:
resolution
:
{
integrity
:
sha512-1NPHARYENNVWOK3bQxbnYsMLU09em4/kdyAnCwyGkNhr+pWUlWdCBu3X5tdrRW+mnhjeagIcomTMhgVjxIAS7g==
}
engines
:
{
node
:
'
>=12'
}
cpu
:
[
arm64
]
os
:
[
linux
]
requiresBuild
:
true
dev
:
true
optional
:
true
/@bufbuild/buf-linux-x64@1.27.0
:
resolution
:
{
integrity
:
sha512-3LMTSJlwJAeOfjPuB0NBK+1Yfg1Bybadt+c1X/vF8XSXut1u0Ju1/fbRDz75BF4AlMidMQPdGS+vPWmPcb51hA==
}
engines
:
{
node
:
'
>=12'
}
cpu
:
[
x64
]
os
:
[
linux
]
requiresBuild
:
true
dev
:
true
optional
:
true
/@bufbuild/buf-win32-arm64@1.27.0
:
resolution
:
{
integrity
:
sha512-Za5d3obNvSfLZAlQW8IAWtv1Yv0gQTFDVMPyYiOh70rKIfKIxrWZxT4E4nzFLZZ54VQDFoUl81bAjOYLOgaspQ==
}
engines
:
{
node
:
'
>=12'
}
cpu
:
[
arm64
]
os
:
[
win32
]
requiresBuild
:
true
dev
:
true
optional
:
true
/@bufbuild/buf-win32-x64@1.27.0
:
resolution
:
{
integrity
:
sha512-OzVK4Fz162Z6fFHAAZhHPW2GiCXjweCG/hwjOtFt2gza1t3ImYp0CwxJI6ePGY+th3Y9yu8rY0iHiI59ezMa4Q==
}
engines
:
{
node
:
'
>=12'
}
cpu
:
[
x64
]
os
:
[
win32
]
requiresBuild
:
true
dev
:
true
optional
:
true
/@bufbuild/buf@1.27.0
:
resolution
:
{
integrity
:
sha512-vR/ke6gUNgGSC3z7WkHLcbO+ur+zvGTC4ohHsLo2dZqEWysWySjNpcU70SKdIN3G5M4fSS1ki6MkZPes3E+83w==
}
engines
:
{
node
:
'
>=12'
}
hasBin
:
true
requiresBuild
:
true
optionalDependencies
:
'
@bufbuild/buf-darwin-arm64'
:
1.27.0
'
@bufbuild/buf-darwin-x64'
:
1.27.0
'
@bufbuild/buf-linux-aarch64'
:
1.27.0
'
@bufbuild/buf-linux-x64'
:
1.27.0
'
@bufbuild/buf-win32-arm64'
:
1.27.0
'
@bufbuild/buf-win32-x64'
:
1.27.0
dev
:
true
/@emotion/babel-plugin@11.11.0
:
/@emotion/babel-plugin@11.11.0
:
resolution
:
{
integrity
:
sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==
}
resolution
:
{
integrity
:
sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==
}
dependencies
:
dependencies
:
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment