Ver Fonte

refactor: version check

Ryan Chandler há 4 anos atrás
pai
commit
fb8388d0d1

Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
dist/spruce.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
dist/spruce.js.map


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
dist/spruce.module.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
dist/spruce.module.js.map


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
dist/spruce.umd.js


Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
dist/spruce.umd.js.map


+ 2 - 3
src/index.js

@@ -1,6 +1,5 @@
-import { domReady, getMethods } from './utils'
+import { domReady, getMethods, checkForAlpine } from './utils'
 import { createObservable } from './observable'
 import { createObservable } from './observable'
-import compareVersions from 'compare-versions';
 
 
 const Spruce = {
 const Spruce = {
     stores: {},
     stores: {},
@@ -42,7 +41,7 @@ const Spruce = {
     },
     },
 
 
     attach() {
     attach() {
-        if (!window.Alpine || ! compareVersions.compare(window.Alpine.version, '2.7.0', '>=')) {
+        if (! checkForAlpine()) {
             throw new Error('[Spruce] You must be using Alpine >= 2.5.0 to use Spruce.')
             throw new Error('[Spruce] You must be using Alpine >= 2.5.0 to use Spruce.')
         }
         }
 
 

+ 9 - 0
src/utils.js

@@ -24,4 +24,13 @@ export const getMethods = obj => {
     Object.entries(obj).filter(([key, value]) => typeof value === 'function').forEach(([key, value]) => methods[key] = value)
     Object.entries(obj).filter(([key, value]) => typeof value === 'function').forEach(([key, value]) => methods[key] = value)
 
 
     return methods
     return methods
+}
+
+export const isTesting = () => {
+    return navigator.userAgent, navigator.userAgent.includes("Node.js")
+        || navigator.userAgent.includes("jsdom")
+}
+
+export const checkForAlpine = () => {
+    return isTesting() || (! window.Alpine || ! compareVersions.compare(window.Alpine.version, '2.7.0', '>='))
 }
 }

Alguns ficheiros não foram mostrados porque muitos ficheiros mudaram neste diff