ts_tsc.conf 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. TS_TSC_CMD=$TOUCH_UNIT \
  2. && $_TS_FILES_COPY_CMD \
  3. && $NOTS_TOOL $NOTS_TOOL_BASE_ARGS build-tsc $NOTS_TOOL_COMMON_BUILDER_ARGS \
  4. $_NODE_MODULES_INOUTS ${hide:PEERS} \
  5. ${input;hide:"package.json"} ${TS_CONFIG_FILES} $_AS_HIDDEN_INPUTS(IN $TS_INPUT_FILES) \
  6. ${output;hide:"package.json"} \
  7. ${requirements;hide:"cpu:2"} \
  8. ${kv;hide:"pc magenta"} ${kv;hide:"p TS_TSC"}
  9. ### @usage: TS_TSC([name])
  10. ###
  11. ### The TypeScript/JavaScript library module, compiles TypeScript sources to JavaScript using tsc.
  12. ### Build results are JavaScript files, typings and source mappings (depending on local tsconfig.json settings).
  13. ###
  14. ### Documentation: https://docs.yandex-team.ru/frontend-in-arcadia/references/TS_TSC
  15. ###
  16. ### @example
  17. ###
  18. ### TS_TSC()
  19. ###
  20. ### END()
  21. ###
  22. multimodule TS_TSC {
  23. module BUILD: _TS_BASE_UNIT {
  24. .CMD=TS_TSC_CMD
  25. .EPILOGUE=_TS_CONFIG_EPILOGUE
  26. .PEERDIRSELF=TS_PREPARE_DEPS
  27. # by default multimodule overrides inherited MODULE_TAG to submodule name (BUILD in this case)
  28. # but we have to set it to TS for include processor to work
  29. SET(MODULE_TAG TS)
  30. SET(MODULE_LANG TS)
  31. _PEERDIR_TS_RESOURCE(typescript)
  32. DISABLE(TS_CONFIG_DEDUCE_OUT)
  33. ENABLE(TS_CONFIG_USE_OUTDIR)
  34. _TS_CONFIGURE()
  35. SET_APPEND(_MAKEFILE_INCLUDE_LIKE_DEPS ${CURDIR}/package.json ${CURDIR}/pnpm-lock.yaml ${CURDIR}/package-lock.json ${CURDIR}/${TS_CONFIG_PATH})
  36. _TS_ADD_NODE_MODULES_FOR_BUILDER()
  37. }
  38. module TS_PREPARE_DEPS: _PREPARE_DEPS_BASE {
  39. }
  40. }