# Semana 3: requisitos, historias de usuario y criterios de aceptación.
# Se usa dentro del contenedor del curso (./env/run.sh desde la carpeta del curso).
#
#   make          copia el código de Kallpa en build/kallpa (las pruebas de
#                 aceptación corren contra esa copia, sin tocar kallpa/)
#   make test     corre las pruebas: los criterios de aceptación del capítulo
#                 contra Kallpa y las pruebas del revisor de historias
#   make revisar  pasa el revisor por los dos archivos de historias de ejemplo
#   make typecheck revisa los tipos con tsc
#   make clean    borra build/

KALLPA ?= ../../kallpa

.PHONY: all test revisar typecheck clean

all: build/kallpa/test/helpers.ts

build/kallpa/test/helpers.ts: $(wildcard $(KALLPA)/src/*.ts $(KALLPA)/src/*/*.ts $(KALLPA)/test/helpers.ts)
	rm -rf build/kallpa
	mkdir -p build/kallpa/test
	cp -r $(KALLPA)/src build/kallpa/src
	cp $(KALLPA)/test/helpers.ts build/kallpa/test/helpers.ts
	cp $(KALLPA)/package.json build/kallpa/package.json

test: all
	node --test "*.test.ts"

revisar:
	-node revisar-historias.ts historias-ejemplo.md
	-node revisar-historias.ts historias-con-problemas.md

typecheck: all
	tsc -p .

clean:
	rm -rf build
