taler-typescript-core

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

Makefile (9767B)


      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 typedoc = node_modules/typedoc/bin/typedoc
      6 ava = node_modules/.bin/ava
      7 nyc = node_modules/nyc/bin/nyc.js
      8 git-archive-all = ./build-system/taler-build-scripts/archive-with-submodules/git_archive_all.py
      9 
     10 include .config.mk
     11 
     12 # Let recursive Makefiles know that they're being invoked
     13 # from the top-level makefile.
     14 export TOPLEVEL := yes
     15 export TOP_DESTDIR := $(abspath $(DESTDIR))
     16 
     17 .PHONY: compile
     18 compile:
     19 	pnpm install -r --frozen-lockfile
     20 	pnpm run compile
     21 
     22 
     23 .PHONY: dist
     24 dist:
     25 	$(git-archive-all) \
     26 	       	--include ./configure \
     27 	       	--include ./packages/taler-wallet-cli/configure \
     28 	       	--include ./packages/anastasis-cli/configure \
     29 	       	--include ./packages/bank-ui/configure \
     30 	       	--include ./packages/taler-harness/configure \
     31 	       	--include ./packages/merchant-backoffice-ui/configure \
     32 	       	taler-wallet-$(shell git describe --tags --abbrev=0).tar.gz
     33 
     34 # Create tarball with git hash prefix in name
     35 .PHONY: dist-git
     36 dist-git:
     37 	$(git-archive-all) --include ./configure taler-wallet-$(shell git describe --tags).tar.gz
     38 
     39 .PHONY: publish
     40 publish:
     41 	pnpm i -r --frozen-lockfile
     42 	pnpm run compile
     43 	pnpm publish -r --no-git-checks
     44 
     45 .PHONY: prebuilt
     46 prebuilt:
     47 	./contrib/cleanup-prebuilt-dir.sh
     48 	make backoffice-prebuilt
     49 	make backend-prebuilt
     50 	make bank-prebuilt
     51 	make kyc-prebuilt
     52 	make challenger-prebuilt
     53 	make aml-backoffice-prebuilt
     54 	make anastasis-prebuilt
     55 	make auditor-prebuilt
     56 	./contrib/publish-prebuilt-dir.sh
     57 
     58 # RELEASE prebuilt
     59 
     60 .PHONY: anastasis-prebuilt
     61 anastasis-prebuilt:
     62 	pnpm clean
     63 	pnpm install --frozen-lockfile --filter @gnu-taler/anastasis-webui...
     64 	pnpm run --filter @gnu-taler/anastasis-webui... compile
     65 	./contrib/copy-anastasis-into-prebuilt.sh
     66 
     67 .PHONY: backoffice-prebuilt
     68 backoffice-prebuilt:
     69 	pnpm clean
     70 	pnpm install --frozen-lockfile --filter @gnu-taler/merchant-backoffice-ui...
     71 	pnpm run --filter @gnu-taler/merchant-backoffice-ui... compile
     72 	./contrib/copy-backoffice-into-prebuilt.sh
     73 
     74 .PHONY: backend-prebuilt
     75 backend-prebuilt:
     76 	pnpm clean
     77 	pnpm install --frozen-lockfile --filter @gnu-taler/merchant-backend-ui...
     78 	pnpm run --filter @gnu-taler/merchant-backend-ui... compile
     79 	./contrib/copy-backend-into-prebuilt.sh
     80 
     81 .PHONY: aml-backoffice-prebuilt
     82 aml-backoffice-prebuilt:
     83 	pnpm clean
     84 	pnpm install --frozen-lockfile --filter @gnu-taler/aml-backoffice-ui...
     85 	pnpm run --filter @gnu-taler/aml-backoffice-ui... compile
     86 	./contrib/copy-aml-backoffice-into-prebuilt.sh
     87 
     88 .PHONY: kyc-prebuilt
     89 kyc-prebuilt:
     90 	pnpm clean
     91 	pnpm install --frozen-lockfile --filter @gnu-taler/kyc-ui...
     92 	pnpm run --filter @gnu-taler/kyc-ui... compile
     93 	./contrib/copy-kyc-into-prebuilt.sh
     94 
     95 .PHONY: challenger-prebuilt
     96 challenger-prebuilt:
     97 	pnpm clean
     98 	pnpm install --frozen-lockfile --filter @gnu-taler/challenger-ui...
     99 	pnpm run --filter @gnu-taler/challenger-ui... compile
    100 	./contrib/copy-challenger-into-prebuilt.sh
    101 
    102 .PHONY: bank-prebuilt
    103 bank-prebuilt:
    104 	pnpm clean
    105 	pnpm install --frozen-lockfile --filter @gnu-taler/bank-ui...
    106 	pnpm run --filter @gnu-taler/bank-ui... compile
    107 	./contrib/copy-bank-into-prebuilt.sh
    108 
    109 .PHONY: auditor-prebuilt
    110 auditor-prebuilt:
    111 	pnpm clean
    112 	pnpm install --frozen-lockfile --filter @gnu-taler/auditor-backoffice-ui...
    113 	pnpm run --filter @gnu-taler/auditor-backoffice-ui... compile
    114 	./contrib/copy-auditor-backoffice-into-prebuilt.sh
    115 
    116 # DEV prebuilt
    117 
    118 .PHONY: anastasis-dev-prebuilt
    119 anastasis-dev-prebuilt:
    120 	./contrib/cleanup-prebuilt-dir.sh
    121 	./contrib/next-dev-version.sh packages/anastasis-webui/package.json
    122 	pnpm clean
    123 	pnpm install --frozen-lockfile --filter @gnu-taler/anastasis-webui...
    124 	pnpm run --filter @gnu-taler/anastasis-webui... compile
    125 	git commit -am "new prebuilt dev" && git push
    126 	./contrib/copy-anastasis-into-prebuilt.sh
    127 	./contrib/publish-prebuilt-dir.sh
    128 
    129 .PHONY: backoffice-dev-prebuilt
    130 backoffice-dev-prebuilt:
    131 	./contrib/cleanup-prebuilt-dir.sh
    132 	./contrib/next-dev-version.sh packages/merchant-backoffice-ui/package.json
    133 	pnpm clean
    134 	pnpm install --frozen-lockfile --filter @gnu-taler/merchant-backoffice-ui...
    135 	pnpm run --filter @gnu-taler/merchant-backoffice-ui... compile
    136 	git commit -am "new prebuilt dev" && git push
    137 	./contrib/copy-backoffice-into-prebuilt.sh
    138 	./contrib/publish-prebuilt-dir.sh
    139 
    140 .PHONY: backend-dev-prebuilt
    141 backend-dev-prebuilt:
    142 	./contrib/cleanup-prebuilt-dir.sh
    143 	./contrib/next-dev-version.sh packages/merchant-backend-ui/package.json
    144 	pnpm clean
    145 	pnpm install --frozen-lockfile --filter @gnu-taler/merchant-backend-ui...
    146 	pnpm run --filter @gnu-taler/merchant-backend-ui... compile
    147 	git commit -am "new prebuilt dev" && git push
    148 	./contrib/copy-backend-into-prebuilt.sh
    149 	./contrib/publish-prebuilt-dir.sh
    150 
    151 .PHONY: aml-backoffice-dev-prebuilt
    152 aml-backoffice-dev-prebuilt:
    153 	./contrib/cleanup-prebuilt-dir.sh
    154 	./contrib/next-dev-version.sh packages/aml-backoffice-ui/package.json
    155 	pnpm clean
    156 	pnpm install --frozen-lockfile --filter @gnu-taler/aml-backoffice-ui...
    157 	pnpm run --filter @gnu-taler/aml-backoffice-ui... compile
    158 	git commit -am "new prebuilt dev" && git push
    159 	./contrib/copy-aml-backoffice-into-prebuilt.sh
    160 	./contrib/publish-prebuilt-dir.sh
    161 
    162 .PHONY: kyc-dev-prebuilt
    163 kyc-dev-prebuilt:
    164 	./contrib/cleanup-prebuilt-dir.sh
    165 	./contrib/next-dev-version.sh packages/kyc-ui/package.json
    166 	pnpm clean
    167 	pnpm install --frozen-lockfile --filter @gnu-taler/kyc-ui...
    168 	pnpm run --filter @gnu-taler/kyc-ui... compile
    169 	git commit -am "new prebuilt dev" && git push
    170 	./contrib/copy-kyc-into-prebuilt.sh
    171 	./contrib/publish-prebuilt-dir.sh
    172 
    173 .PHONY: auditor-dev-prebuilt
    174 auditor-dev-prebuilt:
    175 	./contrib/cleanup-prebuilt-dir.sh
    176 	./contrib/next-dev-version.sh packages/auditor-backoffice-ui/package.json
    177 	pnpm clean
    178 	pnpm install --frozen-lockfile --filter @gnu-taler/auditor-backoffice-ui...
    179 	pnpm run --filter @gnu-taler/auditor-backoffice-ui... compile
    180 	git commit -am "new prebuilt dev" && git push
    181 	./contrib/copy-auditor-backoffice-into-prebuilt.sh
    182 	./contrib/publish-prebuilt-dir.sh
    183 
    184 .PHONY: challenger-dev-prebuilt
    185 challenger-dev-prebuilt:
    186 	./contrib/cleanup-prebuilt-dir.sh
    187 	./contrib/next-dev-version.sh packages/challenger-ui/package.json
    188 	pnpm clean
    189 	pnpm install --frozen-lockfile --filter @gnu-taler/challenger-ui...
    190 	pnpm run --filter @gnu-taler/challenger-ui... compile
    191 	git commit -am "new prebuilt dev" && git push
    192 	./contrib/copy-challenger-into-prebuilt.sh
    193 	./contrib/publish-prebuilt-dir.sh
    194 
    195 .PHONY: bank-dev-prebuilt
    196 bank-dev-prebuilt:
    197 	./contrib/cleanup-prebuilt-dir.sh
    198 	./contrib/next-dev-version.sh packages/bank-ui/package.json
    199 	pnpm clean
    200 	pnpm install --frozen-lockfile --filter @gnu-taler/bank-ui...
    201 	pnpm run --filter @gnu-taler/bank-ui... compile
    202 	git commit -am "new prebuilt dev" && git push
    203 	./contrib/copy-bank-into-prebuilt.sh
    204 	./contrib/publish-prebuilt-dir.sh
    205 
    206 # make documentation from docstrings
    207 .PHONY: typedoc
    208 typedoc:
    209 	$(typedoc) --out dist/typedoc --readme README
    210 
    211 .PHONY: clean
    212 clean:
    213 	pnpm run clean
    214 
    215 .PHONY: submodules-update
    216 submodules-update:
    217 	git submodule update --recursive --remote
    218 
    219 .PHONY: check
    220 check:
    221 	pnpm install -r --frozen-lockfile
    222 	pnpm run compile
    223 	pnpm run check
    224 
    225 .PHONY: config-lib
    226 config-lib:
    227 	pnpm install --frozen-lockfile --filter @gnu-taler/taler-config-lib...
    228 	cd ./packages/taler-config-lib/ && pnpm link -g
    229 
    230 .PHONY: anastasis-webui
    231 anastasis-webui:
    232 	pnpm install --frozen-lockfile --filter . --filter @gnu-taler/anastasis-webui...
    233 	pnpm run --filter @gnu-taler/anastasis-webui... compile
    234 
    235 .PHONY: anastasis-webui-dist
    236 anastasis-webui-dist: anastasis-webui
    237 	(cd packages/anastasis-webui/dist/prod && zip -r - ./*) > anastasis-webui.zip
    238 
    239 
    240 .PHONY: anastasis-webui-dev
    241 anastasis-webui-dev:
    242 	pnpm install --frozen-lockfile --filter @gnu-taler/anastasis-webui...
    243 	pnpm run --filter @gnu-taler/anastasis-webui... dev
    244 
    245 .PHONY: webextension
    246 webextension:
    247 	pnpm install --frozen-lockfile --filter @gnu-taler/taler-wallet-webextension...
    248 	pnpm run --filter @gnu-taler/taler-wallet-webextension... compile
    249 	cd ./packages/taler-wallet-webextension/ && ./pack.sh prod
    250 
    251 .PHONY: webextension-dev
    252 webextension-dev:
    253 	pnpm install --frozen-lockfile --filter @gnu-taler/taler-wallet-webextension...
    254 	pnpm run --filter @gnu-taler/taler-wallet-webextension... dev
    255 
    256 .PHONY: embedded
    257 embedded:
    258 	pnpm install --frozen-lockfile --filter @gnu-taler/taler-wallet-embedded...
    259 	pnpm run --filter @gnu-taler/taler-wallet-embedded... compile
    260 	@echo built packages/taler-wallet-embedded/dist/taler-wallet-core-qjs.mjs
    261 
    262 .PHONY: lint
    263 lint:
    264 	./node_modules/.bin/eslint --ext '.js,.ts,.tsx' 'src'
    265 
    266 
    267 .PHONY: install
    268 # Build and install everything
    269 install:
    270 	pnpm install --frozen-lockfile
    271 	pnpm run compile
    272 	$(MAKE) -C packages/taler-wallet-cli install-nodeps
    273 	$(MAKE) -C packages/anastasis-cli install-nodeps
    274 	$(MAKE) -C packages/taler-harness install-nodeps
    275 	$(MAKE) -C packages/bank-ui install-nodeps
    276 	$(MAKE) -C packages/merchant-backoffice-ui install-nodeps
    277 	$(MAKE) -C packages/aml-backoffice-ui install-nodeps
    278 	$(MAKE) -C packages/auditor-backoffice-ui install-nodeps
    279 
    280 
    281 .PHONY: install-tools
    282 # Install taler-wallet-cli, anastasis-cli and taler-harness
    283 install-tools:
    284 	pnpm install --frozen-lockfile --filter @gnu-taler/taler-wallet-cli... --filter @gnu-taler/anastasis-cli... --filter @gnu-taler/taler-harness...
    285 	pnpm run --filter @gnu-taler/taler-wallet-cli... --filter @gnu-taler/anastasis-cli... --filter @gnu-taler/taler-harness... compile
    286 	$(MAKE) -C packages/taler-wallet-cli install-nodeps
    287 	$(MAKE) -C packages/anastasis-cli install-nodeps
    288 	$(MAKE) -C packages/taler-harness install-nodeps
    289 
    290 .PHONY: gana
    291 gana:
    292 	./contrib/gana_update.sh
    293 
    294 .PHONY: check-migration
    295 check-migration:
    296 	taler-harness advanced wallet-dbcheck contrib/wallet-testdata/wallet-dbgen-0.9.4-dev.8