taler-typescript-core

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

Makefile (10635B)


      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/bank-ui/configure \
     29 	       	--include ./packages/taler-harness/configure \
     30 	       	--include ./packages/merchant-backoffice-ui/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: prebuilt
     45 prebuilt:
     46 	./contrib/cleanup-prebuilt-dir.sh
     47 	make backoffice-prebuilt
     48 	make backend-prebuilt
     49 	make bank-prebuilt
     50 	make kyc-prebuilt
     51 	make challenger-prebuilt
     52 	make aml-backoffice-prebuilt
     53 	make anastasis-prebuilt
     54 	make auditor-prebuilt
     55 	./contrib/publish-prebuilt-dir.sh
     56 
     57 # RELEASE prebuilt
     58 
     59 .PHONY: anastasis-prebuilt
     60 anastasis-prebuilt:
     61 	pnpm clean
     62 	pnpm install --frozen-lockfile --filter '!@gnu-taler/qa-tooling' --filter @gnu-taler/anastasis-webui...
     63 	pnpm run --filter @gnu-taler/anastasis-webui... compile
     64 	./contrib/copy-anastasis-into-prebuilt.sh
     65 
     66 .PHONY: backoffice-prebuilt
     67 backoffice-prebuilt:
     68 	pnpm clean
     69 	pnpm install --frozen-lockfile --filter '!@gnu-taler/qa-tooling' --filter @gnu-taler/merchant-backoffice-ui...
     70 	pnpm run --filter @gnu-taler/merchant-backoffice-ui... compile
     71 	./contrib/copy-backoffice-into-prebuilt.sh
     72 
     73 .PHONY: backend-prebuilt
     74 backend-prebuilt:
     75 	pnpm clean
     76 	pnpm install --frozen-lockfile --filter '!@gnu-taler/qa-tooling' --filter @gnu-taler/merchant-backend-ui...
     77 	pnpm run --filter @gnu-taler/merchant-backend-ui... compile
     78 	./contrib/copy-backend-into-prebuilt.sh
     79 
     80 .PHONY: aml-backoffice-prebuilt
     81 aml-backoffice-prebuilt:
     82 	pnpm clean
     83 	pnpm install --frozen-lockfile --filter '!@gnu-taler/qa-tooling' --filter @gnu-taler/aml-backoffice-ui...
     84 	pnpm run --filter @gnu-taler/aml-backoffice-ui... compile
     85 	./contrib/copy-aml-backoffice-into-prebuilt.sh
     86 
     87 .PHONY: kyc-prebuilt
     88 kyc-prebuilt:
     89 	pnpm clean
     90 	pnpm install --frozen-lockfile --filter '!@gnu-taler/qa-tooling' --filter @gnu-taler/kyc-ui...
     91 	pnpm run --filter @gnu-taler/kyc-ui... compile
     92 	./contrib/copy-kyc-into-prebuilt.sh
     93 
     94 .PHONY: challenger-prebuilt
     95 challenger-prebuilt:
     96 	pnpm clean
     97 	pnpm install --frozen-lockfile --filter '!@gnu-taler/qa-tooling' --filter @gnu-taler/challenger-ui...
     98 	pnpm run --filter @gnu-taler/challenger-ui... compile
     99 	./contrib/copy-challenger-into-prebuilt.sh
    100 
    101 .PHONY: bank-prebuilt
    102 bank-prebuilt:
    103 	pnpm clean
    104 	pnpm install --frozen-lockfile --filter '!@gnu-taler/qa-tooling' --filter @gnu-taler/bank-ui...
    105 	pnpm run --filter @gnu-taler/bank-ui... compile
    106 	./contrib/copy-bank-into-prebuilt.sh
    107 
    108 .PHONY: auditor-prebuilt
    109 auditor-prebuilt:
    110 	pnpm clean
    111 	pnpm install --frozen-lockfile --filter '!@gnu-taler/qa-tooling' --filter @gnu-taler/auditor-backoffice-ui...
    112 	pnpm run --filter @gnu-taler/auditor-backoffice-ui... compile
    113 	./contrib/copy-auditor-backoffice-into-prebuilt.sh
    114 
    115 # DEV prebuilt
    116 
    117 .PHONY: anastasis-dev-prebuilt
    118 anastasis-dev-prebuilt:
    119 	./contrib/cleanup-prebuilt-dir.sh
    120 	./contrib/next-dev-version.sh packages/anastasis-webui/package.json
    121 	pnpm clean
    122 	pnpm install --frozen-lockfile --filter '!@gnu-taler/qa-tooling' --filter @gnu-taler/anastasis-webui...
    123 	pnpm run --filter @gnu-taler/anastasis-webui... compile
    124 	git commit -am "new prebuilt dev" && git push
    125 	./contrib/copy-anastasis-into-prebuilt.sh
    126 	./contrib/publish-prebuilt-dir.sh
    127 
    128 .PHONY: backoffice-dev-prebuilt
    129 backoffice-dev-prebuilt:
    130 	./contrib/cleanup-prebuilt-dir.sh
    131 	./contrib/next-dev-version.sh packages/merchant-backoffice-ui/package.json
    132 	pnpm clean
    133 	pnpm install --frozen-lockfile --filter '!@gnu-taler/qa-tooling' --filter @gnu-taler/merchant-backoffice-ui...
    134 	pnpm run --filter @gnu-taler/merchant-backoffice-ui... compile
    135 	git commit -am "new prebuilt dev" && git push
    136 	./contrib/copy-backoffice-into-prebuilt.sh
    137 	./contrib/publish-prebuilt-dir.sh
    138 
    139 .PHONY: backend-dev-prebuilt
    140 backend-dev-prebuilt:
    141 	./contrib/cleanup-prebuilt-dir.sh
    142 	./contrib/next-dev-version.sh packages/merchant-backend-ui/package.json
    143 	pnpm clean
    144 	pnpm install --frozen-lockfile --filter '!@gnu-taler/qa-tooling' --filter @gnu-taler/merchant-backend-ui...
    145 	pnpm run --filter @gnu-taler/merchant-backend-ui... compile
    146 	git commit -am "new prebuilt dev" && git push
    147 	./contrib/copy-backend-into-prebuilt.sh
    148 	./contrib/publish-prebuilt-dir.sh
    149 
    150 .PHONY: aml-backoffice-dev-prebuilt
    151 aml-backoffice-dev-prebuilt:
    152 	./contrib/cleanup-prebuilt-dir.sh
    153 	./contrib/next-dev-version.sh packages/aml-backoffice-ui/package.json
    154 	pnpm clean
    155 	pnpm install --frozen-lockfile --filter '!@gnu-taler/qa-tooling' --filter @gnu-taler/aml-backoffice-ui...
    156 	pnpm run --filter @gnu-taler/aml-backoffice-ui... compile
    157 	git commit -am "new prebuilt dev" && git push
    158 	./contrib/copy-aml-backoffice-into-prebuilt.sh
    159 	./contrib/publish-prebuilt-dir.sh
    160 
    161 .PHONY: kyc-dev-prebuilt
    162 kyc-dev-prebuilt:
    163 	./contrib/cleanup-prebuilt-dir.sh
    164 	./contrib/next-dev-version.sh packages/kyc-ui/package.json
    165 	pnpm clean
    166 	pnpm install --frozen-lockfile --filter '!@gnu-taler/qa-tooling' --filter @gnu-taler/kyc-ui...
    167 	pnpm run --filter @gnu-taler/kyc-ui... compile
    168 	git commit -am "new prebuilt dev" && git push
    169 	./contrib/copy-kyc-into-prebuilt.sh
    170 	./contrib/publish-prebuilt-dir.sh
    171 
    172 .PHONY: auditor-dev-prebuilt
    173 auditor-dev-prebuilt:
    174 	./contrib/cleanup-prebuilt-dir.sh
    175 	./contrib/next-dev-version.sh packages/auditor-backoffice-ui/package.json
    176 	pnpm clean
    177 	pnpm install --frozen-lockfile --filter '!@gnu-taler/qa-tooling' --filter @gnu-taler/auditor-backoffice-ui...
    178 	pnpm run --filter @gnu-taler/auditor-backoffice-ui... compile
    179 	git commit -am "new prebuilt dev" && git push
    180 	./contrib/copy-auditor-backoffice-into-prebuilt.sh
    181 	./contrib/publish-prebuilt-dir.sh
    182 
    183 .PHONY: challenger-dev-prebuilt
    184 challenger-dev-prebuilt:
    185 	./contrib/cleanup-prebuilt-dir.sh
    186 	./contrib/next-dev-version.sh packages/challenger-ui/package.json
    187 	pnpm clean
    188 	pnpm install --frozen-lockfile --filter '!@gnu-taler/qa-tooling' --filter @gnu-taler/challenger-ui...
    189 	pnpm run --filter @gnu-taler/challenger-ui... compile
    190 	git commit -am "new prebuilt dev" && git push
    191 	./contrib/copy-challenger-into-prebuilt.sh
    192 	./contrib/publish-prebuilt-dir.sh
    193 
    194 .PHONY: bank-dev-prebuilt
    195 bank-dev-prebuilt:
    196 	./contrib/cleanup-prebuilt-dir.sh
    197 	./contrib/next-dev-version.sh packages/bank-ui/package.json
    198 	pnpm clean
    199 	pnpm install --frozen-lockfile --filter '!@gnu-taler/qa-tooling' --filter @gnu-taler/bank-ui...
    200 	pnpm run --filter @gnu-taler/bank-ui... compile
    201 	git commit -am "new prebuilt dev" && git push
    202 	./contrib/copy-bank-into-prebuilt.sh
    203 	./contrib/publish-prebuilt-dir.sh
    204 
    205 .PHONY: clean
    206 clean:
    207 	pnpm run clean
    208 
    209 .PHONY: submodules-update
    210 submodules-update:
    211 	git submodule update --recursive --remote
    212 
    213 .PHONY: check
    214 check:
    215 	pnpm install -r --frozen-lockfile
    216 	pnpm run compile
    217 	pnpm run check
    218 
    219 .PHONY: config-lib
    220 config-lib:
    221 	pnpm install --frozen-lockfile --filter '!@gnu-taler/qa-tooling' --filter @gnu-taler/taler-config-lib...
    222 	cd ./packages/taler-config-lib/ && pnpm link -g
    223 
    224 .PHONY: anastasis-webui
    225 anastasis-webui:
    226 	pnpm install --frozen-lockfile --filter '!@gnu-taler/qa-tooling' --filter . --filter @gnu-taler/anastasis-webui...
    227 	pnpm run --filter @gnu-taler/anastasis-webui... compile
    228 
    229 .PHONY: anastasis-webui-dist
    230 anastasis-webui-dist: anastasis-webui
    231 	(cd packages/anastasis-webui/dist/prod && zip -r - ./*) > anastasis-webui.zip
    232 
    233 
    234 .PHONY: anastasis-webui-dev
    235 anastasis-webui-dev:
    236 	pnpm install --frozen-lockfile --filter '!@gnu-taler/qa-tooling' --filter @gnu-taler/anastasis-webui...
    237 	pnpm run --filter @gnu-taler/anastasis-webui... dev
    238 
    239 .PHONY: webextension
    240 webextension:
    241 	pnpm install --frozen-lockfile --filter '!@gnu-taler/qa-tooling' --filter @gnu-taler/taler-wallet-webextension...
    242 	pnpm run --filter @gnu-taler/taler-wallet-webextension... compile
    243 	cd ./packages/taler-wallet-webextension/ && ./pack.sh prod
    244 
    245 .PHONY: webextension-dev
    246 webextension-dev:
    247 	pnpm install --frozen-lockfile --filter '!@gnu-taler/qa-tooling' --filter @gnu-taler/taler-wallet-webextension...
    248 	pnpm run --filter @gnu-taler/taler-wallet-webextension... dev
    249 
    250 .PHONY: embedded
    251 embedded:
    252 	pnpm install --frozen-lockfile --filter '!@gnu-taler/qa-tooling' --filter @gnu-taler/taler-wallet-embedded...
    253 	pnpm run --filter @gnu-taler/taler-wallet-embedded... compile
    254 	@echo built packages/taler-wallet-embedded/dist/taler-wallet-core-qjs.mjs
    255 
    256 .PHONY: lint
    257 lint:
    258 	# (cd packages/qa-tooling && pnpm install)
    259 	./packages/qa-tooling/bin/eslint.mjs .
    260 
    261 .PHONY: ast-grep
    262 ast-grep:
    263 	ast-grep scan -c contrib/sgconfig.yml
    264 
    265 .PHONY: install
    266 # Build and install everything
    267 install:
    268 	pnpm install --frozen-lockfile --filter '!@gnu-taler/qa-tooling'
    269 	pnpm run compile
    270 	$(MAKE) -C packages/taler-wallet-cli install-nodeps
    271 	$(MAKE) -C packages/anastasis-cli install-nodeps
    272 	$(MAKE) -C packages/taler-harness install-nodeps
    273 	$(MAKE) -C packages/bank-ui install-nodeps
    274 	$(MAKE) -C packages/merchant-backoffice-ui install-nodeps
    275 	$(MAKE) -C packages/aml-backoffice-ui install-nodeps
    276 	$(MAKE) -C packages/auditor-backoffice-ui install-nodeps
    277 
    278 
    279 .PHONY: install-tools
    280 # Install taler-wallet-cli, anastasis-cli and taler-harness
    281 install-tools:
    282 	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...
    283 	pnpm run --filter @gnu-taler/taler-wallet-cli... --filter @gnu-taler/anastasis-cli... --filter @gnu-taler/taler-harness... compile
    284 	$(MAKE) -C packages/taler-wallet-cli install-nodeps
    285 	$(MAKE) -C packages/anastasis-cli install-nodeps
    286 	$(MAKE) -C packages/taler-harness install-nodeps
    287 
    288 .PHONY: gana
    289 gana:
    290 	./contrib/gana_update.sh
    291 
    292 .PHONY: check-migration
    293 check-migration:
    294 	taler-harness advanced wallet-dbcheck contrib/wallet-testdata/wallet-dbgen-0.9.4-dev.8