build.sh 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #!/bin/bash
  2. ###############################################################################
  3. # fmode-amazon-sp-api 构建脚本
  4. ###############################################################################
  5. set -e
  6. GREEN='\033[0;32m'
  7. YELLOW='\033[1;33m'
  8. RED='\033[0;31m'
  9. NC='\033[0m'
  10. echo -e "${GREEN}Building fmode-amazon-sp-api...${NC}"
  11. if [ ! -f "package.json" ]; then
  12. echo -e "${RED}Error: package.json not found${NC}"
  13. exit 1
  14. fi
  15. VERSION=$(node -p "require('./package.json').version" 2>/dev/null || echo "1.0.0")
  16. DIST_DIR="dist/${VERSION}"
  17. echo -e "${YELLOW}Creating ${DIST_DIR}...${NC}"
  18. rm -rf "${DIST_DIR}"
  19. mkdir -p "${DIST_DIR}"
  20. if [ ! -d "node_modules" ]; then
  21. echo -e "${YELLOW}Installing dependencies...${NC}"
  22. npm install
  23. fi
  24. echo -e "${YELLOW}Bundling ESM...${NC}"
  25. npx esbuild src/mod.ts \
  26. --bundle \
  27. --format=esm \
  28. --platform=node \
  29. --target=node16 \
  30. --outfile="${DIST_DIR}/fmode-amazon-sp-api.js" \
  31. --sourcemap \
  32. --external:express \
  33. --external:axios
  34. echo -e "${YELLOW}Bundling CJS...${NC}"
  35. npx esbuild src/mod.ts \
  36. --bundle \
  37. --format=cjs \
  38. --platform=node \
  39. --target=node16 \
  40. --outfile="${DIST_DIR}/fmode-amazon-sp-api.cjs" \
  41. --sourcemap \
  42. --external:express \
  43. --external:axios
  44. echo -e "${GREEN}Build complete!${NC}"