Skip to content

Instantly share code, notes, and snippets.

@luketn
Created October 28, 2022 07:49
Show Gist options
  • Save luketn/354cc6de4950fb060690078b8439737d to your computer and use it in GitHub Desktop.
Save luketn/354cc6de4950fb060690078b8439737d to your computer and use it in GitHub Desktop.
Create Trimmed Mongo node_modules (excluding the AWS SDK) for deployment to Lambda
#!/usr/bin/env bash
set -e
rm -rf node_modules
npm init -y
npm install mongodb --production
echo "before: $(du -sh node_modules)"
rm -rf node_modules/@aws-sdk
rm -rf node_modules/@aws-crypto
rm -rf node_modules/@types
find node_modules/ -type f -name '*.md' -delete
find node_modules/ -type f -name '*.ts' -delete
find node_modules/ -type f -name '*.js.map' -delete
find node_modules/ -type f -name '*.html' -delete
find node_modules/ -type f -name 'Copyright*' -delete
find node_modules/ -type f -name 'LICENSE*' -delete
find node_modules/ -type f -name 'NOTICE' -delete
find node_modules/ -type f -name 'package-lock.json' -delete
find node_modules/ -type f -name '.package*.json' -delete
find node_modules/ -type f -name 'tsconfig.json' -delete
find node_modules/ -type f -name '.travis.yml' -delete
find node_modules/ -type f -name '.editorconfig' -delete
find node_modules/ -type f -name '.gitattributes' -delete
find node_modules/ -type f -name '.prettierrc.yaml' -delete
find node_modules/ -type f -name '.eslintrc.cjs' -delete
find node_modules/ -type f -name '.npmignore' -delete
find node_modules/ -type f -name 'test.js' -delete
find node_modules/ -type f -name '*.test.js' -delete
find node_modules/ -type d -name 'src' -exec rm -rf {} +
find node_modules/ -type d -name 'test' -exec rm -rf {} +
find node_modules/ -type d -name 'tests' -exec rm -rf {} +
find node_modules/ -type d -name 'docs' -exec rm -rf {} +
find node_modules/ -type d -name 'doc' -exec rm -rf {} +
find node_modules/ -type d -name 'example' -exec rm -rf {} +
find node_modules/ -type d -name 'examples' -exec rm -rf {} +
find node_modules/ -type d -name 'benchmark' -exec rm -rf {} +
find node_modules/ -type d -name 'benchmarks' -exec rm -rf {} +
find node_modules/ -type d -name 'coverage' -exec rm -rf {} +
find node_modules/ -type d -name '.vscode' -exec rm -rf {} +
echo "after: $(du -sh node_modules)"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment