Comments (9)
I'm running into this with nativescript-sqlite 2.8.3 and @nativescript/webpack 4.0.0.
from nativescript-sqlite.
Here's a patch: require.patch.txt
from nativescript-sqlite.
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.
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.
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.
I pushed a 2.8.4 for this...
from nativescript-sqlite.
Thanks.
from nativescript-sqlite.
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.
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:
- 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).
- 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?
- 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.
- 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.
- 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)
- 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)
- Run ATTACH command? HOT 1
- demo doest work on iOS HOT 2
- In-Memory Databases do not work in android
- Multiple documentation issues (and one real) HOT 4
- execSql weird error handling HOT 1
- Build fails with NativeScript 6.5 ./gradlew (failed with exit code 1) HOT 3
- Point to custom Sqlite3 for paid extension support HOT 6
- Module not found: Error: Can't resolve 'nativescript-sqlite-sync' with commercial licence HOT 2
- Upgrade to Nativescript 7 HOT 2
- Where does actual data store? HOT 1
- Return and display blob into img example? HOT 3
- Execsql failed to prepare:1 HOT 2
- Commercial License HOT 4
- What needs to be modified when working with nativescript 8 ? HOT 3
- Got resultSet of 'undefined' after upgrading to NS 8 HOT 4
- App crashs on IOS 14.5.1 + HOT 7
- iOS: Update from {N} 8.0 to 8.1 creates toString from null error HOT 29
- SELECT error: SQLITE.ALL - Prepare Error 1 when migrating from {N} 6.8 to 8.1 HOT 7
- Uncaught TypeError: nativescript_sqlite__WEBPACK_IMPORTED_MODULE_0__.Sqlite is not a constructor
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nativescript-sqlite.