Skip to content

Commit

Permalink
refactor: migrate to uvu + native esm support (QwikDev#803)
Browse files Browse the repository at this point in the history
  • Loading branch information
manucorporat authored Jul 20, 2022
1 parent e31f1a9 commit ef0e810
Show file tree
Hide file tree
Showing 63 changed files with 2,184 additions and 4,195 deletions.
1 change: 1 addition & 0 deletions .eslintrc.js → .eslintrc.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -27,5 +27,6 @@ module.exports = {
'no-console': ['error', { allow: ['warn', 'error'] }],
'no-only-tests/no-only-tests': 'error',
'@typescript-eslint/no-unused-vars': 'off',
'@typescript-eslint/no-var-requires': 'off',
},
};
21 changes: 9 additions & 12 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ jobs:
run: yarn install --immutable --network-timeout 300000

- name: Build Package
run: yarn node scripts --tsc --build --api --set-dist-tag="${{ github.event.inputs.disttag }}"
run: yarn tsm scripts/index.ts --tsc --build --api --set-dist-tag="${{ github.event.inputs.disttag }}"

- name: Print Package Dist Build
run: tree packages/qwik/dist/
Expand All @@ -89,7 +89,7 @@ jobs:
if-no-files-found: error

- name: Build Create Qwik CLI
run: yarn node scripts --cli
run: yarn tsm scripts/index.ts --cli

- name: Print Create Qwik CLI Dist Build
run: tree packages/create-qwik/dist/
Expand All @@ -102,7 +102,7 @@ jobs:
if-no-files-found: error

- name: Build Eslint rules
run: yarn node scripts --eslint
run: yarn tsm scripts/index.ts --eslint

- name: Print Eslint rules Dist Build
run: tree packages/eslint-plugin-qwik/dist/
Expand Down Expand Up @@ -168,7 +168,7 @@ jobs:

- name: Build WASM
if: ${{ needs.changes.outputs.fullbuild == 'true' }}
run: yarn node scripts --wasm --set-dist-tag="${{ github.event.inputs.disttag }}"
run: yarn tsm scripts/index.ts --wasm --set-dist-tag="${{ github.event.inputs.disttag }}"

- name: Print WASM Dist Build
if: ${{ needs.changes.outputs.fullbuild == 'true' }}
Expand All @@ -189,18 +189,18 @@ jobs:
settings:
- host: macos-latest
target: x86_64-apple-darwin
build: yarn node scripts --platform-binding
build: yarn tsm scripts/index.ts --platform-binding

- host: macos-latest
target: aarch64-apple-darwin
build: |
export SDKROOT=$(xcrun -sdk macosx11.1 --show-sdk-path)
export MACOSX_DEPLOYMENT_TARGET=$(xcrun -sdk macosx11.1 --show-sdk-platform-version)
yarn node scripts --platform-binding --platform-target=aarch64-apple-darwin
yarn tsm scripts/index.ts --platform-binding --platform-target=aarch64-apple-darwin
- host: windows-latest
target: x86_64-pc-windows-msvc
build: yarn node scripts --platform-binding
build: yarn tsm scripts/index.ts --platform-binding

name: Build ${{ matrix.settings.target }}
runs-on: ${{ matrix.settings.host }}
Expand Down Expand Up @@ -374,14 +374,14 @@ jobs:

- name: Dry-Run Publish @builder.io/qwik
if: ${{ github.event_name != 'workflow_dispatch' }}
run: yarn node scripts --set-dist-tag="${{ github.event.inputs.disttag }}" --release --dry-run
run: yarn tsm scripts/index.ts --set-dist-tag="${{ github.event.inputs.disttag }}" --release --dry-run
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

- name: Publish @builder.io/qwik
if: ${{ github.event_name == 'workflow_dispatch' }}
run: yarn node scripts --set-dist-tag="${{ github.event.inputs.disttag }}" --release
run: yarn tsm scripts/index.ts --set-dist-tag="${{ github.event.inputs.disttag }}" --release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
Expand All @@ -408,9 +408,6 @@ jobs:
- host: macos-latest
browser: webkit
node: 16.x
- host: windows-latest
browser: firefox
node: 16.x

runs-on: ${{ matrix.settings.host }}

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release-qwik-city.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,6 @@ jobs:
run: cd packages/qwik-city && yarn build

- name: Publish Qwik City
run: cd packages/qwik-city && yarn node -r esbuild-register scripts/release.ts --set-dist-tag="${{ github.event.inputs.disttag }}"
run: cd packages/qwik-city && yarn tsm scripts/release.ts --set-dist-tag="${{ github.event.inputs.disttag }}"
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
120 changes: 25 additions & 95 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,47 +3,45 @@
"name": "qwik-monorepo",
"version": "0.0.37",
"scripts": {
"build": "yarn node scripts --tsc --build --qwikcity --api --platform-binding-wasm-copy",
"build.full": "yarn node scripts --tsc --build --api --eslint --qwikcity --qwikreact --platform-binding --wasm",
"build.qwik-city": "yarn node scripts --tsc --qwikcity",
"build.platform": "yarn node scripts --platform-binding",
"build.platform.copy": "yarn node scripts --platform-binding-wasm-copy",
"build.only_javascript": "yarn node scripts --tsc --build --api",
"build.wasm": "yarn node scripts --wasm",
"build.validate": "yarn node scripts --tsc --build --api --eslint --platform-binding --wasm --validate",
"build.cli": "yarn node scripts --cli --dev",
"build.cli.prod": "yarn node scripts --cli",
"build": "tsm scripts/index.ts --tsc --build --qwikcity --api --platform-binding-wasm-copy",
"build.full": "tsm scripts/index.ts --tsc --build --api --eslint --qwikcity --qwikreact --platform-binding --wasm",
"build.qwik-city": "tsm scripts/index.ts --tsc --qwikcity",
"build.platform": "tsm scripts/index.ts --platform-binding",
"build.platform.copy": "tsm scripts/index.ts --platform-binding-wasm-copy",
"build.only_javascript": "tsm scripts/index.ts --tsc --build --api",
"build.wasm": "tsm scripts/index.ts --wasm",
"build.validate": "tsm scripts/index.ts --tsc --build --api --eslint --platform-binding --wasm --validate",
"build.cli": "tsm scripts/index.ts --cli --dev",
"build.cli.prod": "tsm scripts/index.ts --cli",
"commit": "git-cz",
"cli": "yarn build.cli && node packages/create-qwik/dist/create-qwik",
"cli.validate": "yarn node -r esbuild-register scripts/validate-cli.ts",
"build.watch": "yarn node scripts --build --watch --dev --platform-binding",
"api.update": "yarn node scripts --tsc --api --dev",
"cli.validate": "tsm scripts/validate-cli.ts",
"build.watch": "tsm scripts/index.ts --build --watch --dev --platform-binding",
"api.update": "tsm scripts/index.ts --tsc --api --dev",
"tsc.check": "tsc --noEmit",
"tsc.watch": "tsc --noEmit --watch --preserveWatchOutput",
"tsc.trace": "tsc -p tsconfig.json --traceResolution > tsc.log",
"start": "concurrently \"npm:build.watch\" \"npm:test.watch\" \"npm:tsc.watch\" -n build,test,tsc -c green,magenta,cyan",
"release.prepare": "yarn lint && yarn test.unit && yarn node scripts --tsc --build --api --eslint --platform-binding --wasm --prepare-release",
"release.prepare": "yarn lint && yarn test.unit && tsm scripts/index.ts --tsc --build --api --eslint --platform-binding --wasm --prepare-release",
"test": "yarn build.full && yarn test.unit && yarn test.e2e",
"test.unit": "jest && yarn test.uvu",
"test.uvu": "uvu -r tsm packages test.ts",
"test.unit": "tsm node_modules/uvu/bin.js packages unit.ts --tsmconfig tsm.cjs",
"test.unit.debug": "tsm --inspect-brk node_modules/uvu/bin.js packages unit.ts --tsmconfig tsm.cjs",
"test.rust": "make test",
"test.watch": "jest --watch",
"test.e2e": "yarn test.e2e.chromium && yarn test.e2e.firefox && yarn test.e2e.webkit",
"test.e2e.chromium": "playwright test starters --browser=chromium --config starters/playwright.config.ts",
"test.e2e.chromium.debug": "PWDEBUG=1 playwright test starters --browser=chromium --config starters/playwright.config.ts",
"test.e2e.firefox": "playwright test starters --browser=firefox --config starters/playwright.config.ts",
"test.e2e.webkit": "playwright test starters --browser=webkit --config starters/playwright.config.ts",
"serve": "yarn node -r esbuild-register --inspect starters/dev-server.ts 3300",
"serve.debug": "yarn node --inspect-brk -r esbuild-register --inspect starters/dev-server.ts 3300",
"docs.fetch.hackMD": "yarn node --trace-warnings -r esbuild-register scripts/docs_sync/fetch_hackmd.ts",
"docs.sync": "yarn node scripts/docs_sync",
"serve": "tsm --inspect starters/dev-server.ts 3300",
"serve.debug": "tsm --inspect-brk starters/dev-server.ts 3300",
"docs.sync": "tsm scripts/docs_sync.ts",
"lint": "yarn lint.eslint && yarn lint.prettier && yarn lint.rust",
"lint.eslint": "eslint \"**/*.ts*\"",
"lint.rust": "make lint",
"lint.prettier": "prettier --check .",
"prettier.fix": "prettier --write .",
"fmt": "yarn prettier.fix",
"qwik-save-artifacts": "yarn node -r esbuild-register ./scripts/qwik-save-artifacts.ts",
"qwik-save-artifacts": "tsm ./scripts/qwik-save-artifacts.ts",
"preinstall": "yarn node scripts/tools/preinstall-script.js"
},
"devDependencies": {
Expand All @@ -55,6 +53,7 @@
"@node-rs/helper": "1.3.3",
"@octokit/action": "3.18.1",
"@playwright/test": "1.23.3",
"@types/brotli": "^1.3.1",
"@types/cross-spawn": "6.0.2",
"@types/eslint": "8.4.5",
"@types/express": "4.17.13",
Expand All @@ -73,24 +72,24 @@
"cross-spawn": "7.0.3",
"cz-conventional-changelog": "3.3.0",
"esbuild": "0.14.49",
"esbuild-register": "3.3.3",
"eslint": "8.20.0",
"eslint-plugin-no-only-tests": "2.6.0",
"execa": "6.1.0",
"express": "4.18.1",
"jest": "28.1.3",
"mri": "1.2.0",
"node-fetch": "3.2.8",
"path-browserify": "1.0.1",
"prettier": "2.7.1",
"rollup": "2.76.0",
"semver": "7.3.7",
"snoop": "^1.0.4",
"tailwindcss": "3.1.6",
"terser": "5.14.2",
"todomvc-app-css": "2.4.2",
"todomvc-common": "1.0.5",
"ts-jest": "28.0.7",
"tsm": "^2.2.1",
"typescript": "4.7.4",
"uvu": "^0.5.6",
"vite": "3.0.1",
"vite-tsconfig-paths": "3.5.0",
"wasm-pack": "0.10.3"
Expand Down Expand Up @@ -129,74 +128,5 @@
"path": "./node_modules/cz-conventional-changelog"
}
},
"jest": {
"preset": "ts-jest/presets/default-esm",
"globals": {
"ts-jest": {
"useESM": true
}
},
"extensionsToTreatAsEsm": [
".ts",
".tsx"
],
"moduleFileExtensions": [
"ts",
"tsx",
"js",
"mjs",
"jsx",
"json",
"d.ts"
],
"moduleNameMapper": {
"^(\\.{1,2}/.*)\\.js$": "$1",
"^@builder.io/qwik/jsx-runtime$": "<rootDir>/packages/qwik/src/jsx-runtime/index.ts",
"^@builder.io/qwik/optimizer$": "<rootDir>/packages/qwik/src/optimizer/index.ts",
"^@builder.io/qwik/server$": "<rootDir>/packages/qwik/src/server/index.ts",
"^@builder.io/qwik/testing$": "<rootDir>/packages/qwik/src/testing/index.ts",
"^@builder.io/qwik/build$": "<rootDir>/packages/qwik/src/build/index.ts",
"^@builder.io/qwik$": "<rootDir>/packages/qwik/src/core/index.ts"
},
"modulePathIgnorePatterns": [
"<rootDir>/.github/",
"<rootDir>/.vscode/",
"<rootDir>/packages/eslint-plugin-qwik/dist/",
"<rootDir>/packages/qwik/dist/",
"<rootDir>/packages/qwik/src/cli/",
"<rootDir>/packages/qwik/src/napi/",
"<rootDir>/packages/qwik/src/optimizer/cli/",
"<rootDir>/packages/qwik/src/optimizer/core/",
"<rootDir>/packages/qwik/src/wasm/",
"<rootDir>/packages/qwik-city/",
"<rootDir>/dist",
"<rootDir>/dist-dev",
"<rootDir>/starters",
"<rootDir>/node_modules",
"<rootDir>/target"
],
"testPathIgnorePatterns": [
"<rootDir>/.github/",
"<rootDir>/.vscode/",
"<rootDir>/bin/",
"<rootDir>/packages/create-qwik/",
"<rootDir>/packages/qwik/dist/",
"<rootDir>/packages/qwik/src/napi/",
"<rootDir>/packages/qwik/src/optimizer/cli/",
"<rootDir>/packages/qwik/src/optimizer/core/",
"<rootDir>/packages/qwik/src/wasm/",
"<rootDir>/packages/docs/",
"<rootDir>/dist-dev/",
"<rootDir>/starters/",
"<rootDir>/node_modules",
".*/node_modules/",
".*/dist/",
"<rootDir>/target/"
],
"testRegex": "/(scripts|packages)/.*\\.unit\\.(ts|tsx)$"
},
"dependencies": {
"tsm": "^2.2.1",
"uvu": "^0.5.6"
}
"type": "module"
}
2 changes: 1 addition & 1 deletion packages/docs/src/pages/qwikcity/middleware/express.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ title: Qwik City - Express Middleware

# Qwik City - Express Middleware

Qwik City express middleware allows you to connect Qwik City to an express server. (This should already be done for you as part of the Qwik starter, but it is included for completeness.)
Qwik City express middleware allows you to connect Qwik City to an express server. (This should already be done for you as part of the Qwik starter, but it is included for completeness.)


```typescript
Expand Down
Loading

0 comments on commit ef0e810

Please sign in to comment.