chore(angular-server): add sync github action and update @stencil/core to 4.19.1 in core (#29670)

Issue number: internal

---------

This does a couple things:

**1 - Adds a `sync` command to get the latest `core` build in
`angular-server`**

The release process for `angular-server` failed
[here](https://github.com/ionic-team/ionic-framework/actions/runs/9686982182/job/26730689874).
This failure was only made apparent because the Lerna command
[here](52ff0505e8/.github/workflows/actions/publish-npm/action.yml (L35))
runs prior to building each package.

This should have been caught by CI on the [update to @stencil/core to
v4.19.0](https://github.com/ionic-team/ionic-framework/pull/29666), but
the `angular-server` package is the only package that doesn't sync
`core` before it builds. This PR adds a `sync` command so that
`angular-server` will use the latest core build during the normal build
action.

**2 - Resolving types errors in `angular-server`**

After properly syncing `core` in `angular-server` using the command
added, running build fails with the following:

<img width="400px" alt="Screenshot 2024-06-27 at 1 16 15 PM"
src="https://github.com/ionic-team/ionic-framework/assets/6577830/68d74750-821b-4776-b563-124d8fa06a79">

This was a regression in Stencil. `@stencil/core` has been updated to
resolve these errors so the build passes.
This commit is contained in:
Brandy Carney
2024-06-27 18:12:12 -04:00
committed by GitHub
parent 52ff0505e8
commit 4c9083050b
6 changed files with 64 additions and 13 deletions

View File

@@ -6,11 +6,19 @@ runs:
- uses: actions/setup-node@v4
with:
node-version: 18.x
- uses: ./.github/workflows/actions/download-archive
with:
name: ionic-core
path: ./core
filename: CoreBuild.zip
- name: Install Angular Server Dependencies
run: npm ci
shell: bash
working-directory: ./packages/angular-server
- name: Sync
run: npm run sync
shell: bash
working-directory: ./packages/angular-server
- name: Build
run: npm run build.prod
shell: bash

18
core/package-lock.json generated
View File

@@ -9,7 +9,7 @@
"version": "8.2.2",
"license": "MIT",
"dependencies": {
"@stencil/core": "^4.19.0",
"@stencil/core": "^4.19.1",
"ionicons": "^7.2.2",
"tslib": "^2.1.0"
},
@@ -723,7 +723,6 @@
},
"node_modules/@clack/prompts/node_modules/is-unicode-supported": {
"version": "1.3.0",
"dev": true,
"inBundle": true,
"license": "MIT",
"engines": {
@@ -1824,9 +1823,9 @@
}
},
"node_modules/@stencil/core": {
"version": "4.19.0",
"resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.19.0.tgz",
"integrity": "sha512-Lky99+K9guu5fFMi3ows9q6p0/gjuZmfmVHxcPMQa5QZKSwG+D19u7G1xcd3p6I+xIfwk71gFxrmcKU1gaOCdg==",
"version": "4.19.1",
"resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.19.1.tgz",
"integrity": "sha512-fjSBctHrobeSL2+XcuX7GVk/eaUhZ/lvIu21RJmzHAPcNyueuSAEv7J/Isn4UlYNk70o+yOK72H0FTlNkUibvw==",
"bin": {
"stencil": "bin/stencil"
},
@@ -10794,8 +10793,7 @@
"dependencies": {
"is-unicode-supported": {
"version": "1.3.0",
"bundled": true,
"dev": true
"bundled": true
}
}
},
@@ -11583,9 +11581,9 @@
"requires": {}
},
"@stencil/core": {
"version": "4.19.0",
"resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.19.0.tgz",
"integrity": "sha512-Lky99+K9guu5fFMi3ows9q6p0/gjuZmfmVHxcPMQa5QZKSwG+D19u7G1xcd3p6I+xIfwk71gFxrmcKU1gaOCdg=="
"version": "4.19.1",
"resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.19.1.tgz",
"integrity": "sha512-fjSBctHrobeSL2+XcuX7GVk/eaUhZ/lvIu21RJmzHAPcNyueuSAEv7J/Isn4UlYNk70o+yOK72H0FTlNkUibvw=="
},
"@stencil/react-output-target": {
"version": "0.5.3",

View File

@@ -31,7 +31,7 @@
"loader/"
],
"dependencies": {
"@stencil/core": "^4.19.0",
"@stencil/core": "^4.19.1",
"ionicons": "^7.2.2",
"tslib": "^2.1.0"
},

View File

@@ -23,6 +23,7 @@
"@angular/platform-server": "^16.0.0",
"@ionic/eslint-config": "^0.3.0",
"@ionic/prettier-config": "^2.0.0",
"@types/node": "^20.14.9",
"@typescript-eslint/eslint-plugin": "^5.2.0",
"eslint": "^7.32.0",
"eslint-plugin-import": "^2.25.2",
@@ -1655,6 +1656,15 @@
"dev": true,
"license": "MIT"
},
"node_modules/@types/node": {
"version": "20.14.9",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.9.tgz",
"integrity": "sha512-06OCtnTXtWOZBJlRApleWndH4JsRVs1pDCc8dLSQp+7PpUpX3ePdHyeNSFTeSe7FtKyQkrlPvHwJOW3SLd8Oyg==",
"dev": true,
"dependencies": {
"undici-types": "~5.26.4"
}
},
"node_modules/@types/resolve": {
"version": "1.20.2",
"resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz",
@@ -6006,6 +6016,12 @@
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/undici-types": {
"version": "5.26.5",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
"integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
"dev": true
},
"node_modules/unique-filename": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz",
@@ -7282,6 +7298,15 @@
"version": "0.0.29",
"dev": true
},
"@types/node": {
"version": "20.14.9",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.9.tgz",
"integrity": "sha512-06OCtnTXtWOZBJlRApleWndH4JsRVs1pDCc8dLSQp+7PpUpX3ePdHyeNSFTeSe7FtKyQkrlPvHwJOW3SLd8Oyg==",
"dev": true,
"requires": {
"undici-types": "~5.26.4"
}
},
"@types/resolve": {
"version": "1.20.2",
"resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz",
@@ -10082,6 +10107,12 @@
"which-boxed-primitive": "^1.0.2"
}
},
"undici-types": {
"version": "5.26.5",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
"integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
"dev": true
},
"unique-filename": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz",

View File

@@ -32,7 +32,8 @@
"lint": "eslint . --ext .ts && npm run prettier",
"lint.fix": "eslint . --ext .ts --fix && npm run prettier.fix",
"prettier": "prettier \"**/*.ts\" --check",
"prettier.fix": "prettier \"**/*.ts\" --write"
"prettier.fix": "prettier \"**/*.ts\" --write",
"sync": "sh ./scripts/sync.sh"
},
"peerDependencies": {
"@angular/core": ">=16.0.0",
@@ -52,6 +53,7 @@
"@angular/platform-server": "^16.0.0",
"@ionic/eslint-config": "^0.3.0",
"@ionic/prettier-config": "^2.0.0",
"@types/node": "^20.14.9",
"@typescript-eslint/eslint-plugin": "^5.2.0",
"eslint": "^7.32.0",
"eslint-plugin-import": "^2.25.2",

View File

@@ -0,0 +1,12 @@
#!/bin/bash
set -e
# Delete old packages
rm -f *.tgz
# Pack @ionic/core
npm pack ../../core
# Install Dependencies
npm install *.tgz --no-save