Skip to content

Reduce gem size by excluding test files#151

Merged
rkh merged 2 commits intosinatra:mainfrom
yuri-zubov:reduce-gem-size
Apr 13, 2026
Merged

Reduce gem size by excluding test files#151
rkh merged 2 commits intosinatra:mainfrom
yuri-zubov:reduce-gem-size

Conversation

@yuri-zubov
Copy link
Copy Markdown
Contributor

This pull request updates the *.gemspec file to optimize the gem package size and structure

gem mustermann
$ gem build -o before.tar

$ git switch reduce-gem-size

$ gem build -o after.tar

$ du -sh before.tar after.tar
 52K	before.tar
 40K	after.tar
Metric Before After Saved
Size 52K 40K −12K

whitch files was deleted?

data
-├── bench
-│   ├── capturing.rb
-│   ├── regexp.rb
-│   ├── simple_vs_sinatra.rb
-│   ├── template_vs_addressable.rb
-│   └── uri_parser_object.rb
 ├── lib
 │   ├── mustermann
 │   │   ├── ast
 │   │   │   ├── boundaries.rb
 │   │   │   ├── compiler.rb
 │   │   │   ├── expander.rb
 │   │   │   ├── node.rb
 │   │   │   ├── param_scanner.rb
 │   │   │   ├── parser.rb
 │   │   │   ├── pattern.rb
 │   │   │   ├── template_generator.rb
 │   │   │   ├── transformer.rb
 │   │   │   ├── translator.rb
 │   │   │   └── validation.rb
 │   │   ├── sinatra
 │   │   │   ├── parser.rb
 │   │   │   ├── safe_renderer.rb
 │   │   │   └── try_convert.rb
 │   │   ├── caster.rb
 │   │   ├── composite.rb
 │   │   ├── concat.rb
 │   │   ├── equality_map.rb
 │   │   ├── error.rb
 │   │   ├── expander.rb
 │   │   ├── extension.rb
 │   │   ├── identity.rb
 │   │   ├── mapper.rb
 │   │   ├── pattern_cache.rb
 │   │   ├── pattern.rb
 │   │   ├── regexp_based.rb
 │   │   ├── regexp.rb
 │   │   ├── regular.rb
 │   │   ├── simple_match.rb
 │   │   ├── sinatra.rb
 │   │   ├── to_pattern.rb
 │   │   └── version.rb
 │   └── mustermann.rb
-├── spec
-│   ├── ast_spec.rb
-│   ├── composite_spec.rb
-│   ├── concat_spec.rb
-│   ├── equality_map_spec.rb
-│   ├── expander_spec.rb
-│   ├── identity_spec.rb
-│   ├── mapper_spec.rb
-│   ├── mustermann_spec.rb
-│   ├── pattern_spec.rb
-│   ├── regexp_based_spec.rb
-│   ├── regular_spec.rb
-│   ├── simple_match_spec.rb
-│   ├── sinatra_spec.rb
-│   └── to_pattern_spec.rb
 ├── LICENSE
-├── mustermann.gemspec
 └── README.md
gem mustermann-contrib
$ gem build -o before.tar

$ git switch reduce-gem-size

$ gem build -o after.tar

$ du -sh before.tar after.tar
 256K	before.tar
 32K	after.tar
Metric Before After Saved
Size 256K 32K −12K

whitch files was deleted?

data
-├── examples
-│   └── highlighting.rb
 ├── lib
 │   └── mustermann
 │       ├── file_utils
 │       │   └── glob_pattern.rb
 │       ├── visualizer
 │       │   ├── highlighter
 │       │   │   ├── ad_hoc.rb
 │       │   │   ├── ast.rb
 │       │   │   ├── composite.rb
 │       │   │   ├── dummy.rb
 │       │   │   └── regular.rb
 │       │   ├── renderer
 │       │   │   ├── ansi.rb
 │       │   │   ├── generic.rb
 │       │   │   ├── hansi_template.rb
 │       │   │   ├── html.rb
 │       │   │   └── sexp.rb
 │       │   ├── highlight.rb
 │       │   ├── highlighter.rb
 │       │   ├── pattern_extension.rb
 │       │   ├── tree_renderer.rb
 │       │   └── tree.rb
 │       ├── cake.rb
 │       ├── express.rb
 │       ├── file_utils.rb
 │       ├── fileutils.rb
 │       ├── flask.rb
 │       ├── pyramid.rb
 │       ├── rails.rb
 │       ├── shell.rb
 │       ├── simple.rb
 │       ├── string_scanner.rb
 │       ├── strscan.rb
 │       ├── template.rb
 │       ├── uri_template.rb
 │       ├── versions.rb
 │       └── visualizer.rb
-├── spec
-│   ├── cake_spec.rb
-│   ├── express_spec.rb
-│   ├── file_utils_spec.rb
-│   ├── flask_spec.rb
-│   ├── flask_subclass_spec.rb
-│   ├── pattern_extension_spec.rb
-│   ├── pyramid_spec.rb
-│   ├── rails_spec.rb
-│   ├── shell_spec.rb
-│   ├── simple_spec.rb
-│   ├── string_scanner_spec.rb
-│   ├── template_spec.rb
-│   └── visualizer_spec.rb
-├── highlighting.png
-├── irb.png
 ├── LICENSE
-├── mustermann-contrib.gemspec
 ├── README.md
-├── theme.png
-└── tree.png

ps: you can see on rails repo

@rkh
Copy link
Copy Markdown
Member

rkh commented Apr 13, 2026

Thanks, looks good!

@rkh rkh merged commit 6f15867 into sinatra:main Apr 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants