Skip to content

Commit b2c2db5

Browse files
authored
Express revamp (#577)
2 parents 5cb00d5 + 55153fb commit b2c2db5

File tree

88 files changed

+41514
-26426
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

88 files changed

+41514
-26426
lines changed

.github/workflows/build-express.yml

Lines changed: 38 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -3,36 +3,50 @@ on:
33
pull_request:
44
paths:
55
- 'packages/express/**'
6+
- 'packages/common/**' # Added common since it's a dependency
67
- '.github/workflows/build-express.yml'
8+
- 'package.json'
9+
- 'yarn.lock'
10+
711
jobs:
812
build-express-app:
9-
runs-on: ubuntu-latest # todo: use whatever is on the DO droplet
13+
runs-on: ubuntu-latest
1014
steps:
11-
- run: echo "🎉 The job was triggered by a ${{ github.event_name }} on commit ${{ github.SHA }}"
12-
- name: Check out repository code
13-
uses: actions/checkout@v2
15+
- name: Checkout repository
16+
uses: actions/checkout@v4
17+
1418
- name: Start CouchDB
1519
uses: iamssen/couchdb-github-action@master
1620
with:
17-
couchdb-version: 2.3.1 # production version
18-
- uses: actions/setup-node@v3
21+
couchdb-version: 2.3.1 # match production version
22+
23+
- name: Setup Node.js
24+
uses: actions/setup-node@v4
1925
with:
20-
node-version: 16
21-
- run: npm install -g yarn@1.22.17
22-
- run: npm install -g lerna@3.22.1 # 4.0.0 ?
23-
#- run: npm install -g typescript@4.5.5
24-
- run: lerna bootstrap
25-
- name: Build and Test
26+
node-version: 18
27+
cache: 'yarn'
28+
29+
- name: Install Yarn
30+
run: corepack enable
31+
32+
- name: Install dependencies
33+
run: yarn
34+
35+
- name: Configure environment
2636
run: |
27-
echo COUCHDB_SERVER=localhost:5984 >> ./packages/express/.env.development.local
28-
echo COUCHDB_PROTOCOL=http >> ./packages/express/.env.development.local
29-
echo COUCHDB_ADMIN=admin >> ./packages/express/.env.development.local
30-
echo COUCHDB_PASSWORD=password >> ./packages/express/.env.development.local
31-
echo VERSION=${{ github.SHA }} >> ./packages/express/.env.development.local
32-
cd ./packages/express
33-
yarn remove @types/jest
34-
# yarn remove @types/pouchdb
35-
yarn build
36-
# nohup yarn serve & # Run the server in the background
37-
# sleep 15s
38-
yarn test
37+
echo "COUCHDB_SERVER=localhost:5984" >> ./packages/express/.env.development.local
38+
echo "COUCHDB_PROTOCOL=http" >> ./packages/express/.env.development.local
39+
echo "COUCHDB_ADMIN=admin" >> ./packages/express/.env.development.local
40+
echo "COUCHDB_PASSWORD=password" >> ./packages/express/.env.development.local
41+
echo "VERSION=${{ github.sha }}" >> ./packages/express/.env.development.local
42+
43+
- name: Build common package
44+
run: yarn workspace @vue-skuilder/common build
45+
46+
- name: Build and test express package
47+
run: |
48+
yarn workspace @vue-skuilder/express build
49+
# yarn workspace @vue-skuilder/express test
50+
51+
- name: Type check
52+
run: yarn workspace @vue-skuilder/express type-check

.github/workflows/build-vue.yml

Lines changed: 32 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,25 +3,44 @@ on:
33
pull_request:
44
paths:
55
- 'packages/vue/**'
6+
- 'packages/common/**'
67
- '.github/workflows/build-vue.yml'
78
jobs:
89
build-vue-spa:
9-
runs-on: ubuntu-latest # todo: use whatever is on the DO droplet
10+
runs-on: ubuntu-latest
1011
steps:
11-
- run: echo "🎉 The job was triggered by a ${{ github.event_name }} on commit ${{ github.SHA }}"
12-
- name: Check out repository code
13-
uses: actions/checkout@v2
14-
- uses: actions/setup-node@v3
12+
- name: Checkout repository
13+
uses: actions/checkout@v4
14+
15+
- name: Setup Node.js
16+
uses: actions/setup-node@v4
1517
with:
1618
node-version: 18
17-
- run: npm install -g yarn@1.22.17 # version? 1.22.17 -> 1.22.19 current
18-
- run: npm install -g lerna@3.22.1 # version? 3.22.1 -> 6.6.2 current
19+
cache: 'yarn'
20+
21+
- name: Enable Corepack
22+
run: |
23+
corepack enable
24+
corepack prepare yarn@4.6.0 --activate
25+
26+
- name: Install dependencies
27+
run: |
28+
yarn --version
29+
yarn install --immutable
30+
31+
- name: Build common package
32+
working-directory: ./packages/common
33+
run: yarn build
1934

20-
- run: lerna bootstrap
21-
- name: Build and Test
35+
- name: Setup Vue environment
36+
run: printf "${{ secrets.VUE_ENV }}" > ./packages/vue/.env.production
37+
38+
- name: Build Vue package
39+
working-directory: ./packages/vue
2240
run: |
23-
printf "${{ secrets.VUE_ENV }}" > ./packages/vue/.env.production
24-
cd ./packages/vue
41+
yarn install
2542
yarn build
26-
yarn test:unit
27-
# yarn test:e2e:headless
43+
44+
- name: Run Vue tests
45+
working-directory: ./packages/vue
46+
run: yarn test:unit

.gitignore

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,3 +33,14 @@ vue/Caddyfile
3333

3434
# Cyrpress build artifacts
3535
/packages/vue/cypress
36+
37+
# yarn 2+ files
38+
.yarn/*
39+
!.yarn/patches
40+
!.yarn/plugins
41+
!.yarn/releases
42+
!.yarn/sdks
43+
!.yarn/versions
44+
45+
# TypeScript incremental build info
46+
*.tsbuildinfo

.yarn/releases/yarn-berry.js

Lines changed: 934 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.yarnrc.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
nodeLinker: node-modules
2+
3+
yarnPath: .yarn/releases/yarn-berry.js

package.json

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,23 @@
11
{
2-
"devDependencies": {
3-
"@typescript-eslint/eslint-plugin": "^4.14.0",
4-
"@typescript-eslint/parser": "^4.14.0",
5-
"eslint": "^7.18.0",
6-
"eslint-config-prettier": "^10.0.1",
7-
"eslint-plugin-prettier": "^3.3.1",
8-
"eslint-plugin-prettier-vue": "^5.0.0",
9-
"eslint-plugin-vue": "^7.5.0",
10-
"lerna": "^4.0.0",
11-
"prettier": "^2.2.1",
12-
"typescript": "^5.7.2"
13-
},
142
"name": "vue-skuilder",
153
"scripts": {
16-
"serve": "./test-couch/test-couch.sh start && lerna run serve --stream",
17-
"build": "lerna run --no-bail --stream build"
4+
"dev": "yarn workspace @vue-skuilder/common build && node scripts/dev-couchdb.js start && concurrently \"yarn dev:vue\" \"yarn dev:express\"",
5+
"dev:vue": "yarn workspace @vue-skuilder/vue dev",
6+
"dev:express": "yarn workspace @vue-skuilder/express dev",
7+
"dev:couchdb": "node scripts/dev-couchdb.js start",
8+
"couchdb:start": "node scripts/dev-couchdb.js start",
9+
"couchdb:stop": "node scripts/dev-couchdb.js stop",
10+
"couchdb:status": "node scripts/dev-couchdb.js status",
11+
"couchdb:remove": "node scripts/dev-couchdb.js remove",
12+
"postdev": "node scripts/dev-couchdb.js stop",
13+
"build": "yarn workspace @vue-skuilder/common build && yarn workspace @vue-skuilder/vue build && yarn workspace @vue-skuilder/express build"
14+
},
15+
"private": true,
16+
"workspaces": [
17+
"packages/*"
18+
],
19+
"packageManager": "yarn@4.6.0",
20+
"devDependencies": {
21+
"concurrently": "^9.1.2"
1822
}
19-
}
23+
}

packages/client/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
{
2+
"name": "@vue-skuilder/client",
23
"version": "0.1.0",
4+
"private": true,
35
"license": "MIT",
46
"main": "dist/index.js",
57
"typings": "dist/index.d.ts",
@@ -30,7 +32,6 @@
3032
"singleQuote": true,
3133
"trailingComma": "es5"
3234
},
33-
"name": "client",
3435
"author": "Colin Kennedy",
3536
"module": "dist/client.esm.js",
3637
"size-limit": [

packages/client/tsconfig.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,5 +31,7 @@
3131
"forceConsistentCasingInFileNames": true,
3232
// `tsdx build` ignores this option, but it is commonly used when type-checking separately with `tsc`
3333
"noEmit": true,
34+
// for yarn 2 monorepo support
35+
"composite": true
3436
}
3537
}

0 commit comments

Comments
 (0)