diff --git a/aio/content/guide/strict-mode.md b/aio/content/guide/strict-mode.md index 3cfe153cb959f..89e39e6771172 100644 --- a/aio/content/guide/strict-mode.md +++ b/aio/content/guide/strict-mode.md @@ -1,46 +1,46 @@ -# Strict mode +# Modo Estricto -When you create a new workspace or a project you have an option to create them in a strict mode using the `--strict` flag. +Cuando creas un nuevo espacio de trabajo o un proyecto, tienes la opción de crearlos en un modo estricto usando la marca `--strict`. -Enabling this flag initializes your new workspace or project with a few new settings that improve maintainability, help you catch bugs ahead of time, and allow the CLI to perform advanced optimizations on your application. -Additionally, applications that use these stricter settings are easier to statically analyze, which can help the `ng update` command refactor code more safely and precisely when you are updating to future versions of Angular. +Habilitar esta marca inicializa su nuevo espacio de trabajo o proyecto con algunas configuraciones nuevas que mejoran la capacidad de mantenimiento, lo ayudan a detectar errores con anticipación y permiten que el CLI realice optimizaciones avanzadas en su aplicación. +Además, las aplicaciones que usan estas configuraciones más estrictas son más fáciles de analizar estáticamente, lo que puede ayudar a que el comando `ng update` refactorice el código de manera más segura y precisa cuando esté actualizando a futuras versiones de Angular. -Specifically, the `strict` flag does the following: +Específicamente, la bandera "estricta" hace lo siguiente: -* Enables [`strict` mode in TypeScript](https://www.staging-typescript.org/tsconfig#strict), as well as other strictness flags recommended by the TypeScript team. Specifically, `forceConsistentCasingInFileNames`, `noImplicitReturns`, `noFallthroughCasesInSwitch`. -* Turns on strict Angular compiler flags [`strictTemplates`](guide/angular-compiler-options#stricttemplates) and [`strictInjectionParameters`](guide/angular-compiler-options#strictinjectionparameters) -* [Bundle size budgets](guide/build#configuring-size-budgets) have been reduced by ~75% -* Turns on [`no-any` tslint rule](https://palantir.github.io/tslint/rules/no-any/) to prevent declarations of type `any` -* [Marks your application as side-effect free](https://webpack.js.org/guides/tree-shaking/#mark-the-file-as-side-effect-free) to enable more advanced tree-shaking +* Habilita [el modo `strict` en Typscript](https://www.staging-typescript.org/tsconfig#strict), así como otras marcas de rigor recomendadas por el equipo de TypeScript. Específicamente, `forceConsistentCasingInFileNames`, `noImplicitReturns`, `noFallthroughCasesInSwitch`. +* Activa los indicadores estrictos del compilador Angular [`strictTemplates`](guide/angular-compiler-options#stricttemplates) y [`strictInjectionParameters`](guide/angular-compiler-options#strictinjectionparameters) +* [Los presupuestos de tamaño de paquete](guide/build#configuring-size-budgets) se han reducido en ~ 75% +* Activa la [regla tslint `no-any`] para evitar declaraciones de tipo `any` +* [Marca su aplicación como libre de efectos secundarios](https://webpack.js.org/guides/tree-shaking/#mark-the-file-as-side-effect-free) para permitir un tree-shaking más avanzado. -You can apply these settings at the workspace and project level. +Puede aplicar esta configuración a nivel de proyecto y espacio de trabajo. -To create a new workspace and application using the strict mode, run the following command: +Para crear un nuevo espacio de trabajo y una aplicación usando el modo estricto, ejecute el siguiente comando: -ng new [project-name] --strict +ng new [nombre-del-proyecto] --strict -To create a new application in the strict mode within an existing non-strict workspace, run the following command: +Para crear una nueva aplicación en modo estricto dentro de un espacio de trabajo no estricto existente, ejecute el siguiente comando: -ng generate application [project-name] --strict +ng generate application [nombre-del-proyecto] --strict {@a side-effect} -### Non-local side effects in applications +### Efectos secundarios no locales en aplicaciones -When you create projects and workspaces using the `strict` mode, you'll notice an additional `package.json` file, located in `src/app/` directory. -This file informs tools and bundlers that the code under this directory is free of non-local side effects. Non-local side effects in the application code are not common and using them is not considered a good coding pattern. -More importantly, code with these types of side effects cannot be optimized, resulting in increased bundle sizes and applications that load more slowly. +Cuando crea proyectos y espacios de trabajo usando el modo `estricto`, notará un archivo` package.json` adicional, ubicado en el directorio `src/app/`. +Este archivo informa a las herramientas y a los paquetes que el código de este directorio está libre de efectos secundarios no locales. Los efectos secundarios no locales en el código de la aplicación no son comunes y su uso no se considera un buen patrón de codificación. +Más importante aún, el código con este tipo de efectos secundarios no se puede optimizar, lo que da como resultado un aumento de los tamaños de paquete y aplicaciones que se cargan más lentamente. -If you need more information, the following links may be helpful. +Si necesita más información, los siguientes enlaces pueden resultar útiles. * [Tree-shaking](https://webpack.js.org/guides/tree-shaking/) -* [Dealing with side effects and pure functions in JavaScript](https://dev.to/vonheikemen/dealing-with-side-effects-and-pure-functions-in-javascript-16mg) -* [How to deal with dirty side effects in your pure function JavaScript](https://jrsinclair.com/articles/2018/how-to-deal-with-dirty-side-effects-in-your-pure-functional-javascript/) \ No newline at end of file +* [Lidiar con los efectos secundarios y las funciones puras en JavaScript](https://dev.to/vonheikemen/dealing-with-side-effects-and-pure-functions-in-javascript-16mg) +* [Cómo lidiar con los efectos secundarios sucios en su función pura JavaScript](https://jrsinclair.com/articles/2018/how-to-deal-with-dirty-side-effects-in-your-pure-functional-javascript/)