12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- NODEJS_ROOT=
- NODEJS_BIN=$NODEJS_ROOT/node
- NOTS_TOOL=${tool:"devtools/frontend_build_platform/nots/builder"}
- NOTS_TOOL_BASE_ARGS=--build-root $ARCADIA_BUILD_ROOT --bindir $BINDIR --curdir $CURDIR --nodejs-bin $NODEJS_BIN
- NOTS_TOOL_NODE_MODULES_BUNDLE=$BINDIR/node_modules.tar
- ERM_PACKAGES_PATH=devtools/frontend_build_platform/erm/erm-packages.json
- module _TS_BASE_UNIT: _BARE_UNIT {
- # Propagates peers to related modules
- .PEERDIR_POLICY=as_build_from
- .NODE_TYPE=Bundle
- # Needed for DEPENDS in tests to choose right submodule from multimodule
- .FINAL_TARGET=yes
- # use TS_FILES instead of FILES
- .ALIASES=FILES=TS_FILES
- # .NODE_TYPE=Bundle is required for peers propagation, but it also affects
- # how merging of pic/nopic graphs. Here we can override this merging behaviour
- SET(MODULE_TYPE LIBRARY)
- # Include processor works only for TS tag
- SET(MODULE_TAG TS)
- # TS should peer to TS
- SET(PEERDIR_TAGS TS)
- # .fake tells builder to not materialize it in results
- SET(MODULE_SUFFIX .ts.fake)
- # We read erm-packages.json during configuration, so we have to include it to configuration cache key
- SET_APPEND(_MAKEFILE_INCLUDE_LIKE_DEPS ${ARCADIA_ROOT}/$ERM_PACKAGES_PATH)
- # PEERDIR that reads required version of tool from package.json
- _PEERDIR_TS_RESOURCE(nodejs pnpm)
- }
- # tag:test
- ESLINT_CONFIG_PATH=.eslintrc.js
- _TS_LINT_SRCS_VALUE=
- ### _TS_CONFIG_EPILOGUE() # internal
- ###
- ### This macro executes macros which should be invoked after all user specified macros in the ya.make file
- macro _TS_CONFIG_EPILOGUE() {
- _GLOB(_TS_LINT_SRCS_VALUE ${CURDIR}/**/*.(ts|tsx|js|jsx) EXCLUDE node_modules/**/* build/**/* bundle/**/*)
- _SETUP_EXTRACT_NODE_MODULES_RECIPE(${MODDIR})
- }
- _TS_FILES_COPY_CMD=
- ### TS_FILES(Files...)
- ###
- ### Adds files to output as is. Similar to FILES but works for TS build modules
- macro TS_FILES(Files...) {
- _TS_FILES($Files)
- }
- @import "${CONF_ROOT}/conf/ts/node_modules.conf"
- @import "${CONF_ROOT}/conf/ts/ts_bundle.conf"
- @import "${CONF_ROOT}/conf/ts/ts_library.conf"
- @import "${CONF_ROOT}/conf/ts/ts_next.conf"
- @import "${CONF_ROOT}/conf/ts/ts_test.conf"
- @import "${CONF_ROOT}/conf/ts/ts_vite_bundle.conf"
|