Skip to content

Commit

Permalink
sander/PrepV2Release (#1431)
Browse files Browse the repository at this point in the history
* Added to FAQ page
* chore(monorepo): update to latest NX && Angular
* chore(monorepo): update deps to latest versions
* docs(docsWeb): add roadmap, consultancy and form for adding links.
* chore(monorepo): update workflow to represent V2 version compatability
* Update docs/consutancy.md (Co-authored-by: Jeffrey Bosch <[email protected]>)
* Update docs/faq.md(Co-authored-by: Jeffrey Bosch <[email protected]>)
* chore(monorepo): u[date peerdeps for new versions
* chore(monorepo): use the force, to test node versions that aren't on Angulars supported list
* chore(Actions): update workflow for node 14/16
* docs(docsWeb): accenturate the optional nature of render plugins
* chore(monorepo): update package versions to match release(Co-authored-by: Jeffrey Bosch <[email protected]>)
  • Loading branch information
SanderElias authored Sep 23, 2021
1 parent 483d6b1 commit 7746a99
Show file tree
Hide file tree
Showing 37 changed files with 6,629 additions and 6,612 deletions.
14 changes: 4 additions & 10 deletions .github/workflows/workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:

strategy:
matrix:
node: [12.x, 14.x]
node: [14.x, 16.x]

steps:
- name: Checkout branch
Expand Down Expand Up @@ -276,13 +276,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
prop:
[
{ node: 12, angular: 10 },
{ node: 12, angular: 11 },
{ node: 14, angular: 10 },
{ node: 14, angular: 11 },
]
prop: [{ node: 14, angular: 12 }, { node: 16, angular: 12 }]
steps:
- name: Setup angular project and run all tests
uses: actions/setup-node@v2
Expand All @@ -291,11 +285,11 @@ jobs:
env:
CI: true
- run: export NG_CLI_ANALYTICS=false false
- run: npm i @angular/cli@${{ matrix.prop.angular }} @scullyio/scully@develop @scullyio/ng-lib@develop
- run: npm i @angular/cli@${{ matrix.prop.angular }} @scullyio/scully@develop @scullyio/ng-lib@develop --force
- run: npx ng new demo --skipGit --routing --style css --minimal --strict
- run: cd demo && npx ng g m home --route home --module app.module
- run: cd demo && npx ng g m about --route about --module app.module
- run: cd demo && npx ng add @scullyio/init@develop
- run: cd demo && npx ng add @scullyio/init@develop --skip-confirmation
- run: cd demo && npx ng g @scullyio/init:blog
- run: cd demo && npx ng build
- run: cd demo && npx scully --noPrompt
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,10 @@ those who want to know more about the theory behind pre-rendering JavaScript SPA
wrote a [free book about the Jamstack](https://www.netlify.com/pdf/oreilly-modern-web-development-on-the-jamstack.pdf).
Check that out today.

> ### NOTE!
> Please notice that with the release of Scully version 2, support for Angular versions lower as 12 is deprecated.
> for older versions, you can keep on using the existing 1.1.1 version, which will only receive security updates from now on.
#### GET A HOLD OF US 24/7

The Scully core team wants to help you any time you need us. We don’t want you to get stuck without help. To make this possible, you have the following ways to get a hold of our team:
Expand Down
8 changes: 8 additions & 0 deletions apps/scully-docs/src/app/app-routing.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,14 @@ const routes: Routes = [
path: 'ngconf',
loadChildren: () => import('./pages/extraPages/extra-page.module').then((m) => m.ExtraPageModule),
},
{
path: 'scully-user',
loadChildren: () => import('./pages/extraPages/extra-page.module').then((m) => m.ExtraPageModule),
},
{
path: 'consultancy',
loadChildren: () => import('./pages/extraPages/extra-page.module').then((m) => m.ExtraPageModule),
},
{
path: '404',
component: PageNotFoundComponent,
Expand Down
3 changes: 2 additions & 1 deletion apps/scully-docs/src/app/app.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ import { NavListService } from './components/nav-list/nav-list.service';
export class AppComponent {
constructor(private router: Router, public nl: NavListService) {}
get isLandingPage() {
return this.router.url === '/' || this.router.url === '/ngconf';
return !this.router.url.toLowerCase().includes('/docs')
// return this.router.url === '/' || this.router.url === '/ngconf';
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,12 @@ import { ScullyLibModule } from '@scullyio/ng-lib';
<footer class="scullyio-footer"></footer>
<style>
main {
display:grid;
min-height: calc(100vh - 176px - 80px);
padding: 24px;
max-width: 80rem;
margin: 0 auto;
justify-content: center;
}
:host {
display: block;
Expand Down
10 changes: 10 additions & 0 deletions docs/consutancy.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
title: Scully consultancy.
published: true
lang: en
position: 2000
---

# Scully consultancy.

If you have questions or want to have us help you integrate Scully into your current project, contact the team at [HeroDevs](https://www.hero.dev).
43 changes: 43 additions & 0 deletions docs/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -222,6 +222,49 @@ Also, make sure you add the following to your config:

</details>

<details>
<summary>Scully inside GCE has timeout failures.</summary>

It seems that inside GCE sometimes the server takes a long time to properly come up. If this happens, you can extend the waiting time for the server with a command-line parameter like:

```bash
npx scully --handle404=index --hostName="${SSR_HOST_NAME}" --noPrompt --serverTimeout=60000
```
The following puppeteer settings are reported to help in this case:
```typescript
export const config: ScullyConfig = {
projectRoot: './pathToRoot',
projectName: 'nameOfProject',
outDir: './dist/static',
routes: {
/** your route config **/
},
defaultPostRenderers,
puppeteerLaunchOptions: {
executablePath: '/usr/bin/chromium-browser',
args: [
'--no-sandbox',
'--disable-setuid--sandbox',
'--headless',
'--disable-gpu',
'--disable-dev-shm-usage',
'--no-default-browser-check',
'--no-first-run',
'--disable-default-apps',
'--disable-popup-blocking',
'--disable-translate',
'--disable-background-timer-throttling',
'--disable-renderer-backgrounding',
'--disable-device-discovery-notifications',
'--disable-web-security',
],
},
};

```

</details>

### File locations

<details>
Expand Down
5 changes: 3 additions & 2 deletions docs/learn/getting-started/requirements.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,9 @@ You need an existing or new Angular application that has the router installed.

## Minimal versions needed.

- Angular versions: **v9.x.x** or **v10.x.x**
- Node.js: **12** or higher.
- For Angular versions 9, 10, and, 11, use Scully V1.1.1 (this version will only receive security updates)
- for Angular V12 and above use Scully from V2.0.0 on.
- Node.js: **14** or higher.

**IMPORTANT:** _Scully uses Chromium. Therefore, your Operating System, as well as its administrator rights must allow its installation and execution._

Expand Down
47 changes: 47 additions & 0 deletions docs/roadmap.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
---
title: Scully roadmap
published: true
lang: en
position: 5
---

# Scully roadmap.

In here we are listing the things we would like to implement in Scully.
We are giving no time-estimates as we are deppening on available time of contributors and/or sponsors.
There are an couple of new optional render plugins in the list. Those will all be optional, the current way of working will keep on existing. We plan on changing the default renderer to the playwright version when we have enough feedback and testing done. Even when this happens, you can still keep on using the system that is now in place, and the new default will only be activated in new projects.

- release V2 of Scully
- Deprecate support for Angular before version 12.
- V2 will require Angular v12 and up
- V2 will switch over to the new Ivy library structure soon
- V1 will remain available for Angular versions 9/10/11
- support for versions before V9 is completely dropped.
- Better control over server-start-stop.
- We have had some reports of stalling in CI/CD, an this seems to be the root cause of this issue.
- optional Renderer build on top of [platform-server](https://angular.io/api/platform-server)
- Scully is now using Puppeteer to render the resulting pages. This approach will be using the platform server. While this puts some additional demands on the application (similar to Angular Universal, which uses the same engine), it can render pages _much_ faster. (It doesn't have to start a browser, navigate to a page and so on)
- optional Render build on top of [Playwright](https://github.com/microsoft/playwright)
- This is very similar to Puppeteer, but supports more browsers, and works on M1 chips.
- optional Platform server renderer with auto fallback.
- will first try the platform-render, and if that fails uses another renderer to finish the page.
- this will allow sites that are not build with the restrictions of the platforms-server in mind to slowly migrate.
- Build On Demand server
- This will be a server, where you call into to have Scully build pages on demand.
- When called with a route, it will return the index.html for that route.
- It can optionally write it to disk.
- It can optionally call a script. This might be used to deploy the route
- Extended BOD server. (see right above)
- Provide webhooks for CMS systems to inform for updated dependencies
- uses the cache plugin to build a dependencies map
- will use that map to rerender the pages that are touched by the updated dependency.
- will provide a way to manually add linked deps. (if x updates, render y)
- Monitoring server.
- this will be a server that you can use to monitor your CMS(es) and/or DB's and then kicks off the Extended BOD functionality to deploy the updated routes
- Hybrid SSR server on top of the platform-server renderer.
- this extends the BOD server with:
- a way to handle sites with a mixture of dynamic session pages and static ones
- static pages will be prerendered, and served fully static
- dynamic-session pages will be rendered on demand.

When you want us to give any of those priority, check our [consultancy page](./consutancy.md). The team at HeroDevs will gladly help you.
14 changes: 7 additions & 7 deletions libs/ng-lib/package.json
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
{
"name": "@scullyio/ng-lib",
"version": "1.1.1",
"version": "2.0.0",
"repository": {
"type": "GIT",
"url": "https://github.com/scullyio/scully/tree/main/libs/ng-lib"
},
"peerDependencies": {
"@angular/router": "*",
"@angular/platform-browser-dynamic": "*",
"@angular/common": "*",
"@angular/core": "*",
"rxjs": "6.x.x"
"@angular/router": "12.x.x",
"@angular/platform-browser-dynamic": "12.x.x",
"@angular/common": "12.x.x",
"@angular/core": "12.x.x",
"rxjs": "6.x.x || 7.x.x"
},
"keywords": [
"angular",
Expand All @@ -19,4 +19,4 @@
"scully-plugin",
"plugin"
]
}
}
4 changes: 2 additions & 2 deletions libs/plugins/base-href-rewrite/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@scullyio/scully-plugin-base-href-rewrite",
"version": "1.1.1",
"version": "2.0.0",
"main": "./src/index.js",
"author": "Sander Elias",
"repository": {
Expand All @@ -11,4 +11,4 @@
"peerDependencies": {
"@scullyio/scully": "*"
}
}
}
4 changes: 2 additions & 2 deletions libs/plugins/docs-link-update/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@scullyio/scully-plugin-docs-link-update",
"version": "1.1.1",
"version": "2.0.0",
"peerDependencies": {
"@scullyio/scully": "*"
},
Expand All @@ -18,4 +18,4 @@
"scully-plugin",
"plugin"
]
}
}
4 changes: 2 additions & 2 deletions libs/plugins/extra/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@scullyio/scully-plugin-extra",
"version": "1.1.1",
"version": "2.0.0",
"description": "Scully extra demo plugin",
"main": "./src/index.js",
"scripts": {},
Expand All @@ -21,4 +21,4 @@
"scully-plugin",
"plugin"
]
}
}
4 changes: 2 additions & 2 deletions libs/plugins/from-data/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@scullyio/scully-plugin-from-data",
"version": "1.1.1",
"version": "2.0.0",
"description": "Scully demo data plugin",
"main": "./src/index.js",
"author": "",
Expand All @@ -23,4 +23,4 @@
"scully-plugin",
"plugin"
]
}
}
4 changes: 2 additions & 2 deletions libs/plugins/google-analytics/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@scullyio/scully-plugin-google-analytics",
"version": "1.1.1",
"version": "2.0.0",
"author": "Israel Guzman",
"repository": {
"type": "GIT",
Expand All @@ -18,4 +18,4 @@
"scully-plugin",
"plugin"
]
}
}
4 changes: 2 additions & 2 deletions libs/plugins/logrocket/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@scullyio/scully-plugin-logrocket",
"version": "1.1.1",
"version": "2.0.0",
"repository": {
"type": "GIT",
"url": "https://github.com/scullyio/scully/tree/main/libs/plugins/logrocket"
Expand All @@ -19,4 +19,4 @@
"scully-plugin",
"plugin"
]
}
}
6 changes: 3 additions & 3 deletions libs/plugins/scully-plugin-copy-to-clipboard/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@scullyio/scully-plugin-copy-to-clipboard",
"version": "0.1.1",
"version": "1.0.0",
"author": "Ankit Prajapati",
"license": "MIT",
"repository": {
Expand All @@ -11,7 +11,7 @@
"@scullyio/scully": "*"
},
"dependencies": {
"jsdom": "^16.2.2"
"jsdom": "^17.x.x"
},
"keywords": [
"angular",
Expand All @@ -21,4 +21,4 @@
"scully-plugin",
"plugin"
]
}
}
4 changes: 2 additions & 2 deletions libs/plugins/scully-plugin-critical-css/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@scullyio/scully-plugin-critical-css",
"version": "0.1.1",
"version": "1.0.0",
"peerDependencies": {
"@scullyio/scully": "*"
},
Expand All @@ -19,4 +19,4 @@
"dependencies": {
"critical": "^4.0.1"
}
}
}
4 changes: 2 additions & 2 deletions libs/plugins/scully-plugin-flash-prevention/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@scullyio/scully-plugin-flash-prevention",
"version": "1.1.1",
"version": "2.0.0",
"main": "./src/index.js",
"contributors": [
"Aaron Frost <[email protected]>"
Expand All @@ -22,4 +22,4 @@
"scully-plugin",
"plugin"
]
}
}
Loading

0 comments on commit 7746a99

Please sign in to comment.