Skip to content

Latest commit

 

History

History
204 lines (138 loc) · 5.5 KB

README.md

File metadata and controls

204 lines (138 loc) · 5.5 KB

npm-scripts

Índice


Scripts para coaches

create-cohort-project

Este script está dirigido a coaches y se usa para crear un repo de proyecto para usar con un cohort en particular. Las coaches de cada cohort son encargadas de crear un repo para cada proyecto que haya disponible en dicho cohort.

⚠️ Es muy importante que todas las coaches siempre usemos este script para crear repos de proyectos de cohorts. Así no solo nos aseguramos de estar usando la versión más reciente sino que el script también se encarga de analizar los objetivos de aprendizaje del project.yml del proyecto y genera la sección correspondiente en el README.md resultante en el repo para usar con las estudiantes.

Este script necesita saber qué proyecto nos interesa, en qué lugar de nuestro disco duro queremos crear la carpeta para el nuevo repo y opcionalmente un identificador para el cohort.

Por ejemplo, si queremos crear un repo con el proyecto de cipher para un cohort que se llama LIM014, podríamos usar el siguiente comando:

npm run create-cohort-project projects/01-cipher ~/ LIM016

En el ejemplo de arriba estaríamos creando un repo con el proyecto cipher (que está en la carpeta projects/01-cipher) en la carpeta LIM014-cipher en ~/.

Para de crear también el repo en GitHub y hacer un primer commit con el boilerplate, tendremos primero que crear un GitHub Personal Access Token en GitHub y de ahí especificar la variable de entorno GITHUB_TOKEN. Algo así:

GITHUB_TOKEN=xxxxxx npm run create-cohort-project ./projects/01-cipher ~/ LIM014

Para familiarizarte con el script puedes usar la opción --noop para que el script te diga qué hubiera hecho en vez de hacerlo de verdad 😉

Usage

./scripts/create-cohort-project.js <src> <dest> [<cohortid>]

Variables de entorno:

  • GITHUB_TOKEN: Un GitHub Personal Access Token con permiso para crear repos en la cuenta de GitHub correspondiente (por ejemplo Laboratoria).

Argumentos:

  • src: Ruta a la carpeta del proyecto en el sistema de archivos.
  • dest: Ruta a una carpeta donde crear la nueva carpeta de proyecto para el cohort correspondiente.
  • cohortid: Un idendificador para el cohort. Esto se usará como prefijo en el nombre de la carpeta creada y repo.

Opciones:

  • --locale: Puede ser es o pt. Por defecto es es.
  • --variant: Variente de implementación (si el proyecto tiene variantes).
  • --noop: Si esta opción está presente el script nos dirá que es lo que haríá paso a paso pero sin realmente hacer nada. Es útil para familiarizarse con el script.

⚠️ Para pasar opciones al script cuando invocamos a través de npm-scripts (npm run create-cohort-project) hay que separar las opciones con -- para que npm las pase al script.

npm run create-cohort-project projects/05-fleet-management-api /tmp XXX999 -- --variant java

Si invocamos directamente no es necesario. Por ejemplo:

./scripts/create-cohort-project.mjs projects/05-fleet-management-api /tmp XXX999 --variant java

Testing y linters

mdlint

Run MarkDown linter.

Related files: .mdlintignore, mdlintrc.

npm run mdlint

eslint

Run JavaScript linter.

Related files: .eslintignore, eslintrc.

npm run eslint

validate

The validate script runs the build script with the --validate option, which basically allows us to validate the build without creating any files and simply check the exit status to see whether it passed or not.

npm run validate

test:topics

Ejecuta pruebas unitarias en los ejercicios de los tópicos.

NOTA: Estas pruebas se ejecutan con mocha ya que estas pruebas también necesitan ejecutarse en el navegador (jest no corre en el navegador).

# Run topics tests with npm (and implicitly the pretest script)
npm run test:topics

pretest

The pretest hook makes sure that linters and validation are run before proceeding with the unit tests.

# Run pretest script via npm
npm run pretest

# Run equivalent command
npm run mdlint && npm run eslint && npm run validate

test

Run unit tests (and implicitly the pretest script).

# Run tests with npm (and implicitly the pretest script)
npm test

Integración continua

build

The build script uses the curriculum-parser to analyse both projects and topics and store the resulting JSON files in the dist directory.

Options:

  • --validate: If this option is present no files will be written (used by the validate script, see above).
npm run build

Tareas de mantenimiento

propagate

Compares the current state of each project to the main branch of each private repo with the example/model implementations. If changes are detected, a PR will be sent with the relevant changes.

./scripts/propagate.sh --noop
./scripts/propagate.sh

create-gource-video

Create gource visualization like this one.

./scripts/create-gource-video.sh

check-projects-deps

./scripts/check-projects-deps.sh