-
Notifications
You must be signed in to change notification settings - Fork 757
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add .npmignore #468
Comments
Yeah, this probably makes sense. I'll try to write one as a whitelist so that we can keep a fairly minimal set of files even as we add new ones. |
If you write it as a whitelist you can either use an invert glob, with the first line being |
Excellent. Thanks! |
Please note that npm automatically adds essential files such as |
Nice! Just what I was looking for.
Thanks for the info. I think I'm still going to whitelist them anyway just to make it obvious to anyone reading the |
Adds an `.npmignore` file to the project so that the final package sent to NPM is lighter. Tests, examples, and other resources are stripped out (it's easy to link back to this repository to refer to these if needed). I've written this is in an "inverted" style so that only by default everything is blacklisted, and we add back in the files and folders that we know we'll want. I verified that this does the right thing by using `npm pack`. Before the addition of `.npmignore`: ``` sh $ npm pack && tar -zxf stripe*.tgz && ls -R package/ stripe-6.1.0.tgz CHANGELOG.md README.md examples/ package.json LICENSE VERSION lib/ test/ package//examples: webhook-signing/ package//examples/webhook-signing: express.js package.json package//lib: Error.js StripeMethod.js resources/ MultipartDataGenerator.js StripeResource.js stripe.js StripeMethod.basic.js Webhooks.js utils.js package//lib/resources: Accounts.js EphemeralKeys.js Recipients.js ApplePayDomains.js Events.js Refunds.js ApplicationFeeRefunds.js ExchangeRates.js SKUs.js ApplicationFees.js FileUploads.js Sources.js Balance.js InvoiceItems.js SubscriptionItems.js BitcoinReceivers.js Invoices.js Subscriptions.js ChargeRefunds.js IssuerFraudRecords.js ThreeDSecure.js Charges.js LoginLinks.js Tokens.js CountrySpecs.js OrderReturns.js Topups.js Coupons.js Orders.js TransferReversals.js CustomerCards.js Payouts.js Transfers.js CustomerSubscriptions.js Plans.js UsageRecords.js Customers.js Products.js Disputes.js RecipientCards.js package//test: Error.spec.js flows.spec.js stripe.spec.js StripeResource.spec.js mocha.opts testUtils.js Webhook.spec.js resources/ utils.spec.js package//test/resources: Account.spec.js EphemeralKeys.spec.js Recipients.spec.js ApplePayDomains.spec.js Events.spec.js Refunds.spec.js ApplicationFeeRefunds.spec.js ExchangeRates.spec.js SKUs.spec.js ApplicationFees.spec.js FileUploads.spec.js Sources.spec.js Balance.spec.js InvoiceItems.spec.js SubscriptionItems.spec.js BitcoinReceivers.spec.js Invoices.spec.js Subscriptions.spec.js ChargeRefunds.spec.js IssuerFraudRecords.spec.js ThreeDSecure.spec.js Charges.spec.js LoginLinks.spec.js Tokens.spec.js CountrySpecs.spec.js OrderReturns.spec.js Topups.spec.js Coupons.spec.js Orders.spec.js TransferReversals.spec.js CustomerCards.spec.js Payouts.spec.js Transfers.spec.js CustomerSubscriptions.spec.js Plans.spec.js UsageRecords.spec.js Customers.spec.js Products.spec.js data/ Disputes.spec.js RecipientCards.spec.js package//test/resources/data: minimal.pdf ``` And after: ``` sh $ npm pack && tar -zxf stripe*.tgz && ls -R package/ stripe-6.1.0.tgz CHANGELOG.md LICENSE README.md VERSION lib/ package.json package//lib: Error.js StripeMethod.js resources/ MultipartDataGenerator.js StripeResource.js stripe.js StripeMethod.basic.js Webhooks.js utils.js package//lib/resources: Accounts.js EphemeralKeys.js Recipients.js ApplePayDomains.js Events.js Refunds.js ApplicationFeeRefunds.js ExchangeRates.js SKUs.js ApplicationFees.js FileUploads.js Sources.js Balance.js InvoiceItems.js SubscriptionItems.js BitcoinReceivers.js Invoices.js Subscriptions.js ChargeRefunds.js IssuerFraudRecords.js ThreeDSecure.js Charges.js LoginLinks.js Tokens.js CountrySpecs.js OrderReturns.js Topups.js Coupons.js Orders.js TransferReversals.js CustomerCards.js Payouts.js Transfers.js CustomerSubscriptions.js Plans.js UsageRecords.js Customers.js Products.js Disputes.js RecipientCards.js ``` Fixes #468.
Released as 6.1.1. |
I noticed you are shipping a large amount of files that are most likely not used by any consumers:
Adding these to the npmignore should significantly reduce the package size!
The text was updated successfully, but these errors were encountered: