Преглед на файлове

Make integration tests run with new package setup

Unfortunately had to undo the `npm pack` PR for this for now :(
Renée Kooi преди 6 години
родител
ревизия
c68599dee9
променени са 5 файла, в които са добавени 60 реда и са изтрити 35 реда
  1. 1 1
      CHANGELOG.md
  2. 20 17
      bin/endtoend-build
  3. 31 17
      package-lock.json
  4. 1 0
      package.json
  5. 7 0
      test/endtoend/package.json

+ 1 - 1
CHANGELOG.md

@@ -87,7 +87,7 @@ What we need to do to release Uppy 1.0
 - [ ] feature: preset for Transloadit that mimics jQuery SDK, check https://github.com/transloadit/jquery-sdk docs (@goto-bus-stop)
 - [ ] feature: basic React Native support (@arturi owner+ios, @ife android)
 - [ ] refactoring: split uppy into small packages, Lerna.js repo? and figure out how to share styles (during work, maybe add PR warning in `.github/*`? use `git mv` for everything) (@goto-bus-stop, @arturi)
-- [x] QA: make it so that all integration tests use `npm pack` and `npm install` first (@ife)
+- [ ] QA: make it so that all integration tests use `npm pack` and `npm install` first (@ife)
 - [x] docs: on using plugins, all options, list of plugins, i18n
 - [x] feature: beta file recovering after closed tab / browser crash
 - [x] feature: easy integration with React (UppyReact components)

+ 20 - 17
bin/endtoend-build

@@ -1,23 +1,26 @@
 #!/usr/bin/env bash
 
-echo "Preparing for end to end test: copying static HTML and CSS, building JS"
-rm -rf ./test/endtoend/dist && mkdir ./test/endtoend/dist
-rm -rf ./test/endtoend/node_modules
+set -o pipefail
+set -o errexit
+set -o nounset
+set -o xtrace
 
-npm run prepublishOnly
-# archive the uppy package
-echo "Creating archive for Uppy package"
-cd packages/uppy && npm pack && cd ../..
+# Set magic variables for current file & dir
+__dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
+__file="${__dir}/$(basename "${BASH_SOURCE[0]}")"
+__base="$(basename ${__file} .sh)"
+__root="$(cd "$(dirname "${__dir}")" && pwd)"
 
-UPPY_VERSION=$(node -e 'console.log(require("./packages/uppy/package.json").version)')
-# install from the archived uppy package
-echo "Installing Uppy from archived file uppy-${UPPY_VERSION}.tgz"
-npm install --prefix ./test/endtoend packages/uppy/uppy-${UPPY_VERSION}.tgz
+echo "Preparing for end to end test: copying static HTML and CSS, building JS"
+rm -rf "${__root}/test/endtoend/dist" && mkdir "${__root}/test/endtoend/dist"
+rm -rf "${__root}/test/endtoend/node_modules"
 
-# removing package-lock.json because we do not need it.
-rm ./test/endtoend/package-lock.json
+npm run build
 
-cp ./test/endtoend/node_modules/uppy/dist/uppy.min.css ./test/endtoend/dist
-cp ./test/endtoend/src/index.html ./test/endtoend/dist
-browserify ./test/endtoend/src/main.js -o ./test/endtoend/dist/bundle.js -t babelify
-rm -rf ./test/endtoend/node_modules
+cp "${__root}/packages/uppy/dist/uppy.min.css" "${__root}/test/endtoend/dist"
+cp "${__root}/test/endtoend/src/index.html" "${__root}/test/endtoend/dist"
+browserify "${__root}/test/endtoend/src/main.js" \
+  -o "${__root}/test/endtoend/dist/bundle.js" \
+  -t babelify \
+  -t aliasify
+rm -rf "${__root}/test/endtoend/node_modules"

+ 31 - 17
package-lock.json

@@ -1,5 +1,5 @@
 {
-  "name": "uppy",
+  "name": "uppy-build",
   "version": "0.25.5",
   "lockfileVersion": 1,
   "requires": true,
@@ -239,6 +239,15 @@
       "integrity": "sha1-MU3QpLM2j609/NxU7eYXG4htrzw=",
       "dev": true
     },
+    "aliasify": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/aliasify/-/aliasify-2.1.0.tgz",
+      "integrity": "sha1-fDCCW5RQueYYW6J1M+r24gZ9S0I=",
+      "dev": true,
+      "requires": {
+        "browserify-transform-tools": "~1.7.0"
+      }
+    },
     "align-text": {
       "version": "0.1.4",
       "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz",
@@ -2811,6 +2820,16 @@
         "parse-asn1": "^5.0.0"
       }
     },
+    "browserify-transform-tools": {
+      "version": "1.7.0",
+      "resolved": "https://registry.npmjs.org/browserify-transform-tools/-/browserify-transform-tools-1.7.0.tgz",
+      "integrity": "sha1-g+J3Ih9jJZvtLn6yooOpcKUB9MQ=",
+      "dev": true,
+      "requires": {
+        "falafel": "^2.0.0",
+        "through": "^2.3.7"
+      }
+    },
     "browserslist": {
       "version": "1.3.6",
       "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.3.6.tgz",
@@ -7791,7 +7810,6 @@
           "version": "1.0.5",
           "bundled": true,
           "dev": true,
-          "optional": true,
           "requires": {
             "delayed-stream": "~1.0.0"
           }
@@ -7854,8 +7872,7 @@
         "delayed-stream": {
           "version": "1.0.0",
           "bundled": true,
-          "dev": true,
-          "optional": true
+          "dev": true
         },
         "delegates": {
           "version": "1.0.0",
@@ -7901,9 +7918,9 @@
           "dev": true,
           "optional": true,
           "requires": {
-            "asynckit": "0.4.0",
-            "combined-stream": "1.0.5",
-            "mime-types": "2.1.15"
+            "asynckit": "^0.4.0",
+            "combined-stream": "^1.0.5",
+            "mime-types": "^2.1.12"
           }
         },
         "fs.realpath": {
@@ -7996,8 +8013,8 @@
           "dev": true,
           "optional": true,
           "requires": {
-            "ajv": "4.11.8",
-            "har-schema": "1.0.5"
+            "ajv": "^4.9.1",
+            "har-schema": "^1.0.5"
           }
         },
         "has-unicode": {
@@ -8058,7 +8075,7 @@
           "bundled": true,
           "dev": true,
           "requires": {
-            "number-is-nan": "1.0.1"
+            "number-is-nan": "^1.0.0"
           }
         },
         "is-typedarray": {
@@ -8143,16 +8160,14 @@
         "mime-db": {
           "version": "1.27.0",
           "bundled": true,
-          "dev": true,
-          "optional": true
+          "dev": true
         },
         "mime-types": {
           "version": "2.1.15",
           "bundled": true,
           "dev": true,
-          "optional": true,
           "requires": {
-            "mime-db": "1.27.0"
+            "mime-db": "~1.27.0"
           }
         },
         "minimatch": {
@@ -8160,7 +8175,7 @@
           "bundled": true,
           "dev": true,
           "requires": {
-            "brace-expansion": "1.1.7"
+            "brace-expansion": "^1.1.7"
           }
         },
         "minimist": {
@@ -8226,8 +8241,7 @@
         "number-is-nan": {
           "version": "1.0.1",
           "bundled": true,
-          "dev": true,
-          "optional": true
+          "dev": true
         },
         "oauth-sign": {
           "version": "0.8.2",

+ 1 - 0
package.json

@@ -14,6 +14,7 @@
     ]
   },
   "devDependencies": {
+    "aliasify": "^2.1.0",
     "autoprefixer": "^7.2.5",
     "babel-cli": "^6.26.0",
     "babel-core": "^6.26.0",

+ 7 - 0
test/endtoend/package.json

@@ -0,0 +1,7 @@
+{
+  "aliasify": {
+    "aliases": {
+      "@uppy": "../../packages/@uppy"
+    }
+  }
+}