Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Library schematic does not support path property

Abierto
#16,080 6 comentarios 9 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
35/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
angular, typescript
Área
cli

Línea de trabajo

Comienza con el repositorio de reproducción mínima enlazado en el issue y sigue el punto de entrada del schematic de library en @schematics/angular/library/index.js, junto con utility/workspace.js del stack de error. Confirma cómo se gestiona la ruta cuando la aplicación se genera en una subcarpeta. Se considera terminado cuando el schematic de library acepta la ruta y localiza el angular.json de la aplicación generada sin el error del workspace.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

area: @schematics/angular feature feature: insufficient votes

🐞 Bug report

Command (mark with an x)
- [ ] new
- [ ] build
- [ ] serve
- [ ] test
- [ ] e2e
- [ ] generate
- [ ] add
- [ ] update
- [ ] lint
- [ ] xi18n
- [ ] run
- [ ] config
- [ ] help
- [ ] version
- [ ] doc
- [X] schematics
Is this a regression?

Not as far as I know

Description

I tried to create a schematic that generates an application and adds a library to it. However, the library schematic does not accept a path as parameter and it then attempts to create the library in the folder that contains the application. Specifically, it tries to read the angular.json file from the folder containing the application folder (e.g. the folder where the schematic is run).

Note that I expected the path property to work, as it's included with most of the other Angular schematics, for example component, module and service.

🔬 Minimal Reproduction

A minimal reproduction may be found in this repo.

It also addresses a problem I had when trying to work around this with applyToSubtree.

Here is the simplest description I could come up with.

Given this factory:

export function createProject(_options: any): Rule {
  return (_tree: Tree, _context: SchematicContext) => {
    return chain([
      externalSchematic('@schematics/angular', 'ng-new', optionsNew),
      externalSchematic('@schematics/angular', 'library', optionsLib)
    ]);
  };
}

If you execute the schematic in a folder named /parent/folder and the app generates in a new folder named app (/parent/folder/app), the library schematic searches for the angular.json in /parent/folder instead of /parent/folder/app.

🔥 Exception or Error

An error occured:
Error: Unable to locate a workspace file for workspace path.
    at Object.readWorkspace (C:\dev\scratchpad\scaffolding-tests\node_modules\@angular-devkit\core\src\workspace\core.js:74:19)
    at async Object.getWorkspace (C:\dev\scratchpad\scaffolding-tests\node_modules\@schematics\angular\utility\workspace.js:51:27)
    at async C:\dev\scratchpad\scaffolding-tests\node_modules\@schematics\angular\library\index.js:153:27

🌍 Your Environment


     _                      _                 ____ _     ___
    / \   _ __   __ _ _   _| | __ _ _ __     / ___| |   |_ _|
   / △ \ | '_ \ / _` | | | | |/ _` | '__|   | |   | |    | |
  / ___ \| | | | (_| | |_| | | (_| | |      | |___| |___ | |
 /_/   \_\_| |_|\__, |\__,_|_|\__,_|_|       \____|_____|___|
                |___/
    

Angular CLI: 8.3.1
Node: 12.12.0
OS: win32 x64
Angular: undefined
...

Package                      Version
------------------------------------------------------
@angular-devkit/architect    0.803.1 (cli-only)
@angular-devkit/core         8.3.17
@angular-devkit/schematics   8.3.17
@schematics/angular          8.3.1 (cli-only)
@schematics/update           0.803.1 (cli-only)
rxjs                         6.4.0
typescript                   3.5.3

Similar issues

https://github.com/angular/angular-cli/issues/17598

Lenguaje dominante
TypeScript
Estrellas
27k
Forks
11.8k
Merge medio
17 h 25 min
PR fusionados (30 d)
183

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de angular/angular-cli

Todos los issues de angular/angular-cli

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.