Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
68 commits
Select commit Hold shift + click to select a range
348ec4a
update express, dotenv. remove body-parser
NiloCK Feb 11, 2025
9215843
avoid empty catch block
NiloCK Feb 11, 2025
3968c07
add log check for ffmpeg usage
NiloCK Feb 11, 2025
a894f07
fail if ffmpeg not found
NiloCK Feb 11, 2025
cfb6f6c
update ffmpeg-static
NiloCK Feb 11, 2025
ae92555
improve checks on ffmpeg
NiloCK Feb 11, 2025
9a8458b
modernize dev-server and test stacks
NiloCK Feb 11, 2025
7ea3683
update deps
NiloCK Feb 11, 2025
105c996
bump node version
NiloCK Feb 11, 2025
a45edc3
updates for modern ts
NiloCK Feb 11, 2025
4a5152f
remove child-process-promise
NiloCK Feb 11, 2025
bc96198
formatting
NiloCK Feb 11, 2025
73084c9
update eslint
NiloCK Feb 11, 2025
82f3fe0
lint:fix
NiloCK Feb 11, 2025
425fc06
remove `type: module` config...
NiloCK Feb 11, 2025
04a96e2
fix ts issues
NiloCK Feb 11, 2025
b1d549d
fix ts issues
NiloCK Feb 11, 2025
f155ec0
fix: typing
NiloCK Feb 12, 2025
f541482
fix: make pdb namespace available for express app
NiloCK Feb 12, 2025
8e62365
remove lerna for yarn workspace
NiloCK Feb 12, 2025
c092b23
tooling upgrade fixes: types, import styles
NiloCK Feb 12, 2025
f1ae49e
monorepo progress...
NiloCK Feb 12, 2025
210c610
type the CourseConfig docs
NiloCK Feb 13, 2025
af6b842
add `types` keyword to export
NiloCK Feb 13, 2025
326846c
use yarn 2 workspace
NiloCK Feb 13, 2025
6b51a54
build types after main build
NiloCK Feb 13, 2025
0a968a9
name & export the type of the `response` field
NiloCK Feb 13, 2025
920c7f9
use yarn 2 workspace
NiloCK Feb 13, 2025
be8559a
wip: toward bundling types for express `yarn dev`
NiloCK Feb 13, 2025
44904ab
yarn 2 workspace config
NiloCK Feb 13, 2025
e3211d7
wip: use shared request type
NiloCK Feb 13, 2025
9750fb8
type a caught error
NiloCK Feb 13, 2025
b09a92c
annotate expected ts errors
NiloCK Feb 13, 2025
e0b9edf
annotate expected ts errors
NiloCK Feb 13, 2025
e9097de
add type for attachment-processing doc
NiloCK Feb 13, 2025
322584c
add yarn specific ignores
NiloCK Feb 13, 2025
f0118a1
use yarn 2 workspace
NiloCK Feb 13, 2025
766f89b
move to yarn 2+ style import
NiloCK Feb 13, 2025
89bfe01
yarn 2 workspace config
NiloCK Feb 13, 2025
8fef93e
wip: add `common` package
NiloCK Feb 15, 2025
bb36ed5
add client-server types
NiloCK Feb 15, 2025
657f436
add common pkg
NiloCK Feb 21, 2025
44d03dd
use common package
NiloCK Feb 21, 2025
29421f6
remove ref to deprecated stylesheet
NiloCK Feb 21, 2025
58f49f6
make monorepo-friendly
NiloCK Feb 21, 2025
22bf537
yarn 2 workspace config
NiloCK Feb 26, 2025
e8d439e
simplify root pkg.json - add concuccent dev cmd
NiloCK Feb 26, 2025
955b6c6
yarn meta update
NiloCK Feb 26, 2025
3904293
use `common` package
NiloCK Feb 26, 2025
5385465
update structure to allow `enum` exports
NiloCK Feb 26, 2025
e6d2597
add scripted run of dockerized test-couch
NiloCK Feb 26, 2025
9db317f
update packages/vue CI
NiloCK Feb 26, 2025
91b03d1
tweak yarn / corepack usage
NiloCK Feb 26, 2025
23451ef
tweak yarn / corepack usage
NiloCK Feb 26, 2025
769320c
yarn install on vue pkg specifically
NiloCK Feb 26, 2025
7a9de0a
remove vue/src/exports...
NiloCK Feb 26, 2025
65e5648
remove ref to vue/src/exports...
NiloCK Feb 26, 2025
bd4f840
remove ref to vue/src/exports...
NiloCK Feb 26, 2025
67bcb24
add couchdb spinup to root dev script
NiloCK Feb 27, 2025
c79d6da
update terser dependency
NiloCK Feb 27, 2025
129fbf1
ignore tsbuildinfo files
NiloCK Feb 27, 2025
f7bc704
align admin username+pw with config in testCouchDB
NiloCK Feb 27, 2025
c6bfdbd
terser to root lockfile
NiloCK Feb 27, 2025
54a04a7
update express CI
NiloCK Feb 27, 2025
de06ecb
update structure to import from `common`
NiloCK Feb 27, 2025
3efb428
[tmp] disable express tests
NiloCK Feb 28, 2025
60566f2
update import from `common` pkg
NiloCK Feb 28, 2025
55153fb
remove dup `Status` enum definition
NiloCK Feb 28, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
62 changes: 38 additions & 24 deletions .github/workflows/build-express.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,36 +3,50 @@ on:
pull_request:
paths:
- 'packages/express/**'
- 'packages/common/**' # Added common since it's a dependency
- '.github/workflows/build-express.yml'
- 'package.json'
- 'yarn.lock'

jobs:
build-express-app:
runs-on: ubuntu-latest # todo: use whatever is on the DO droplet
runs-on: ubuntu-latest
steps:
- run: echo "🎉 The job was triggered by a ${{ github.event_name }} on commit ${{ github.SHA }}"
- name: Check out repository code
uses: actions/checkout@v2
- name: Checkout repository
uses: actions/checkout@v4

- name: Start CouchDB
uses: iamssen/couchdb-github-action@master
with:
couchdb-version: 2.3.1 # production version
- uses: actions/setup-node@v3
couchdb-version: 2.3.1 # match production version

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 16
- run: npm install -g yarn@1.22.17
- run: npm install -g lerna@3.22.1 # 4.0.0 ?
#- run: npm install -g typescript@4.5.5
- run: lerna bootstrap
- name: Build and Test
node-version: 18
cache: 'yarn'

- name: Install Yarn
run: corepack enable

- name: Install dependencies
run: yarn

- name: Configure environment
run: |
echo COUCHDB_SERVER=localhost:5984 >> ./packages/express/.env.development.local
echo COUCHDB_PROTOCOL=http >> ./packages/express/.env.development.local
echo COUCHDB_ADMIN=admin >> ./packages/express/.env.development.local
echo COUCHDB_PASSWORD=password >> ./packages/express/.env.development.local
echo VERSION=${{ github.SHA }} >> ./packages/express/.env.development.local
cd ./packages/express
yarn remove @types/jest
# yarn remove @types/pouchdb
yarn build
# nohup yarn serve & # Run the server in the background
# sleep 15s
yarn test
echo "COUCHDB_SERVER=localhost:5984" >> ./packages/express/.env.development.local
echo "COUCHDB_PROTOCOL=http" >> ./packages/express/.env.development.local
echo "COUCHDB_ADMIN=admin" >> ./packages/express/.env.development.local
echo "COUCHDB_PASSWORD=password" >> ./packages/express/.env.development.local
echo "VERSION=${{ github.sha }}" >> ./packages/express/.env.development.local

- name: Build common package
run: yarn workspace @vue-skuilder/common build

- name: Build and test express package
run: |
yarn workspace @vue-skuilder/express build
# yarn workspace @vue-skuilder/express test

- name: Type check
run: yarn workspace @vue-skuilder/express type-check
45 changes: 32 additions & 13 deletions .github/workflows/build-vue.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,25 +3,44 @@ on:
pull_request:
paths:
- 'packages/vue/**'
- 'packages/common/**'
- '.github/workflows/build-vue.yml'
jobs:
build-vue-spa:
runs-on: ubuntu-latest # todo: use whatever is on the DO droplet
runs-on: ubuntu-latest
steps:
- run: echo "🎉 The job was triggered by a ${{ github.event_name }} on commit ${{ github.SHA }}"
- name: Check out repository code
uses: actions/checkout@v2
- uses: actions/setup-node@v3
- name: Checkout repository
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 18
- run: npm install -g yarn@1.22.17 # version? 1.22.17 -> 1.22.19 current
- run: npm install -g lerna@3.22.1 # version? 3.22.1 -> 6.6.2 current
cache: 'yarn'

- name: Enable Corepack
run: |
corepack enable
corepack prepare yarn@4.6.0 --activate

- name: Install dependencies
run: |
yarn --version
yarn install --immutable

- name: Build common package
working-directory: ./packages/common
run: yarn build

- run: lerna bootstrap
- name: Build and Test
- name: Setup Vue environment
run: printf "${{ secrets.VUE_ENV }}" > ./packages/vue/.env.production

- name: Build Vue package
working-directory: ./packages/vue
run: |
printf "${{ secrets.VUE_ENV }}" > ./packages/vue/.env.production
cd ./packages/vue
yarn install
yarn build
yarn test:unit
# yarn test:e2e:headless

- name: Run Vue tests
working-directory: ./packages/vue
run: yarn test:unit
11 changes: 11 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -33,3 +33,14 @@ vue/Caddyfile

# Cyrpress build artifacts
/packages/vue/cypress

# yarn 2+ files
.yarn/*
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/sdks
!.yarn/versions

# TypeScript incremental build info
*.tsbuildinfo
934 changes: 934 additions & 0 deletions .yarn/releases/yarn-berry.js

Large diffs are not rendered by default.

3 changes: 3 additions & 0 deletions .yarnrc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
nodeLinker: node-modules

yarnPath: .yarn/releases/yarn-berry.js
34 changes: 19 additions & 15 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,19 +1,23 @@
{
"devDependencies": {
"@typescript-eslint/eslint-plugin": "^4.14.0",
"@typescript-eslint/parser": "^4.14.0",
"eslint": "^7.18.0",
"eslint-config-prettier": "^10.0.1",
"eslint-plugin-prettier": "^3.3.1",
"eslint-plugin-prettier-vue": "^5.0.0",
"eslint-plugin-vue": "^7.5.0",
"lerna": "^4.0.0",
"prettier": "^2.2.1",
"typescript": "^5.7.2"
},
"name": "vue-skuilder",
"scripts": {
"serve": "./test-couch/test-couch.sh start && lerna run serve --stream",
"build": "lerna run --no-bail --stream build"
"dev": "yarn workspace @vue-skuilder/common build && node scripts/dev-couchdb.js start && concurrently \"yarn dev:vue\" \"yarn dev:express\"",
"dev:vue": "yarn workspace @vue-skuilder/vue dev",
"dev:express": "yarn workspace @vue-skuilder/express dev",
"dev:couchdb": "node scripts/dev-couchdb.js start",
"couchdb:start": "node scripts/dev-couchdb.js start",
"couchdb:stop": "node scripts/dev-couchdb.js stop",
"couchdb:status": "node scripts/dev-couchdb.js status",
"couchdb:remove": "node scripts/dev-couchdb.js remove",
"postdev": "node scripts/dev-couchdb.js stop",
"build": "yarn workspace @vue-skuilder/common build && yarn workspace @vue-skuilder/vue build && yarn workspace @vue-skuilder/express build"
},
"private": true,
"workspaces": [
"packages/*"
],
"packageManager": "yarn@4.6.0",
"devDependencies": {
"concurrently": "^9.1.2"
}
}
}
3 changes: 2 additions & 1 deletion packages/client/package.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
{
"name": "@vue-skuilder/client",
"version": "0.1.0",
"private": true,
"license": "MIT",
"main": "dist/index.js",
"typings": "dist/index.d.ts",
Expand Down Expand Up @@ -30,7 +32,6 @@
"singleQuote": true,
"trailingComma": "es5"
},
"name": "client",
"author": "Colin Kennedy",
"module": "dist/client.esm.js",
"size-limit": [
Expand Down
2 changes: 2 additions & 0 deletions packages/client/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,5 +31,7 @@
"forceConsistentCasingInFileNames": true,
// `tsdx build` ignores this option, but it is commonly used when type-checking separately with `tsc`
"noEmit": true,
// for yarn 2 monorepo support
"composite": true
}
}
Loading
Loading