Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

📚 Traducción: guide/strict-mode.md #261

Closed
wants to merge 1 commit into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 22 additions & 22 deletions aio/content/guide/strict-mode.md
Original file line number Diff line number Diff line change
@@ -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:

<code-example language="sh" class="code-shell">

ng new [project-name] --strict
ng new [nombre-del-proyecto] --strict

</code-example>

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:

<code-example language="sh" class="code-shell">

ng generate application [project-name] --strict
ng generate application [nombre-del-proyecto] --strict

</code-example>

{@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/)
* [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/)