thegreenwebfoundation / co2.js

An npm module for accessing the green web API, and estimating the carbon emissions from using digital services
Other
375 stars 47 forks source link

Reduce NPM package size by adding more files to .npmignore list #185

Closed fershad closed 6 months ago

fershad commented 6 months ago

This PR looks to reduce the size of the @tgwf/co2 NPM package by adding code and files that are not necessary for external/production users to the .npmignore file.

The changes made are reflect those raised in #121. Namely:

In all, this reduces the files shipped by 41 & total package size by ~280 kB. The below diff shows the results of running the npm pack --dry-run command before and after the changes are applied. Files which have been removed from the package are highlighted.

- npm notice 3.6kB   .all-contributorsrc                                
- npm notice 225B    .esbuild.browser.js                                
- npm notice 941B    .esbuild.esm.js                                    
- npm notice 376B    .esbuild.node.js                                   
- npm notice 8B      .eslintignore                                      
- npm notice 183B    .gitpod.yml                                        
  npm notice 9.1kB   CHANGELOG.md                                       
  npm notice 12.0kB  LICENSE                                            
  npm notice 562B    NOTICE                                             
  npm notice 12.5kB  README.md                                          
- npm notice 3.4kB   data/output/average-intensities.js                 
- npm notice 32.3kB  data/output/average-intensities.json               
- npm notice 3.4kB   data/output/marginal-intensities-2021.js           
- npm notice 104.6kB data/output/marginal-intensities-2021.json         
  npm notice 1.9kB   dist/cjs/1byte.js                                  
  npm notice 3.4kB   dist/cjs/1byte.js.map                              
  npm notice 8.8kB   dist/cjs/co2.js                                    
  npm notice 14.9kB  dist/cjs/co2.js.map                                
  npm notice 1.0kB   dist/cjs/constants/file-size.js                    
  npm notice 306B    dist/cjs/constants/file-size.js.map                
  npm notice 2.4kB   dist/cjs/constants/index.js                        
  npm notice 1.8kB   dist/cjs/constants/index.js.map                    
  npm notice 4.5kB   dist/cjs/data/average-intensities.min.js           
  npm notice 5.9kB   dist/cjs/data/average-intensities.min.js.map       
  npm notice 4.6kB   dist/cjs/data/marginal-intensities-2021.min.js     
  npm notice 6.5kB   dist/cjs/data/marginal-intensities-2021.min.js.map 
  npm notice 7.9kB   dist/cjs/helpers/index.js                          
  npm notice 10.2kB  dist/cjs/helpers/index.js.map                      
  npm notice 2.0kB   dist/cjs/hosting-api.js                            
  npm notice 2.8kB   dist/cjs/hosting-api.js.map                        
  npm notice 2.6kB   dist/cjs/hosting-json.node.js                      
  npm notice 4.7kB   dist/cjs/hosting-json.node.js.map                  
  npm notice 3.0kB   dist/cjs/hosting-node.js                           
  npm notice 4.6kB   dist/cjs/hosting-node.js.map                       
  npm notice 1.5kB   dist/cjs/hosting.js                                
  npm notice 706B    dist/cjs/hosting.js.map                            
  npm notice 1.8kB   dist/cjs/index-node.js                             
  npm notice 514B    dist/cjs/index-node.js.map                         
  npm notice 2.0kB   dist/cjs/index.js                                  
  npm notice 629B    dist/cjs/index.js.map                              
  npm notice 27B     dist/cjs/package.json                              
  npm notice 7.9kB   dist/cjs/sustainable-web-design.js                 
  npm notice 15.5kB  dist/cjs/sustainable-web-design.js.map             
- npm notice 61B     dist/data/functions/generate_average_co2.d.ts      
- npm notice 151B    dist/data/functions/generate_average_co2.d.ts.map  
- npm notice 62B     dist/data/functions/generate_marginal_co2.d.ts     
- npm notice 153B    dist/data/functions/generate_marginal_co2.d.ts.map 
- npm notice 4.0kB   dist/data/output/average-intensities.d.ts          
- npm notice 395B    dist/data/output/average-intensities.d.ts.map      
- npm notice 4.3kB   dist/data/output/marginal-intensities-2021.d.ts    
- npm notice 431B    dist/data/output/marginal-intensities-2021.d.ts.map
- npm notice 134B    dist/data/utils/getCountryCodes.d.ts               
- npm notice 148B    dist/data/utils/getCountryCodes.d.ts.map           
- npm notice 105B    dist/data/utils/mapCountries.d.ts                  
- npm notice 143B    dist/data/utils/mapCountries.d.ts.map              
- npm notice 330B    dist/data/utils/parseCSVRow.d.ts                   
- npm notice 164B    dist/data/utils/parseCSVRow.d.ts.map               
  npm notice 1.0kB   dist/esm/1byte.js                                  
  npm notice 7.5kB   dist/esm/co2.js                                    
  npm notice 117B    dist/esm/constants/file-size.js                    
  npm notice 797B    dist/esm/constants/index.js                        
  npm notice 3.5kB   dist/esm/data/average-intensities.min.js           
  npm notice 3.5kB   dist/esm/data/marginal-intensities-2021.min.js     
  npm notice 6.8kB   dist/esm/helpers/index.js                          
  npm notice 1.1kB   dist/esm/hosting-api.js                            
  npm notice 195B    dist/esm/hosting.js                                
  npm notice 372B    dist/esm/index.js                                  
  npm notice 25B     dist/esm/package.json                              
  npm notice 7.6kB   dist/esm/sustainable-web-design.js                 
- npm notice 15.9kB  dist/iife/index.js                                 
- npm notice 58.2kB  dist/iife/index.js.map                             
- npm notice 365B    fixup                                              
  npm notice 29B     index.d.ts                                         
  npm notice 2.3kB   package.json                                       
- npm notice 2.6kB   src/1byte.js                                       
- npm notice 10.7kB  src/co2.js                                         
- npm notice 70B     src/constants/file-size.js                         
- npm notice 1.3kB   src/constants/index.js                             
- npm notice 2.9kB   src/data/average-intensities.min.js                
- npm notice 3.0kB   src/data/marginal-intensities-2021.min.js          
- npm notice 7.0kB   src/helpers/index.js                               
- npm notice 1.9kB   src/hosting-api.js                                 
- npm notice 3.2kB   src/hosting-json.node.js                           
- npm notice 3.3kB   src/hosting-node.js                                
- npm notice 431B    src/hosting.js                                     
- npm notice 270B    src/index-node.js                                  
- npm notice 336B    src/index.js                                       
- npm notice 11.6kB  src/sustainable-web-design.js                      

- npm notice package size:  89.1 kB                                 
- npm notice unpacked size: 476.2 kB                                
- npm notice shasum:        4f516cc4d9048fe601ec715f21d6ad1d94296a4b
- npm notice integrity:     sha512-iQZMYdLP+l1Ky[...]kgbB/x3Gc/cQA==
- npm notice total files:   88                                      
---
+ npm notice package size:  40.5 kB                                 
+ npm notice unpacked size: 193.4 kB                                
+ npm notice shasum:        6300baa566d61730d0758aad412e44157c7ba366
+ npm notice integrity:     sha512-F6JOR2yWn6uUH[...]ibQqNv7mUZg9w==
+ npm notice total files:   47                                      
mrchrisadams commented 6 months ago

:shipit: @fershad