I have a multi project app in angular.
I’ve added config files to one of the inner project
and get NG0203 inject() must be called from an injection context
when trying to load the route I’m going to.
This only happens with the project I actually recreated to be standalone apps. I added preserverSymslinks:true
but nothing works.
Please let me know if you need certain config files.
I think the multi project app is called a mono repoo. I’ve added package.json
to it also node_modules
etc… in order it to be individualized.Apparently I shoudln’t do that but I didn’t found a way to do it differently.it works when using ng serve
here is the stacktrace:
ERROR RuntimeError2: NG0203: inject() must be called from an injection context such as a constructor, a factory function, a field initializer, or a function used with `runInInjectionContext`. Find more at https://angular.io/errors/NG0203
at injectInjectorOnly2 (webiste.com/main.js:87261:11)
at ɵɵinject2 (https://website/main.js:87271:61)
at Object.factory (https://website.com/main.js:100987:45)
at https://website.com/main.js:26562:35
at runInInjectorProfilerContext (https://website/main.js:25201:5)
at R3Injector.hydrate (https://website.com/main.js:26561:11)
at R3Injector.get (https://website/main.js:26454:23)
at definition.getStandaloneInjector (https://website.com/main.js:100994:27)
at ComponentFactory.create (https://website.com/main.js:33069:53)
at ViewContainerRef2.createComponent (https://website.com/main.js:33380:43)
angular.son
{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"version": 1,
"newProjectRoot": "projects",
"projects": {
"synestez.io": {
"projectType": "application",
"schematics": {
"@schematics/angular:component": {
"style": "scss"
}
},
"root": "",
"sourceRoot": "src",
"prefix": "app",
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:application",
"options": {
"preserveSymlinks": true,
"outputPath": "dist/synestez.io",
"index": "src/index.html",
"browser": "src/main.ts",
"polyfills": [
"src/polyfills.ts",
"zone.js"
],
"tsConfig": "tsconfig.app.json",
"inlineStyleLanguage": "scss",
"assets": [
"src/favicon.ico",
"src/assets",
{
"glob":"**/*",
"input":"projects/sequencer/src/assets/",
"output":"/assets/"
},{
"glob":"**/*",
"input":"projects/store/src/assets/",
"output":"/assets/"
},{
"glob":"**/*",
"input":"projects/dj-mixer/src/assets/",
"output":"/assets/"
},{
"glob":"**/*",
"input":"projects/worklet-generator/src/assets/",
"output":"/assets/"
}
],
"styles": [
"projects/sequencer/src/styles.scss",
"projects/dj-mixer/src/styles.scss",
"projects/worklet-generator/src/styles.scss",
"src/styles.scss"
],
"stylePreprocessorOptions": {
"includePaths": [
"projects/sequencer/src/assets/styles/",
"projects/dj-mixer/src/assets/styles/",
"projects/worklet-generator/src/assets/styles/"
]
},
"scripts": []
},
"configurations": {
"production": {
"budgets": [
{
"type": "initial",
"maximumWarning": "500kb",
"maximumError": "1mb"
},
{
"type": "anyComponentStyle",
"maximumWarning": "2kb",
"maximumError": "4kb"
}
],
"outputHashing": "all",
"fileReplacements":[ {
"replace":"src/environments/environments.ts",
"with":"src/environments/environment.production.ts"
} ]
},
"staging": {
"optimization": true,
"extractLicenses": false,
"sourceMap": false,
"fileReplacements":[
{
"replace": "src/environments/environments.ts",
"with": "src/environments/environment.staging.ts"
},
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.staging.ts"
}
]
}
},
"defaultConfiguration": "staging"
},
"serve": {
"builder": "@angular-devkit/build-angular:dev-server",
"configurations": {
"production": {
"buildTarget": "synestez.io:build:production"
},
"staging": {
"buildTarget": "synestez.io:build:staging"
}
},
"defaultConfiguration": "development",
"styles": [
"projects/sequencer/src/styles.scss",
"src/styles.scss"
],
"stylePreprocessorOptions": {
"includePaths": [
"projects/sequencer/src/assets/styles/",
"projects/dj-mixer/src/assets/styles/",
"projects/worklet-generator/src/assets/styles/"
]
},"assets": [
"src/favicon.ico",
"src/assets",
{
"glob":"**/*",
"input":"projects/sequencer/src/assets/",
"output":"/assets/"
},{
"glob":"**/*",
"input":"projects/store/src/assets/",
"output":"/assets/"
},{
"glob":"**/*",
"input":"projects/dj-mixer/src/assets/",
"output":"/assets/"
},{
"glob":"**/*",
"input":"projects/worklet-generator/src/assets/",
"output":"/assets/"
}
]
},
"extract-i18n": {
"builder": "@angular-devkit/build-angular:extract-i18n",
"options": {
"buildTarget": "synestez.io:build"
}
},
"test": {
"builder": "@angular-devkit/build-angular:jest",
"options": {
"preserveSymlinks":true,
"polyfills": [
"src/polyfills.ts",
"zone.js",
"zone.js/testing"
],
"tsConfig": "tsconfig.spec.json",
"inlineStyleLanguage": "scss",
"assets": [
"src/favicon.ico",
"src/assets"
],
"styles": [
"src/styles.scss"
],
"scripts": []
}
}
}
},
"store": {
"projectType": "application",
"schematics": {
"@schematics/angular:component": {
"style": "scss"
}
},
"root": "projects/store",
"sourceRoot": "projects/store/src",
"prefix": "app",
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:application",
"options": {
"outputPath": "dist/store",
"index": "projects/store/src/index.html",
"browser": "projects/store/src/main.ts",
"polyfills": [
"projects/store/src/polyfills.ts",
"zone.js"
],
"tsConfig": "projects/store/tsconfig.app.json",
"inlineStyleLanguage": "scss",
"assets": [
"projects/store/src/favicon.ico",
"projects/store/src/assets"
],
"styles": [
"projects/store/src/styles.scss"
],
"scripts": []
},
"configurations": {
"production": {
"budgets": [
{
"type": "initial",
"maximumWarning": "500kb",
"maximumError": "1mb"
},
{
"type": "anyComponentStyle",
"maximumWarning": "2kb",
"maximumError": "4kb"
}
],
"outputHashing": "all"
},
"development": {
"optimization": false,
"extractLicenses": false,
"sourceMap": false
}
},
"defaultConfiguration": "production"
},
"serve": {
"builder": "@angular-devkit/build-angular:dev-server",
"configurations": {
"production": {
"buildTarget": "store:build:production"
},
"development": {
"buildTarget": "store:build:development"
}
},
"defaultConfiguration": "development"
},
"extract-i18n": {
"builder": "@angular-devkit/build-angular:extract-i18n",
"options": {
"buildTarget": "store:build"
}
},
"test": {
"builder": "@angular-devkit/build-angular:karma",
"options": {
"polyfills": [
"src/polyfills.ts",
"zone.js",
"zone.js/testing"
],
"tsConfig": "projects/store/tsconfig.spec.json",
"inlineStyleLanguage": "scss",
"assets": [
"projects/store/src/favicon.ico",
"projects/store/src/assets"
],
"styles": [
"projects/store/src/styles.scss"
],
"scripts": []
}
}
}
},
"sequencer": {
"projectType": "application",
"schematics": {
"@schematics/angular:component": {
"style": "scss"
}
},
"root": "projects/sequencer",
"sourceRoot": "projects/sequencer/src",
"prefix": "app",
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:application",
"options": {
"outputPath": "dist/sequencer",
"index": "projects/sequencer/src/index.html",
"browser": "projects/sequencer/src/main.ts",
"polyfills": [
"src/polyfills.ts",
"zone.js"
],
"tsConfig": "projects/sequencer/tsconfig.app.json",
"inlineStyleLanguage": "scss",
"assets": [
"projects/sequencer/src/favicon.ico",
"projects/sequencer/src/assets"
],
"styles": [
"projects/sequencer/src/styles.scss"
],
"scripts": []
},
"configurations": {
"production": {
"budgets": [
{
"type": "initial",
"maximumWarning": "500kb",
"maximumError": "1mb"
},
{
"type": "anyComponentStyle",
"maximumWarning": "2kb",
"maximumError": "4kb"
}
],
"outputHashing": "all"
},
"development": {
"optimization": false,
"extractLicenses": false,
"sourceMap": false
}
},
"defaultConfiguration": "production"
},
"serve": {
"builder": "@angular-devkit/build-angular:dev-server",
"configurations": {
"production": {
"buildTarget": "sequencer:build:production"
},
"development": {
"buildTarget": "sequencer:build:development"
}
},
"defaultConfiguration": "development"
},
"extract-i18n": {
"builder": "@angular-devkit/build-angular:extract-i18n",
"options": {
"buildTarget": "sequencer:build"
}
},
"test": {
"builder": "@angular-devkit/build-angular:jest",
"options": {
"polyfills": [
"src/polyfills.ts",
"zone.js",
"zone.js/testing"
],
"tsConfig": "projects/sequencer/tsconfig.spec.json",
"inlineStyleLanguage": "scss",
"assets": [
"projects/sequencer/src/favicon.ico",
"projects/sequencer/src/assets"
],
"styles": [
"projects/sequencer/src/styles.scss"
],
"scripts": []
}
}
}
},
"dj-mixer": {
"projectType": "application",
"schematics": {
"@schematics/angular:component": {
"style": "scss"
}
},
"root": "projects/dj-mixer",
"sourceRoot": "projects/dj-mixer/src",
"prefix": "app",
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:application",
"options": {
"outputPath": "dist/dj-mixer",
"index": "projects/dj-mixer/src/index.html",
"browser": "projects/dj-mixer/src/main.ts",
"polyfills": [
"src/polyfills.ts",
"zone.js"
],
"tsConfig": "projects/dj-mixer/tsconfig.app.json",
"inlineStyleLanguage": "scss",
"assets": [
"projects/dj-mixer/src/favicon.ico",
"projects/dj-mixer/src/assets"
],
"styles": [
"projects/dj-mixer/src/styles.scss"
],
"scripts": []
},
"configurations": {
"production": {
"budgets": [
{
"type": "initial",
"maximumWarning": "500kb",
"maximumError": "1mb"
},
{
"type": "anyComponentStyle",
"maximumWarning": "2kb",
"maximumError": "4kb"
}
],
"outputHashing": "all"
},
"development": {
"optimization": false,
"extractLicenses": false,
"sourceMap": false
}
},
"defaultConfiguration": "production"
},
"serve": {
"builder": "@angular-devkit/build-angular:dev-server",
"configurations": {
"production": {
"buildTarget": "dj-mixer:build:production"
},
"development": {
"buildTarget": "dj-mixer:build:development"
}
},
"defaultConfiguration": "development",
},
"extract-i18n": {
"builder": "@angular-devkit/build-angular:extract-i18n",
"options": {
"buildTarget": "dj-mixer:build"
}
},
"test": {
"builder": "@angular-devkit/build-angular:karma",
"options": {
"polyfills": [
"src/polyfills.ts",
"zone.js",
"zone.js/testing"
],
"tsConfig": "projects/dj-mixer/tsconfig.spec.json",
"inlineStyleLanguage": "scss",
"assets": [
"projects/dj-mixer/src/favicon.ico",
"projects/dj-mixer/src/assets"
],
"styles": [
"projects/dj-mixer/src/styles.scss"
],
"scripts": []
}
}
}
},
"worklet-generator": {
"projectType": "application",
"schematics": {
"@schematics/angular:component": {
"style": "scss"
}
},
"root": "projects/worklet-generator",
"sourceRoot": "projects/worklet-generator/src",
"prefix": "app",
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:application",
"options": {
"preserveSymlinks": true,
"outputPath": "dist/worklet-generator",
"index": "projects/worklet-generator/src/index.html",
"browser": "projects/worklet-generator/src/main.ts",
"polyfills": [
"projects/worklet-generator/src/polyfills.ts",
"zone.js"
],
"tsConfig": "projects/worklet-generator/tsconfig.app.json",
"inlineStyleLanguage": "scss",
"assets": [
"projects/worklet-generator/src/favicon.ico",
"projects/worklet-generator/src/assets"
],
"styles": [
"projects/worklet-generator/src/styles.scss"
],
"scripts": []
},
"configurations": {
"production": {
"budgets": [
{
"type": "initial",
"maximumWarning": "500kb",
"maximumError": "1mb"
},
{
"type": "anyComponentStyle",
"maximumWarning": "2kb",
"maximumError": "4kb"
}
],
"outputHashing": "all"
},
"development": {
"optimization": false,
"extractLicenses": false,
"sourceMap": false
}
},
"defaultConfiguration": "production"
},
"serve": {
"builder": "@angular-devkit/build-angular:dev-server",
"configurations": {
"production": {
"buildTarget": "worklet-generator:build:production"
},
"development": {
"buildTarget": "worklet-generator:build:development"
}
},
"defaultConfiguration": "development"
},
"extract-i18n": {
"builder": "@angular-devkit/build-angular:extract-i18n",
"options": {
"buildTarget": "worklet-generator:build"
}
},
"test": {
"builder": "@angular-devkit/build-angular:karma",
"options": {
"polyfills": [
"src/polyfills.ts",
"zone.js",
"zone.js/testing"
],
"tsConfig": "projects/worklet-generator/tsconfig.spec.json",
"inlineStyleLanguage": "scss",
"assets": [
"projects/worklet-generator/src/favicon.ico",
"projects/worklet-generator/src/assets"
],
"styles": [
"projects/worklet-generator/src/styles.scss"
],
"scripts": []
}
}
}
}
}
}
11