Coder Social home page Coder Social logo

Comments (9)

andreas-gruenbacher avatar andreas-gruenbacher commented on May 29, 2024 1

I'm running into this with nativescript-sqlite 2.8.3 and @nativescript/webpack 4.0.0.

from nativescript-sqlite.

andreas-gruenbacher avatar andreas-gruenbacher commented on May 29, 2024

Here's a patch: require.patch.txt

from nativescript-sqlite.

NathanaelA avatar NathanaelA commented on May 29, 2024

Make sure you are using v2.8.3 which was release yesterday, it should already fix it.

No need for a try/catch as v2.8.2 just had the issue where webpack didn't seem to understand that this was a external file so I had to added it to the list of auto excluded files in 2.8.3...

from nativescript-sqlite.

NathanaelA avatar NathanaelA commented on May 29, 2024

I should ask, what version of NativeScript? It is possible under NS that is using Webpack 4, that this could be an issue thinking about it...

from nativescript-sqlite.

NathanaelA avatar NathanaelA commented on May 29, 2024

Yeah, I'll get a 2.8.4 pushed shortly with this fix. I didn't test it on the older NS w/ webpack 4 as Webpack 5 allows some awesome automatic stuff...

from nativescript-sqlite.

NathanaelA avatar NathanaelA commented on May 29, 2024

I pushed a 2.8.4 for this...

from nativescript-sqlite.

andreas-gruenbacher avatar andreas-gruenbacher commented on May 29, 2024

Thanks.

from nativescript-sqlite.

andreas-gruenbacher avatar andreas-gruenbacher commented on May 29, 2024

I've noticed that you've also added a five-second delay:

+    // Are you really going to be so selfish, to delete any of our ad code now?
+    for (let time = Date.now() + 5000; Date.now() < time; );

I'm not so happy about that. If everyone did that, apps would take hours to build.

from nativescript-sqlite.

NathanaelA avatar NathanaelA commented on May 29, 2024

I have debated a long time about trying something like this, so trying something new as the current status quo still isn't very sustainable...

Here are the facts:

  1. Plugins w/ no "extra" features, don't receive any money. (I have > 40 plugins, not a single paid commercial or support license for any of them has been purchased in 5+ years, even though I offer both options).
  2. Plugins w/ extra features (i.e. sqlite), one purchase every couple months.

So with those facts, here is my reasoning:
NPM shows about 1300 downloads a month on this plugin, getting a single purchase maybe once every 3 months is not very conductive to keeping this plugin (& others) well maintained, considering the amount of time it sometimes takes to maintain it.

Lets just look at this week, I've probably easily spent 30 hours just this last week on this plugin fixing:

  • More Webpack 4/5 issues
  • iOS 14.7+ issue
  • Adding additional tests for some invalid issues.
  • Some additional NS 8 demo app fixes

Last month or two was closer to 120 hours, do to trying to fix a certain Webpack 5 issues (which inadvertently caused the Webpack 4 issue you caught this week as I finally released those changes).

So, how to we improve commercial registrations?

  1. We go to GPL? This really forces everyone, even the broke people to pay (at least on iOS). Not very big on this change for that reason that we create issues for free apps.
  2. We go to stripping out more features, or even slow down the SQLite plugin. Yeah, no, I don't want more places for things to break. All features that existed at Day 1 in this plugin, still exist in this plugin. I hate it when people remove functionality.
  3. Add popup message boxes in the code for "release" app that appear on the devices, to force released apps to register. (Basically same issues as 1)
  4. Advertising during build. Won't cause any "app" changes, or force broke people to pay for anything, and free apps can still use it. Yes, it is a minor annoyance, but developers tend to pay to eliminate minor annoyances. But those who can't pay, aren't impacted except for 5 seconds. Pretty small trade off. ;-)

If you have a commercial license, you won't see the message or a delay, so lets call it an incentive to actually help pay even a SMALL part of the costs of maintaining the plugins. This plugin has easily taken 1000's of hours to build, fix, and keep maintained from changes in NativeScript 1 thru NativeScript 8, Android 4 through Android 12, iOS 7 through iOS 15.

Final thoughts

I'm not so happy about that. If everyone did that, apps would take hours to build.

And maybe Open Source would be more maintainable because people would decide to actually support authors of whose code they use. I have several authors I support via patreon. So I probably wouldn't see any delays, as I do tend to support the authors, because I strongly believe in it. :-)

Finally, this is a Webpack 5 change only, it doesn't impact Webpack 4, as Webpack 4 doesn't have automatic rule generation, so you are unlikely to be impacted by it until you upgrade to a later version of NS...

from nativescript-sqlite.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.