Title: Schematic with multi select x-promt errors when using command line parameter: 'path ".foo" should be array' · Issue #16320 · angular/angular-cli · GitHub
Open Graph Title: Schematic with multi select x-promt errors when using command line parameter: 'path ".foo" should be array' · Issue #16320 · angular/angular-cli
X Title: Schematic with multi select x-promt errors when using command line parameter: 'path ".foo" should be array' · Issue #16320 · angular/angular-cli
Description: 🐞 Bug report Command (mark with an x) new build serve test e2e generate add update lint xi18n run config help version doc Is this a regression? No, it's not. Multi select prompt is just supported within angular cli > 9.0.0-rc.3. Descript...
Open Graph Description: 🐞 Bug report Command (mark with an x) new build serve test e2e generate add update lint xi18n run config help version doc Is this a regression? No, it's not. Multi select prompt is just supported w...
X Description: 🐞 Bug report Command (mark with an x) new build serve test e2e generate add update lint xi18n run config help version doc Is this a regression? No, it's not. Multi select prompt is just support...
Opengraph URL: https://github.com/angular/angular-cli/issues/16320
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Schematic with multi select x-promt errors when using command line parameter: 'path \".foo\" should be array'","articleBody":"\u003c!--🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅\r\n\r\nOh hi there! 😄\r\n\r\nTo expedite issue processing please search open and closed issues before submitting a new one.\r\nExisting issues often contain information about workarounds, resolution, or progress updates.\r\n\r\n🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅--\u003e\r\n\r\n\r\n# 🐞 Bug report\r\n\r\n### Command (mark with an `x`)\r\n\u003c!-- Can you pin-point the command or commands that are effected by this bug? --\u003e\r\n\u003c!-- ✍️edit: --\u003e\r\n\r\n- [ ] new\r\n- [ ] build\r\n- [ ] serve\r\n- [ ] test\r\n- [ ] e2e\r\n- [x] generate\r\n- [x] add\r\n- [ ] update\r\n- [ ] lint\r\n- [ ] xi18n\r\n- [ ] run\r\n- [ ] config\r\n- [ ] help\r\n- [ ] version\r\n- [ ] doc\r\n\r\n\r\n### Is this a regression?\r\n\r\nNo, it's not. Multi select prompt is just supported within angular cli \u003e `9.0.0-rc.3`.\r\n\r\n### Description\r\n\r\nCreating an angular schematic that prompts the user for multiple options is possible since https://github.com/angular/angular-cli/issues/16104. The prompt works quite good now but using the command line for multi selections will cause an error:\r\n\r\n```text\r\nError: Schematic input does not validate against the Schema: {\"name\":\"paul\"}\r\nErrors:\r\n\r\n Data path \".name\" should be array.\r\n...\r\n```\r\n\r\nAt first I opened an issue for the docs because I thought it's just not documented: https://github.com/angular/angular/issues/33851 But after checking the implementation of the angular guard schematic which has `--implements` parameter (which works) and creating the minimal reproduction repo (see underneath), I think it's a bug somewhere in `@angular-devkit/schematics-cli`. \r\n\r\n## 🔬 Minimal Reproduction\r\nI created a very minimal repo for reproduction:\r\nhttps://github.com/d-koppenhagen/ngx-multi-select-schematic\r\n\r\n```bash\r\nnpm i -g @angular-devkit/schematics-cli@next\r\ngit clone git@github.com:d-koppenhagen/ngx-multi-select-schematic.git\r\ncd ngx-multi-select-schematic\r\nnpm i\r\n```\r\n\r\n**✅ Using prompt works good:**\r\n```bash\r\nschematics .:hello --debug=false\r\n? Which interfaces would you like to implement? (Press \u003cspace\u003e to select, \u003ca\u003e to toggle all, \u003c\r\ni\u003e to invert selection)\r\n❯◉ hans\r\n ◉ peter\r\n ◉ paul\r\nschematics .:hello --debug=false --name=\"paul, peter\"\r\n```\r\n\r\n**❌Using command line parameter fails (event not with just a single name handed over:**\r\n```text\r\nschematics .:hello --debug=false --name=\"paul\"\r\nError: Schematic input does not validate against the Schema: {\"name\":\"paul\"}\r\nErrors:\r\n\r\n Data path \".name\" should be array.\r\n at MapSubscriber.registry.compile.pipe.operators_1.map.result [as project] (/usr/local/lib/node_modules/@angular-devkit/schematics-cli/node_modules/@angular-devkit/schematics/tools/schema-option-transform.js:31:27)\r\n at MapSubscriber._next (/usr/local/lib/node_modules/@angular-devkit/schematics-cli/node_modules/rxjs/internal/operators/map.js:49:35)\r\n at MapSubscriber.Subscriber.next (/usr/local/lib/node_modules/@angular-devkit/schematics-cli/node_modules/rxjs/internal/Subscriber.js:66:18)\r\n at ThrowIfEmptySubscriber._next (/usr/local/lib/node_modules/@angular-devkit/schematics-cli/node_modules/rxjs/internal/operators/throwIfEmpty.js:44:26)\r\n at ThrowIfEmptySubscriber.Subscriber.next (/usr/local/lib/node_modules/@angular-devkit/schematics-cli/node_modules/rxjs/internal/Subscriber.js:66:18)\r\n at TakeSubscriber._next (/usr/local/lib/node_modules/@angular-devkit/schematics-cli/node_modules/rxjs/internal/operators/take.js:54:30)\r\n at TakeSubscriber.Subscriber.next (/usr/local/lib/node_modules/@angular-devkit/schematics-cli/node_modules/rxjs/internal/Subscriber.js:66:18)\r\n at MergeMapSubscriber.notifyNext (/usr/local/lib/node_modules/@angular-devkit/schematics-cli/node_modules/rxjs/internal/operators/mergeMap.js:92:26)\r\n at InnerSubscriber._next (/usr/local/lib/node_modules/@angular-devkit/schematics-cli/node_modules/rxjs/internal/InnerSubscriber.js:28:21)\r\n at InnerSubscriber.Subscriber.next (/usr/local/lib/node_modules/@angular-devkit/schematics-cli/node_modules/rxjs/internal/Subscriber.js:66:18)\r\n```\r\n\r\n\r\n\r\n## 🔥 Exception or Error\r\n```text\r\nError: Schematic input does not validate against the Schema: {\"name\":\"paul\"}\r\nErrors:\r\n\r\n Data path \".name\" should be array.\r\n at MapSubscriber.registry.compile.pipe.operators_1.map.result [as project] (/usr/local/lib/node_modules/@angular-devkit/schematics-cli/node_modules/@angular-devkit/schematics/tools/schema-option-transform.js:31:27)\r\n at MapSubscriber._next (/usr/local/lib/node_modules/@angular-devkit/schematics-cli/node_modules/rxjs/internal/operators/map.js:49:35)\r\n at MapSubscriber.Subscriber.next (/usr/local/lib/node_modules/@angular-devkit/schematics-cli/node_modules/rxjs/internal/Subscriber.js:66:18)\r\n at ThrowIfEmptySubscriber._next (/usr/local/lib/node_modules/@angular-devkit/schematics-cli/node_modules/rxjs/internal/operators/throwIfEmpty.js:44:26)\r\n at ThrowIfEmptySubscriber.Subscriber.next (/usr/local/lib/node_modules/@angular-devkit/schematics-cli/node_modules/rxjs/internal/Subscriber.js:66:18)\r\n at TakeSubscriber._next (/usr/local/lib/node_modules/@angular-devkit/schematics-cli/node_modules/rxjs/internal/operators/take.js:54:30)\r\n at TakeSubscriber.Subscriber.next (/usr/local/lib/node_modules/@angular-devkit/schematics-cli/node_modules/rxjs/internal/Subscriber.js:66:18)\r\n at MergeMapSubscriber.notifyNext (/usr/local/lib/node_modules/@angular-devkit/schematics-cli/node_modules/rxjs/internal/operators/mergeMap.js:92:26)\r\n at InnerSubscriber._next (/usr/local/lib/node_modules/@angular-devkit/schematics-cli/node_modules/rxjs/internal/InnerSubscriber.js:28:21)\r\n at InnerSubscriber.Subscriber.next (/usr/local/lib/node_modules/@angular-devkit/schematics-cli/node_modules/rxjs/internal/Subscriber.js:66:18)\r\n```\r\n\r\n\r\n## 🌍 Your Environment\r\n\u003cpre\u003e\u003ccode\u003e\r\nng version\r\n _ _ ____ _ ___\r\n / \\ _ __ __ _ _ _| | __ _ _ __ / ___| | |_ _|\r\n / △ \\ | '_ \\ / _` | | | | |/ _` | '__| | | | | | |\r\n / ___ \\| | | | (_| | |_| | | (_| | | | |___| |___ | |\r\n /_/ \\_\\_| |_|\\__, |\\__,_|_|\\__,_|_| \\____|_____|___|\r\n |___/\r\n \r\n\r\nAngular CLI: 9.0.0-rc.4\r\nNode: 10.14.0\r\nOS: darwin x64\r\n\r\nAngular: undefined\r\n... \r\nIvy Workspace: Yes\r\n\r\nPackage Version\r\n------------------------------------------------------\r\n@angular-devkit/architect 0.900.0-rc.4 (cli-only)\r\n@angular-devkit/core 9.0.0-rc.4\r\n@angular-devkit/schematics 9.0.0-rc.4\r\n@schematics/angular 9.0.0-rc.4 (cli-only)\r\n@schematics/update 0.900.0-rc.4 (cli-only)\r\nrxjs 6.5.3\r\ntypescript 3.6.4\r\n\u003c/code\u003e\u003c/pre\u003e\r\n\r\n","author":{"url":"https://github.com/d-koppenhagen","@type":"Person","name":"d-koppenhagen"},"datePublished":"2019-11-29T17:15:02.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":12},"url":"https://github.com/16320/angular-cli/issues/16320"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:c0821a6c-e467-a237-499c-eac46d51d274 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | 9976:3B1686:51AFCF:70005D:6964F38E |
| html-safe-nonce | becc27aa3a797bb1f43174a1aa968e24053ee39ae00d69419bd02756445227ea |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI5OTc2OjNCMTY4Njo1MUFGQ0Y6NzAwMDVEOjY5NjRGMzhFIiwidmlzaXRvcl9pZCI6Ijg3NDYxODMwOTAyMjUwODMyNzgiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | 33afdfb99b38622b2ccb5ce920b03b7c92028f860650cacf8cc929e2da4e55e0 |
| hovercard-subject-tag | issue:530439053 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/angular/angular-cli/16320/issue_layout |
| twitter:image | https://opengraph.githubassets.com/5080a2731aee10e09caf8596de1dcb1771bcfe7b43969f280c297637cd38780f/angular/angular-cli/issues/16320 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/5080a2731aee10e09caf8596de1dcb1771bcfe7b43969f280c297637cd38780f/angular/angular-cli/issues/16320 |
| og:image:alt | 🐞 Bug report Command (mark with an x) new build serve test e2e generate add update lint xi18n run config help version doc Is this a regression? No, it's not. Multi select prompt is just supported w... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | d-koppenhagen |
| hostname | github.com |
| expected-hostname | github.com |
| None | 003e962bf5ca78f3f8f71db2461c6a7f9cfcbe99b480d6aeddaef78d33e9161a |
| turbo-cache-control | no-preview |
| go-import | github.com/angular/angular-cli git https://github.com/angular/angular-cli.git |
| octolytics-dimension-user_id | 139426 |
| octolytics-dimension-user_login | angular |
| octolytics-dimension-repository_id | 36891867 |
| octolytics-dimension-repository_nwo | angular/angular-cli |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 36891867 |
| octolytics-dimension-repository_network_root_nwo | angular/angular-cli |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 21cbf6733480c5c09366f15b8dc8b6953472172a |
| ui-target | canary-2 |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width