I use Ionic Angular. Following an upgrade from angular 9 to angular 14 and from ionic 4 to ionic 5, I can no longer create pages or components with the command :
ionic g page [PATH]
a warning is raised :
The 'path' option in '[ABSOLUTE_PATH]\node_modules@ionic\angular-toolkit\schematics\page\schema.json' is using deprecated behaviour. 'workingDirectory' smart default provider should be used instead.
And also an error that I think is the cause of the problem:
validation_1.validateName is not a function [ERROR] Could not generate page.
How can I make it work again?
Here is my package.json :
{
"name": "captarget-archery",
"version": "0.0.5",
"author": "Ionic Framework",
"homepage": "https://ionicframework.com/",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
},
"private": true,
"dependencies": {
"@angular/animations": "^14.2.5",
"@angular/common": "^14.2.5",
"@angular/core": "^14.2.5",
"@angular/fire": "^7.4.1",
"@angular/forms": "^14.2.5",
"@angular/platform-browser": "^14.2.5",
"@angular/platform-browser-dynamic": "^14.2.5",
"@angular/router": "^14.2.5",
"@angular/service-worker": "^14.2.5",
"@awesome-cordova-plugins/in-app-purchase-2": "^5.45.0",
"@capacitor/android": "^3.2.0",
"@capacitor/app": "^1.0.3",
"@capacitor/core": "^3.6.0",
"@capacitor/ios": "^3.6.0",
"@capacitor/splash-screen": "^1.2.2",
"@ionic-native/app-availability": "^5.36.0",
"@ionic-native/camera": "^5.29.0",
"@ionic-native/core": "^5.36.0",
"@ionic-native/in-app-browser": "^5.36.0",
"@ionic-native/in-app-purchase-2": "^5.36.0",
"@ionic-native/splash-screen": "^5.0.0",
"@ionic-native/status-bar": "^5.0.0",
"@ionic/angular": "^6.3.0",
"@ionic/lab": "^3.2.7",
"@ionic/storage": "^2.2.0",
"@ngx-translate/core": "^14.0.0",
"@ngx-translate/http-loader": "^4.0.0",
"@types/hammerjs": "^2.0.36",
"angular-animate": "^1.8.2",
"angularfire2": "^5.4.2",
"bootstrap": "^4.4.1",
"chart.js": "^2.9.3",
"chartjs-plugin-labels": "^1.1.0",
"cocoapods": "0.0.0",
"cordova-plugin-appavailability": "^0.4.2",
"cordova-plugin-camera": "^5.0.0",
"cordova-plugin-inappbrowser": "^5.0.0",
"cordova-plugin-network-information": "^2.0.2",
"cordova-plugin-purchase": "^10.6.1",
"cordova-res": "^0.15.3",
"core-js": "^2.5.4",
"crypto-js": "^4.0.0",
"file-saver": "^2.0.5",
"firebase-functions": "3.23.0",
"googleapis": "^85.0.0",
"hammerjs": "^2.0.8",
"inquirer": "^9.1.3",
"install": "0.13.0",
"ionic": "^4.1.2",
"ionic2-calendar": "^0.6.4",
"jetifier": "^2.0.0",
"ng-particles": "^2.17.0",
"ng2-charts": "^2.3.0",
"ngx-autosize": "^1.8.0",
"npm": "8.19.1",
"resources": "^0.4.3",
"rxjs": "^6.6.7",
"rxjs-compat": "^6.6.7",
"tslib": "^2.0.0",
"util": "^0.12.4",
"zone.js": "~0.11.4"
},
"devDependencies": {
"@angular-devkit/architect": "^0.1402.5",
"@angular-devkit/build-angular": "^14.2.5",
"@angular-devkit/core": "^14.2.5",
"@angular-devkit/schematics": "^14.2.5",
"@angular/cli": "14.2.5",
"@angular/compiler": "^14.2.5",
"@angular/compiler-cli": "^14.2.5",
"@angular/language-service": "^14.2.5",
"@capacitor/cli": "^3.6.0",
"@ionic-native/network": "^5.32.0",
"@ionic/angular-toolkit": "^2.3.3",
"@types/jasmine": "~3.6.0",
"@types/jasminewd2": "~2.0.3",
"@types/node": "^8.10.61",
"capacitor": "^0.0.3",
"capacitor-resources": "^1.2.1",
"codelyzer": "^6.0.2",
"firebase": "^9.11.0",
"firebase-admin": "^11.1.0",
"http-server": "^14.1.1",
"jasmine-core": "^4.4.0",
"jasmine-spec-reporter": "~5.0.0",
"karma": "~6.4.1",
"karma-chrome-launcher": "~3.1.0",
"karma-coverage-istanbul-reporter": "~3.0.2",
"karma-jasmine": "~4.0.0",
"karma-jasmine-html-reporter": "^1.5.0",
"protractor": "~7.0.0",
"ts-node": "~7.0.0",
"tslint": "~6.1.0",
"typescript": "4.6.4"
},
"browser": {
"crypto": false
},
"description": "An Ionic project"
}
I found the solution : npm i @ionic/angular-toolkit@latest --save-dev