scullyio / scully

The Static Site Generator for Angular apps
https://scully.io/
MIT License
2.55k stars 257 forks source link

Support for Angular 14 #1625

Open mcavazotti opened 2 years ago

mcavazotti commented 2 years ago

🐞 Bug report

Description

The platform-server library doesn't support Angular v14. Updating the packages.json should fix it.

Sorry for not following the template

proggeramlug commented 2 years ago

for now you can also just --force the installation. Works fine for me.

mcavazotti commented 2 years ago

That's what I'm doing, but it can't be considered a solution for this issue

Em sex., 21 de out. de 2022 04:18, Ralph Küpper @.***> escreveu:

for now you can also just --force the installation. Works fine for me.

— Reply to this email directly, view it on GitHub https://github.com/scullyio/scully/issues/1625#issuecomment-1286559150, or unsubscribe https://github.com/notifications/unsubscribe-auth/AGQMEKZ6LPAI5UNJVA7ONXTWEI7T7ANCNFSM6AAAAAARDTL3EY . You are receiving this because you authored the thread.Message ID: @.***>

claridgicus commented 2 years ago

this is causing some issues, a blank angular install and running the installation steps for scully fails

setTimeout(function () { throw err; }, 0); ^

TypeError: entry.message.split is not a function at MapSubscriber.project (/Users/jamesclaridge/Code/smash/node_modules/@angular-devkit/core/src/logger/indent.js:35:58) at MapSubscriber._next (/Users/jamesclaridge/Code/smash/node_modules/rxjs/internal/operators/map.js:49:35) at MapSubscriber.Subscriber.next (/Users/jamesclaridge/Code/smash/node_modules/rxjs/internal/Subscriber.js:66:18) at Subject.next (/Users/jamesclaridge/Code/smash/node_modules/rxjs/internal/Subject.js:60:25) at IndentLogger.log (/Users/jamesclaridge/Code/smash/node_modules/@angular-devkit/core/src/logger/logger.js:83:23) at IndentLogger.error (/Users/jamesclaridge/Code/smash/node_modules/@angular-devkit/core/src/logger/logger.js:98:21) at /Users/jamesclaridge/Code/smash/node_modules/@scullyio/init/src/ng-add/index.js:89:24 at MergeMapSubscriber.project (/Users/jamesclaridge/Code/smash/node_modules/@angular-devkit/schematics/src/rules/call.js:75:24) at MergeMapSubscriber._tryNext (/Users/jamesclaridge/Code/smash/node_modules/rxjs/internal/operators/mergeMap.js:67:27) at MergeMapSubscriber._next (/Users/jamesclaridge/Code/smash/node_modules/rxjs/internal/operators/mergeMap.js:57:18)

ascandal commented 1 year ago

Note sure if this is the same issue.

I'm using angular 14.2.12.

when running ng add @scullyio/init, after renderer selection it just terminates without warnings or errors. only modified files are the package.json and package-lock.json with"@scullyio/init": "^2.1.41" added.

ℹ Using package manager: npm
✔ Found compatible package version: @scullyio/init@2.1.41.
✔ Package information loaded.

The package @scullyio/init@2.1.41 will be installed and executed.
Would you like to proceed? Yes
✔ Packages successfully installed.
? Which route renderer would you like to use? Puppeteer
ascandal commented 1 year ago

Update following another issues advice from @nelsongutidev , adding "defaultProject": "client" to angular.json fixed installing scully for angular 14 for me.

Deliana90 commented 1 year ago

^solution above not working for angular 15 T__T

nelsongutidev commented 1 year ago

@Deliana90 What error are you seeing?

Deliana90 commented 1 year ago

@nelsongutidev node v18.13.0 @angular/cli@15.1.1

create fresh project angular then add defaultProject like above solution, then... Screenshot from 2023-01-24 19-25-33 show nothing

nelsongutidev commented 1 year ago

@Deliana90 Did you try installing the platform-server librarypackage with the --force flag?

KaliaHayes commented 1 year ago

^solution above not working for angular 15 T__T

Sharing my Angular v15.2.6 remediation steps below. They can probably be cleaned up by removing a redundant/unnecessary step or two - but this worked for me!


Ensure you have a least one route defined in app-routing

Add Scully (this will terminate w/o errors after selecting a route renderer): ng add @scullyio/init

Install Scully puppeteer: npm install @scullyio/scully-plugin-puppeteer

Build your angular project: ng build

Create a ScullyConfig file: scully.projectName.config.ts (replace all instances of projectName with your project name defined in angular.json within "projects")

import { ScullyConfig } from '@scullyio/scully';

export const config: ScullyConfig = {
  projectRoot: './src',
  projectName: 'projectName',
  outDir: './dist/static',
  routes: {},
};

Build Scully app, specifying your project name: npx scully --project projectName

Start the Scully server: npx scully serve

Navigate to http://localhost:1668 - view page source to ensure that Scully is working properly


Hope this helps! KH

fireflysemantics commented 1 year ago

Been trying out the ideas for Angular 15 (Thank you Kalia Hayes). My notes are in this SO question here:

https://stackoverflow.com/questions/76067189/running-scully-in-an-angular-15-project

Related Issue: https://github.com/scullyio/scully/issues/1659

nelsongutidev commented 1 year ago

https://link.medium.com/oyxABoBQezb

Can you try the steps on this post?

This goes through the manual installation process in detail

Martin-Antonov commented 1 year ago

Worked for Angular 16 as well! Thanks! :)