taler-typescript-core

Wallet core logic and WebUIs for various components
Log | Files | Refs | Submodules | README | LICENSE

Makefile (4563B)


      1 # This Makefile has been placed in the public domain.
      2 
      3 tsc = node_modules/typescript/bin/tsc
      4 pogen = node_modules/@gnu-taler/pogen/bin/pogen.js
      5 ava = node_modules/.bin/ava
      6 c8 = pnpm --filter @gnu-taler/qa-tooling exec c8
      7 git-archive-all = ./build-system/taler-build-scripts/archive-with-submodules/git_archive_all.py
      8 
      9 include .config.mk
     10 
     11 # Let recursive Makefiles know that they're being invoked
     12 # from the top-level makefile.
     13 export TOPLEVEL := yes
     14 export TOP_DESTDIR := $(abspath $(DESTDIR))
     15 
     16 .PHONY: compile
     17 compile:
     18 	pnpm install -r --frozen-lockfile --filter '!@gnu-taler/qa-tooling'
     19 	pnpm run compile
     20 
     21 
     22 .PHONY: dist
     23 dist:
     24 	$(git-archive-all) \
     25 	       	--include ./configure \
     26 	       	--include ./packages/taler-wallet-cli/configure \
     27 	       	--include ./packages/anastasis-cli/configure \
     28 	       	--include ./packages/libeufin-bank-webui/configure \
     29 	       	--include ./packages/taler-harness/configure \
     30 	       	--include ./packages/taler-merchant-webui/configure \
     31 	       	taler-typescript-core-$(shell git describe --tags --abbrev=0 | sed -e 's/^v//').tar.gz
     32 
     33 # Create tarball with git hash prefix in name
     34 .PHONY: dist-git
     35 dist-git:
     36 	$(git-archive-all) --include ./configure taler-wallet-$(shell git describe --tags).tar.gz
     37 
     38 .PHONY: publish
     39 publish:
     40 	pnpm i -r --frozen-lockfile --filter '!@gnu-taler/qa-tooling'
     41 	pnpm run compile
     42 	pnpm publish -r --no-git-checks
     43 
     44 .PHONY: clean
     45 clean:
     46 	pnpm run clean
     47 
     48 .PHONY: submodules-update
     49 submodules-update:
     50 	git submodule update --recursive --remote
     51 
     52 .PHONY: check
     53 check:
     54 	pnpm install -r --frozen-lockfile
     55 	pnpm run compile
     56 	pnpm run check
     57 
     58 .PHONY: config-lib
     59 config-lib:
     60 	pnpm install --frozen-lockfile --filter '!@gnu-taler/qa-tooling' --filter @gnu-taler/taler-config-lib...
     61 	cd ./packages/taler-config-lib/ && pnpm link -g
     62 
     63 .PHONY: anastasis-webui
     64 anastasis-webui:
     65 	pnpm install --frozen-lockfile --filter '!@gnu-taler/qa-tooling' --filter . --filter @gnu-taler/anastasis-webui...
     66 	pnpm run --filter @gnu-taler/anastasis-webui... compile
     67 
     68 .PHONY: anastasis-webui-dist
     69 anastasis-webui-dist: anastasis-webui
     70 	(cd packages/anastasis-webui/dist/prod && zip -r - ./*) > anastasis-webui.zip
     71 
     72 
     73 .PHONY: anastasis-webui-dev
     74 anastasis-webui-dev:
     75 	pnpm install --frozen-lockfile --filter '!@gnu-taler/qa-tooling' --filter @gnu-taler/anastasis-webui...
     76 	pnpm run --filter @gnu-taler/anastasis-webui... dev
     77 
     78 .PHONY: webextension
     79 webextension:
     80 	pnpm install --frozen-lockfile --filter '!@gnu-taler/qa-tooling' --filter @gnu-taler/taler-wallet-webextension...
     81 	pnpm run --filter @gnu-taler/taler-wallet-webextension... compile
     82 	cd ./packages/taler-wallet-webextension/ && ./pack.sh prod
     83 
     84 .PHONY: webextension-dev
     85 webextension-dev:
     86 	pnpm install --frozen-lockfile --filter '!@gnu-taler/qa-tooling' --filter @gnu-taler/taler-wallet-webextension...
     87 	pnpm run --filter @gnu-taler/taler-wallet-webextension... dev
     88 
     89 .PHONY: embedded
     90 embedded:
     91 	pnpm install --frozen-lockfile --filter '!@gnu-taler/qa-tooling' --filter @gnu-taler/taler-wallet-embedded...
     92 	pnpm run --filter @gnu-taler/taler-wallet-embedded... compile
     93 	@echo built packages/taler-wallet-embedded/dist/taler-wallet-core-qjs.mjs
     94 
     95 .PHONY: lint
     96 lint:
     97 	# (cd packages/qa-tooling && pnpm install)
     98 	./packages/qa-tooling/bin/eslint.mjs .
     99 
    100 .PHONY: ast-grep
    101 ast-grep:
    102 	ast-grep scan -c contrib/sgconfig.yml
    103 
    104 .PHONY: install
    105 # Build and install everything
    106 install:
    107 	pnpm install --frozen-lockfile --filter '!@gnu-taler/qa-tooling'
    108 	pnpm run compile
    109 	$(MAKE) -C packages/taler-wallet-cli install-nodeps
    110 	$(MAKE) -C packages/anastasis-cli install-nodeps
    111 	$(MAKE) -C packages/taler-harness install-nodeps
    112 	$(MAKE) -C packages/libeufin-bank-webui install-nodeps
    113 	$(MAKE) -C packages/taler-merchant-webui install-nodeps
    114 	$(MAKE) -C packages/libeufin-bank-webui install-nodeps
    115 	$(MAKE) -C packages/taler-auditor-webui install-nodeps
    116 
    117 
    118 .PHONY: install-tools
    119 # Install taler-wallet-cli, anastasis-cli and taler-harness
    120 install-tools:
    121 	pnpm install --frozen-lockfile --filter '!@gnu-taler/qa-tooling' --filter @gnu-taler/taler-wallet-cli... --filter @gnu-taler/anastasis-cli... --filter @gnu-taler/taler-harness...
    122 	pnpm run --filter @gnu-taler/taler-wallet-cli... --filter @gnu-taler/anastasis-cli... --filter @gnu-taler/taler-harness... compile
    123 	$(MAKE) -C packages/taler-wallet-cli install-nodeps
    124 	$(MAKE) -C packages/anastasis-cli install-nodeps
    125 	$(MAKE) -C packages/taler-harness install-nodeps
    126 
    127 .PHONY: gana
    128 gana:
    129 	./contrib/gana_update.sh
    130 
    131 .PHONY: check-migration
    132 check-migration:
    133 	taler-harness advanced wallet-dbcheck contrib/wallet-testdata/wallet-dbgen-0.9.4-dev.8