Command
serve
Is this a regression?
The previous version in which this bug was not present was
No response
Description
When using @angular-devkit/build-angular:dev-server I can use --allowedHosts parameter with array of hostnames, so my hostnames can be dynamic.
But when using @angular/build:dev-server the array of names is not recognized (only boolean type is passed instead?)
ng serve myproject --allowed-hosts "example.com"
"Error: Unknown argument: example.com"
Workaround:
__VITE_ADDITIONAL_SERVER_ALLOWED_HOSTS=example.com ng serve myproject
or hard code in the array format in angular.json like mentioned in angular/angular#64104
Comparing the two builder i can see this difference if you "patch" @angular/build:dev-server's schema.json, then the command will work.
https://github.com/angular/angular-cli/blob/main/packages/angular_devkit/build_angular/src/builders/dev-server/schema.json
vs
https://github.com/angular/angular-cli/blob/main/packages/angular/build/src/builders/dev-server/schema.json
"allowedHosts": {
+ "type": "array",
"description": "The hosts that the development server will respond to. This option sets the Vite option of the same name. For further details: https://vite.dev/config/server-options.html#server-allowedhosts",
"default": [],
+ "items": {
+ "type": "string"
+ }
- "oneOf": [
- {
- "type": "array",
- "description": "A list of hosts that the development server will respond to.",
- "items": {
- "type": "string"
- }
- },
- {
- "type": "boolean",
- "description": "Indicates that all hosts are allowed. This is not recommended and a security risk."
- }
- ]
},
@see issue * PR for the devkit commit that added the option:
It note that @angular-devkit/build-angular:dev-server also has a (custom?) --disableHostCheck parameter which sets allowedHosts to true if passed, so then disable all hosts situation can be covered as schema no longer allows boolean, only array.
Not sure how to fix properly.
Minimal Reproduction
Exception or Error
Your Environment
Anything else relevant?
No response
Command
serve
Is this a regression?
The previous version in which this bug was not present was
No response
Description
When using
@angular-devkit/build-angular:dev-serverI can use--allowedHostsparameter with array of hostnames, so my hostnames can be dynamic.But when using
@angular/build:dev-serverthe array of names is not recognized (only boolean type is passed instead?)ng serve myproject --allowed-hosts "example.com""Error: Unknown argument: example.com"
Workaround:
or hard code in the array format in
angular.jsonlike mentioned in angular/angular#64104Comparing the two builder i can see this difference if you "patch"
@angular/build:dev-server's schema.json, then the command will work.https://github.com/angular/angular-cli/blob/main/packages/angular_devkit/build_angular/src/builders/dev-server/schema.json
vs
https://github.com/angular/angular-cli/blob/main/packages/angular/build/src/builders/dev-server/schema.json
"allowedHosts": { + "type": "array", "description": "The hosts that the development server will respond to. This option sets the Vite option of the same name. For further details: https://vite.dev/config/server-options.html#server-allowedhosts", "default": [], + "items": { + "type": "string" + } - "oneOf": [ - { - "type": "array", - "description": "A list of hosts that the development server will respond to.", - "items": { - "type": "string" - } - }, - { - "type": "boolean", - "description": "Indicates that all hosts are allowed. This is not recommended and a security risk." - } - ] },@see issue * PR for the devkit commit that added the option:
It note that
@angular-devkit/build-angular:dev-serveralso has a (custom?)--disableHostCheckparameter which setsallowedHoststotrueif passed, so then disable all hosts situation can be covered as schema no longer allows boolean, only array.Not sure how to fix properly.
Minimal Reproduction
Exception or Error
Your Environment
Anything else relevant?
No response