-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMakefile
30 lines (25 loc) · 1.18 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# Get version from root package.json
VERSION := $(shell node -p "require('./package.json').version")
.PHONY: sync-version build-all publish-all clean
# Sync versions across packages
sync-version:
@echo "Syncing version $(VERSION) across packages..."
@node -e "const p=require('./packages/typescript/package.json'); p.version='$(VERSION)'; require('fs').writeFileSync('./packages/typescript/package.json', JSON.stringify(p,null,2))"
@echo "Updated TypeScript package version to $(VERSION)"
@sed -i.bak 's/version = ".*"/version = "$(VERSION)"/' packages/python/pyproject.toml && rm packages/python/pyproject.toml.bak
@echo "Updated Python package version to $(VERSION)"
# Clean build artifacts
clean:
@echo "Cleaning build artifacts..."
@rm -rf packages/typescript/dist
@rm -rf packages/python/dist packages/python/build packages/python/*.egg-info
# Build both packages
build-all: clean sync-version
@echo "Building all packages..."
@cd packages/typescript && npm run build
@cd packages/python && python -m build
# Publish both packages
publish-all: build-all
@echo "Publishing all packages..."
@cd packages/typescript && npm publish
@cd packages/python && python -m twine upload dist/*