Closed johnsontayler closed 2 years ago
Hi @johnsontayler ,
Could you please confirm if this build runs for you: https://zappar-xr.github.io/react-three-example-instant-tracking-cube/ ?
It may be worth a try updating the dependencies to the following:
three
- 137 ( alongside typings for it)
zappar-r3f
- 1.0.11
r3f
- 7.0.26
I'm off for the day, tomorrow morning shall investigate further and patch up the examples if needed :)
hi @nyan-left
Correct that build for Instant Tracking Cube doesn't run for me: https://github.com/zappar-xr/react-three-example-instant-tracking-cube/
i get the same errors I mentioned above.
When I update the dependencies to the versions you have here, I get these same errors:
@nyan-left , for tomorrow!
I've updated the repo with a semi working tracking cube.
I changed to the below packages, which cleared most of those Three JS errors, and got the camera and cube displaying properly. "@react-three/drei": "8.16.7", "@react-three/fiber": "7.0.07", "three": "0.131.1", "@types/three": "0.131.1", "@zappar/zappar-react-three-fiber": "1.0.11",
However, there is still a compiling error:
Failed to compile.
./node_modules/three-stdlib/objects/Lensflare.js
Attempted import error: 'FramebufferTexture' is not exported from 'three'.
and console error:
Uncaught ReferenceError: process is not defined
at Object.4043 (<anonymous>:2:13168)
at r (<anonymous>:2:306599)
at Object.8048 (<anonymous>:2:9496)
at r (<anonymous>:2:306599)
at Object.8641 (<anonymous>:2:1379)
at r (<anonymous>:2:306599)
at <anonymous>:2:315627
at <anonymous>:2:324225
at <anonymous>:2:324229
at HTMLIFrameElement.e.onload (index.js:1:1)
The repo I'm working on is updated: https://github.com/johnsontayler/test-zappar-r3f
Thanks for the extra info @johnsontayler,
I've cloned a fresh copy of the repo you're having issues with, and it seems to be working without issues across multiple machines.
The project is building as expected on Github Actions/Pages as well. Action run: https://github.com/zappar-xr/react-three-example-instant-tracking-cube/runs/3793358937?check_suite_focus=true Hosted pages url: https://zappar-xr.github.io/react-three-example-instant-tracking-cube/
This is leading me to believe that this is an environmental issue.
I can confirm that your forked repository does indeed give me the same process
issue though. I think that's just a mismatch between drei
and three
( npm does warn about peer deps ).
Would you mind sharing some extra bits of info?
Node version:
$ node -v
Npm version:
$ npm -v
A list of globally installed modules:
$ npm list -g
It may be worth a try running just vanilla r3f+cra to see if you get similar errors. Try either:
A fresh CRA project, integrated with r3f:
npx create-react-app my-app --template typescript
cd my-app
npm install three @react-three/fiber
Then follow the instructions on https://docs.pmnd.rs/react-three-fiber/getting-started/introduction to set up a "hello world" scene.
Alternatively, Clone a starter such as https://github.com/kevinomyonga/R3F-CRA-Starter , install and try to start it.
Hopefully, this narrows things down a little! :)
Update: Using yarn instead of npm I was able to produce a similar issue. Investigating now.
hi @nyan-left ,
Thanks for getting back to me.
I don't have any issues when starting up a project using React + R3F + Three Js. It's when I sub in the Zappar elements that I get package problems.
More info from me!
Node version:
v16.10.0
Npm version:
6.14.8
A list of globally installed modules:
/usr/local/Cellar/node/16.10.0/lib
├─┬ @zappar/zapworks-cli@1.0.0
│ ├─┬ @zappar/imagetraining@2.0.0
│ │ └─┬ jimp@0.16.1
│ │ ├─┬ @babel/runtime@7.17.7
│ │ │ └── regenerator-runtime@0.13.9 deduped
│ │ ├─┬ @jimp/custom@0.16.1
│ │ │ ├── @babel/runtime@7.17.7 deduped
│ │ │ └─┬ @jimp/core@0.16.1
│ │ │ ├── @babel/runtime@7.17.7 deduped
│ │ │ ├─┬ @jimp/utils@0.16.1
│ │ │ │ ├── @babel/runtime@7.17.7 deduped
│ │ │ │ └── regenerator-runtime@0.13.9 deduped
│ │ │ ├── any-base@1.1.0
│ │ │ ├── buffer@5.7.1 deduped
│ │ │ ├── exif-parser@0.1.12
│ │ │ ├── file-type@9.0.0
│ │ │ ├─┬ load-bmfont@1.4.1
│ │ │ │ ├── buffer-equal@0.0.1
│ │ │ │ ├── mime@1.6.0
│ │ │ │ ├── parse-bmfont-ascii@1.0.6
│ │ │ │ ├── parse-bmfont-binary@1.0.6
│ │ │ │ ├─┬ parse-bmfont-xml@1.1.4
│ │ │ │ │ ├── xml-parse-from-string@1.0.1
│ │ │ │ │ └─┬ xml2js@0.4.23
│ │ │ │ │ ├── sax@1.2.4
│ │ │ │ │ └── xmlbuilder@11.0.1
│ │ │ │ ├── phin@2.9.3 deduped
│ │ │ │ ├─┬ xhr@2.6.0
│ │ │ │ │ ├─┬ global@4.4.0
│ │ │ │ │ │ ├─┬ min-document@2.19.0
│ │ │ │ │ │ │ └── dom-walk@0.1.2
│ │ │ │ │ │ └── process@0.11.10
│ │ │ │ │ ├── is-function@1.0.2
│ │ │ │ │ ├── parse-headers@2.0.5
│ │ │ │ │ └── xtend@4.0.2 deduped
│ │ │ │ └── xtend@4.0.2
│ │ │ ├─┬ mkdirp@0.5.5
│ │ │ │ └── minimist@1.2.5
│ │ │ ├── phin@2.9.3
│ │ │ ├─┬ pixelmatch@4.0.2
│ │ │ │ └── pngjs@3.4.0 deduped
│ │ │ └── tinycolor2@1.4.2
│ │ ├─┬ @jimp/plugins@0.16.1
│ │ │ ├── @babel/runtime@7.17.7 deduped
│ │ │ ├─┬ @jimp/plugin-blit@0.16.1
│ │ │ │ ├── @babel/runtime@7.17.7 deduped
│ │ │ │ └── @jimp/utils@0.16.1 deduped
│ │ │ ├─┬ @jimp/plugin-blur@0.16.1
│ │ │ │ ├── @babel/runtime@7.17.7 deduped
│ │ │ │ └── @jimp/utils@0.16.1 deduped
│ │ │ ├─┬ @jimp/plugin-circle@0.16.1
│ │ │ │ ├── @babel/runtime@7.17.7 deduped
│ │ │ │ └── @jimp/utils@0.16.1 deduped
│ │ │ ├─┬ @jimp/plugin-color@0.16.1
│ │ │ │ ├── @babel/runtime@7.17.7 deduped
│ │ │ │ ├── @jimp/utils@0.16.1 deduped
│ │ │ │ └── tinycolor2@1.4.2 deduped
│ │ │ ├─┬ @jimp/plugin-contain@0.16.1
│ │ │ │ ├── @babel/runtime@7.17.7 deduped
│ │ │ │ └── @jimp/utils@0.16.1 deduped
│ │ │ ├─┬ @jimp/plugin-cover@0.16.1
│ │ │ │ ├── @babel/runtime@7.17.7 deduped
│ │ │ │ └── @jimp/utils@0.16.1 deduped
│ │ │ ├─┬ @jimp/plugin-crop@0.16.1
│ │ │ │ ├── @babel/runtime@7.17.7 deduped
│ │ │ │ └── @jimp/utils@0.16.1 deduped
│ │ │ ├─┬ @jimp/plugin-displace@0.16.1
│ │ │ │ ├── @babel/runtime@7.17.7 deduped
│ │ │ │ └── @jimp/utils@0.16.1 deduped
│ │ │ ├─┬ @jimp/plugin-dither@0.16.1
│ │ │ │ ├── @babel/runtime@7.17.7 deduped
│ │ │ │ └── @jimp/utils@0.16.1 deduped
│ │ │ ├─┬ @jimp/plugin-fisheye@0.16.1
│ │ │ │ ├── @babel/runtime@7.17.7 deduped
│ │ │ │ └── @jimp/utils@0.16.1 deduped
│ │ │ ├─┬ @jimp/plugin-flip@0.16.1
│ │ │ │ ├── @babel/runtime@7.17.7 deduped
│ │ │ │ └── @jimp/utils@0.16.1 deduped
│ │ │ ├─┬ @jimp/plugin-gaussian@0.16.1
│ │ │ │ ├── @babel/runtime@7.17.7 deduped
│ │ │ │ └── @jimp/utils@0.16.1 deduped
│ │ │ ├─┬ @jimp/plugin-invert@0.16.1
│ │ │ │ ├── @babel/runtime@7.17.7 deduped
│ │ │ │ └── @jimp/utils@0.16.1 deduped
│ │ │ ├─┬ @jimp/plugin-mask@0.16.1
│ │ │ │ ├── @babel/runtime@7.17.7 deduped
│ │ │ │ └── @jimp/utils@0.16.1 deduped
│ │ │ ├─┬ @jimp/plugin-normalize@0.16.1
│ │ │ │ ├── @babel/runtime@7.17.7 deduped
│ │ │ │ └── @jimp/utils@0.16.1 deduped
│ │ │ ├─┬ @jimp/plugin-print@0.16.1
│ │ │ │ ├── @babel/runtime@7.17.7 deduped
│ │ │ │ ├── @jimp/utils@0.16.1 deduped
│ │ │ │ └── load-bmfont@1.4.1 deduped
│ │ │ ├─┬ @jimp/plugin-resize@0.16.1
│ │ │ │ ├── @babel/runtime@7.17.7 deduped
│ │ │ │ └── @jimp/utils@0.16.1 deduped
│ │ │ ├─┬ @jimp/plugin-rotate@0.16.1
│ │ │ │ ├── @babel/runtime@7.17.7 deduped
│ │ │ │ └── @jimp/utils@0.16.1 deduped
│ │ │ ├─┬ @jimp/plugin-scale@0.16.1
│ │ │ │ ├── @babel/runtime@7.17.7 deduped
│ │ │ │ └── @jimp/utils@0.16.1 deduped
│ │ │ ├─┬ @jimp/plugin-shadow@0.16.1
│ │ │ │ ├── @babel/runtime@7.17.7 deduped
│ │ │ │ └── @jimp/utils@0.16.1 deduped
│ │ │ ├─┬ @jimp/plugin-threshold@0.16.1
│ │ │ │ ├── @babel/runtime@7.17.7 deduped
│ │ │ │ └── @jimp/utils@0.16.1 deduped
│ │ │ └── timm@1.7.1
│ │ ├─┬ @jimp/types@0.16.1
│ │ │ ├── @babel/runtime@7.17.7 deduped
│ │ │ ├─┬ @jimp/bmp@0.16.1
│ │ │ │ ├── @babel/runtime@7.17.7 deduped
│ │ │ │ ├── @jimp/utils@0.16.1 deduped
│ │ │ │ └── bmp-js@0.1.0
│ │ │ ├─┬ @jimp/gif@0.16.1
│ │ │ │ ├── @babel/runtime@7.17.7 deduped
│ │ │ │ ├── @jimp/utils@0.16.1 deduped
│ │ │ │ ├─┬ gifwrap@0.9.3
│ │ │ │ │ ├── image-q@1.1.1
│ │ │ │ │ └── omggif@1.0.10 deduped
│ │ │ │ └── omggif@1.0.10
│ │ │ ├─┬ @jimp/jpeg@0.16.1
│ │ │ │ ├── @babel/runtime@7.17.7 deduped
│ │ │ │ ├── @jimp/utils@0.16.1 deduped
│ │ │ │ └── jpeg-js@0.4.2
│ │ │ ├─┬ @jimp/png@0.16.1
│ │ │ │ ├── @babel/runtime@7.17.7 deduped
│ │ │ │ ├── @jimp/utils@0.16.1 deduped
│ │ │ │ └── pngjs@3.4.0
│ │ │ ├─┬ @jimp/tiff@0.16.1
│ │ │ │ ├── @babel/runtime@7.17.7 deduped
│ │ │ │ └─┬ utif@2.0.1
│ │ │ │ └── pako@1.0.11 deduped
│ │ │ └── timm@1.7.1 deduped
│ │ └── regenerator-runtime@0.13.9
│ ├─┬ @zappar/zw-api-client@1.0.2
│ │ ├─┬ @openid/appauth@1.3.1
│ │ │ ├── @types/base64-js@1.3.0
│ │ │ ├─┬ @types/jquery@3.5.14
│ │ │ │ └── @types/sizzle@2.3.3
│ │ │ ├── base64-js@1.5.1
│ │ │ ├── follow-redirects@1.14.9
│ │ │ ├─┬ form-data@4.0.0
│ │ │ │ ├── asynckit@0.4.0 deduped
│ │ │ │ ├── combined-stream@1.0.8 deduped
│ │ │ │ └── mime-types@2.1.35 deduped
│ │ │ └── opener@1.5.2
│ │ ├─┬ form-data@3.0.1
│ │ │ ├── asynckit@0.4.0
│ │ │ ├─┬ combined-stream@1.0.8
│ │ │ │ └── delayed-stream@1.0.0
│ │ │ └─┬ mime-types@2.1.35
│ │ │ └── mime-db@1.52.0
│ │ ├─┬ got@11.8.3
│ │ │ ├── @sindresorhus/is@4.6.0
│ │ │ ├─┬ @szmarczak/http-timer@4.0.6
│ │ │ │ └── defer-to-connect@2.0.1
│ │ │ ├─┬ @types/cacheable-request@6.0.2
│ │ │ │ ├── @types/http-cache-semantics@4.0.1
│ │ │ │ ├─┬ @types/keyv@3.1.3
│ │ │ │ │ └── @types/node@17.0.21 deduped
│ │ │ │ ├── @types/node@17.0.21 deduped
│ │ │ │ └── @types/responselike@1.0.0 deduped
│ │ │ ├─┬ @types/responselike@1.0.0
│ │ │ │ └── @types/node@17.0.21 deduped
│ │ │ ├── cacheable-lookup@5.0.4
│ │ │ ├─┬ cacheable-request@7.0.2
│ │ │ │ ├─┬ clone-response@1.0.2
│ │ │ │ │ └── mimic-response@1.0.1
│ │ │ │ ├── get-stream@5.2.0 deduped
│ │ │ │ ├── http-cache-semantics@4.1.0
│ │ │ │ ├─┬ keyv@4.1.1
│ │ │ │ │ └── json-buffer@3.0.1
│ │ │ │ ├── lowercase-keys@2.0.0 deduped
│ │ │ │ ├── normalize-url@6.1.0
│ │ │ │ └── responselike@2.0.0 deduped
│ │ │ ├─┬ decompress-response@6.0.0
│ │ │ │ └── mimic-response@3.1.0
│ │ │ ├─┬ http2-wrapper@1.0.3
│ │ │ │ ├── quick-lru@5.1.1
│ │ │ │ └── resolve-alpn@1.2.1
│ │ │ ├── lowercase-keys@2.0.0
│ │ │ ├── p-cancelable@2.1.1
│ │ │ └─┬ responselike@2.0.0
│ │ │ └── lowercase-keys@2.0.0 deduped
│ │ └── node-fetch@2.6.7 deduped
│ ├─┬ archiver@5.3.0
│ │ ├─┬ archiver-utils@2.1.0
│ │ │ ├─┬ glob@7.2.0
│ │ │ │ ├── fs.realpath@1.0.0
│ │ │ │ ├─┬ inflight@1.0.6
│ │ │ │ │ ├── once@1.4.0 deduped
│ │ │ │ │ └── wrappy@1.0.2
│ │ │ │ ├── inherits@2.0.4 deduped
│ │ │ │ ├── minimatch@3.1.2 deduped
│ │ │ │ ├─┬ once@1.4.0
│ │ │ │ │ └── wrappy@1.0.2 deduped
│ │ │ │ └── path-is-absolute@1.0.1
│ │ │ ├── graceful-fs@4.2.9 deduped
│ │ │ ├─┬ lazystream@1.0.1
│ │ │ │ └─┬ readable-stream@2.3.7
│ │ │ │ ├── core-util-is@1.0.3 deduped
│ │ │ │ ├── inherits@2.0.4 deduped
│ │ │ │ ├── isarray@1.0.0 deduped
│ │ │ │ ├── process-nextick-args@2.0.1 deduped
│ │ │ │ ├── safe-buffer@5.1.2 deduped
│ │ │ │ ├── string_decoder@1.1.1 deduped
│ │ │ │ └── util-deprecate@1.0.2 deduped
│ │ │ ├── lodash.defaults@4.2.0
│ │ │ ├── lodash.difference@4.5.0
│ │ │ ├── lodash.flatten@4.4.0
│ │ │ ├── lodash.isplainobject@4.0.6
│ │ │ ├── lodash.union@4.6.0
│ │ │ ├── normalize-path@3.0.0
│ │ │ └─┬ readable-stream@2.3.7
│ │ │ ├── core-util-is@1.0.3 deduped
│ │ │ ├── inherits@2.0.4 deduped
│ │ │ ├── isarray@1.0.0 deduped
│ │ │ ├── process-nextick-args@2.0.1 deduped
│ │ │ ├── safe-buffer@5.1.2 deduped
│ │ │ ├── string_decoder@1.1.1 deduped
│ │ │ └── util-deprecate@1.0.2 deduped
│ │ ├── async@3.2.3
│ │ ├── buffer-crc32@0.2.13
│ │ ├─┬ readable-stream@3.6.0
│ │ │ ├── inherits@2.0.4
│ │ │ ├─┬ string_decoder@1.1.1
│ │ │ │ └── safe-buffer@5.1.2 deduped
│ │ │ └── util-deprecate@1.0.2
│ │ ├─┬ readdir-glob@1.1.1
│ │ │ └─┬ minimatch@3.1.2
│ │ │ └─┬ brace-expansion@1.1.11
│ │ │ ├── balanced-match@1.0.2
│ │ │ └── concat-map@0.0.1
│ │ ├─┬ tar-stream@2.2.0
│ │ │ ├─┬ bl@4.1.0
│ │ │ │ ├─┬ buffer@5.7.1
│ │ │ │ │ ├── base64-js@1.5.1 deduped
│ │ │ │ │ └── ieee754@1.2.1
│ │ │ │ ├── inherits@2.0.4 deduped
│ │ │ │ └── readable-stream@3.6.0 deduped
│ │ │ ├─┬ end-of-stream@1.4.4
│ │ │ │ └── once@1.4.0 deduped
│ │ │ ├── fs-constants@1.0.0
│ │ │ ├── inherits@2.0.4 deduped
│ │ │ └── readable-stream@3.6.0 deduped
│ │ └─┬ zip-stream@4.1.0
│ │ ├── archiver-utils@2.1.0 deduped
│ │ ├─┬ compress-commons@4.1.1
│ │ │ ├── buffer-crc32@0.2.13 deduped
│ │ │ ├─┬ crc32-stream@4.0.2
│ │ │ │ ├─┬ crc-32@1.2.1
│ │ │ │ │ ├── exit-on-epipe@1.0.1
│ │ │ │ │ └── printj@1.3.1
│ │ │ │ └── readable-stream@3.6.0 deduped
│ │ │ ├── normalize-path@3.0.0 deduped
│ │ │ └── readable-stream@3.6.0 deduped
│ │ └── readable-stream@3.6.0 deduped
│ ├── arg@5.0.1
│ ├─┬ chalk@4.1.2
│ │ ├─┬ ansi-styles@4.3.0
│ │ │ └─┬ color-convert@2.0.1
│ │ │ └── color-name@1.1.4
│ │ └─┬ supports-color@7.2.0
│ │ └── has-flag@4.0.0
│ ├─┬ cli-progress@3.10.0
│ │ └─┬ string-width@4.2.3
│ │ ├── emoji-regex@8.0.0
│ │ ├── is-fullwidth-code-point@3.0.0
│ │ └── strip-ansi@6.0.1 deduped
│ ├─┬ configstore@5.0.1
│ │ ├─┬ dot-prop@5.3.0
│ │ │ └── is-obj@2.0.0
│ │ ├── graceful-fs@4.2.9
│ │ ├─┬ make-dir@3.1.0
│ │ │ └── semver@6.3.0
│ │ ├─┬ unique-string@2.0.0
│ │ │ └── crypto-random-string@2.0.0
│ │ ├─┬ write-file-atomic@3.0.3
│ │ │ ├── imurmurhash@0.1.4
│ │ │ ├── is-typedarray@1.0.0
│ │ │ ├── signal-exit@3.0.7
│ │ │ └─┬ typedarray-to-buffer@3.1.5
│ │ │ └── is-typedarray@1.0.0 deduped
│ │ └── xdg-basedir@4.0.0
│ ├─┬ debug@4.3.3
│ │ └── ms@2.1.2
│ ├─┬ del@6.0.0
│ │ ├─┬ globby@11.1.0
│ │ │ ├── array-union@2.1.0
│ │ │ ├─┬ dir-glob@3.0.1
│ │ │ │ └── path-type@4.0.0
│ │ │ ├─┬ fast-glob@3.2.11
│ │ │ │ ├── @nodelib/fs.stat@2.0.5
│ │ │ │ ├─┬ @nodelib/fs.walk@1.2.8
│ │ │ │ │ ├─┬ @nodelib/fs.scandir@2.1.5
│ │ │ │ │ │ ├── @nodelib/fs.stat@2.0.5 deduped
│ │ │ │ │ │ └─┬ run-parallel@1.2.0
│ │ │ │ │ │ └── queue-microtask@1.2.3
│ │ │ │ │ └─┬ fastq@1.13.0
│ │ │ │ │ └── reusify@1.0.4
│ │ │ │ ├─┬ glob-parent@5.1.2
│ │ │ │ │ └── is-glob@4.0.3 deduped
│ │ │ │ ├── merge2@1.4.1 deduped
│ │ │ │ └─┬ micromatch@4.0.4
│ │ │ │ ├─┬ braces@3.0.2
│ │ │ │ │ └─┬ fill-range@7.0.1
│ │ │ │ │ └─┬ to-regex-range@5.0.1
│ │ │ │ │ └── is-number@7.0.0
│ │ │ │ └── picomatch@2.3.1
│ │ │ ├── ignore@5.2.0
│ │ │ ├── merge2@1.4.1
│ │ │ └── slash@3.0.0 deduped
│ │ ├── graceful-fs@4.2.9 deduped
│ │ ├─┬ is-glob@4.0.3
│ │ │ └── is-extglob@2.1.1
│ │ ├── is-path-cwd@2.2.0
│ │ ├── is-path-inside@3.0.3
│ │ ├─┬ p-map@4.0.0
│ │ │ └─┬ aggregate-error@3.1.0
│ │ │ ├── clean-stack@2.2.0
│ │ │ └── indent-string@4.0.0
│ │ ├─┬ rimraf@3.0.2
│ │ │ └── glob@7.2.0 deduped
│ │ └── slash@3.0.0
│ ├── events@3.3.0
│ ├─┬ extract-zip@2.0.1
│ │ ├─┬ @types/yauzl@2.9.2
│ │ │ └── @types/node@17.0.21
│ │ ├── debug@4.3.3 deduped
│ │ ├─┬ get-stream@5.2.0
│ │ │ └─┬ pump@3.0.0
│ │ │ ├── end-of-stream@1.4.4 deduped
│ │ │ └── once@1.4.0 deduped
│ │ └─┬ yauzl@2.10.0
│ │ ├── buffer-crc32@0.2.13 deduped
│ │ └─┬ fd-slicer@1.1.0
│ │ └── pend@1.2.0
│ ├─┬ fs-extra@10.0.1
│ │ ├── graceful-fs@4.2.9 deduped
│ │ ├─┬ jsonfile@6.1.0
│ │ │ ├── graceful-fs@4.2.9 deduped
│ │ │ └── universalify@2.0.0 deduped
│ │ └── universalify@2.0.0
│ ├─┬ inquirer@7.3.3
│ │ ├─┬ ansi-escapes@4.3.2
│ │ │ └── type-fest@0.21.3
│ │ ├── chalk@4.1.2 deduped
│ │ ├─┬ cli-cursor@3.1.0
│ │ │ └─┬ restore-cursor@3.1.0
│ │ │ ├─┬ onetime@5.1.2
│ │ │ │ └── mimic-fn@2.1.0
│ │ │ └── signal-exit@3.0.7 deduped
│ │ ├── cli-width@3.0.0
│ │ ├─┬ external-editor@3.1.0
│ │ │ ├── chardet@0.7.0
│ │ │ ├─┬ iconv-lite@0.4.24
│ │ │ │ └── safer-buffer@2.1.2
│ │ │ └─┬ tmp@0.0.33
│ │ │ └── os-tmpdir@1.0.2
│ │ ├─┬ figures@3.2.0
│ │ │ └── escape-string-regexp@1.0.5
│ │ ├── lodash@4.17.21
│ │ ├── mute-stream@0.0.8
│ │ ├── run-async@2.4.1
│ │ ├─┬ rxjs@6.6.7
│ │ │ └── tslib@1.14.1
│ │ ├── string-width@4.2.3 deduped
│ │ ├─┬ strip-ansi@6.0.1
│ │ │ └── ansi-regex@5.0.1
│ │ └── through@2.3.8
│ ├── is-directory@0.3.1
│ ├─┬ jszip@3.7.1
│ │ ├─┬ lie@3.3.0
│ │ │ └── immediate@3.0.6
│ │ ├── pako@1.0.11
│ │ ├─┬ readable-stream@2.3.7
│ │ │ ├── core-util-is@1.0.3
│ │ │ ├── inherits@2.0.4 deduped
│ │ │ ├── isarray@1.0.0
│ │ │ ├── process-nextick-args@2.0.1
│ │ │ ├── safe-buffer@5.1.2
│ │ │ ├── string_decoder@1.1.1 deduped
│ │ │ └── util-deprecate@1.0.2 deduped
│ │ └── set-immediate-shim@1.0.1
│ ├─┬ local-web-server@4.2.1
│ │ ├─┬ lws@3.1.0
│ │ │ ├─┬ ansi-escape-sequences@5.1.2
│ │ │ │ └── array-back@4.0.2 deduped
│ │ │ ├── array-back@4.0.2
│ │ │ ├── byte-size@6.2.0
│ │ │ ├─┬ command-line-args@5.2.1
│ │ │ │ ├── array-back@3.1.0
│ │ │ │ ├─┬ find-replace@3.0.0
│ │ │ │ │ └── array-back@3.1.0
│ │ │ │ ├── lodash.camelcase@4.3.0
│ │ │ │ └── typical@4.0.0
│ │ │ ├─┬ command-line-usage@6.1.1
│ │ │ │ ├── array-back@4.0.2 deduped
│ │ │ │ ├─┬ chalk@2.4.2
│ │ │ │ │ ├─┬ ansi-styles@3.2.1
│ │ │ │ │ │ └─┬ color-convert@1.9.3
│ │ │ │ │ │ └── color-name@1.1.3
│ │ │ │ │ ├── escape-string-regexp@1.0.5 deduped
│ │ │ │ │ └─┬ supports-color@5.5.0
│ │ │ │ │ └── has-flag@3.0.0
│ │ │ │ ├─┬ table-layout@1.0.2
│ │ │ │ │ ├── array-back@4.0.2 deduped
│ │ │ │ │ ├── deep-extend@0.6.0
│ │ │ │ │ ├── typical@5.2.0
│ │ │ │ │ └─┬ wordwrapjs@4.0.1
│ │ │ │ │ ├── reduce-flatten@2.0.0
│ │ │ │ │ └── typical@5.2.0
│ │ │ │ └── typical@5.2.0
│ │ │ ├── create-mixin@3.0.0
│ │ │ ├─┬ koa@2.13.4
│ │ │ │ ├─┬ accepts@1.3.8
│ │ │ │ │ ├── mime-types@2.1.35 deduped
│ │ │ │ │ └── negotiator@0.6.3
│ │ │ │ ├─┬ cache-content-type@1.0.1
│ │ │ │ │ ├── mime-types@2.1.35 deduped
│ │ │ │ │ └── ylru@1.3.2
│ │ │ │ ├─┬ content-disposition@0.5.4
│ │ │ │ │ └── safe-buffer@5.2.1
│ │ │ │ ├── content-type@1.0.4
│ │ │ │ ├─┬ cookies@0.8.0
│ │ │ │ │ ├── depd@2.0.0 deduped
│ │ │ │ │ └─┬ keygrip@1.1.0
│ │ │ │ │ └── tsscmp@1.0.6
│ │ │ │ ├── debug@4.3.3 deduped
│ │ │ │ ├── delegates@1.0.0
│ │ │ │ ├── depd@2.0.0
│ │ │ │ ├── destroy@1.1.1
│ │ │ │ ├── encodeurl@1.0.2
│ │ │ │ ├── escape-html@1.0.3
│ │ │ │ ├── fresh@0.5.2
│ │ │ │ ├─┬ http-assert@1.5.0
│ │ │ │ │ ├── deep-equal@1.0.1
│ │ │ │ │ └── http-errors@1.8.1 deduped
│ │ │ │ ├─┬ http-errors@1.8.1
│ │ │ │ │ ├── depd@1.1.2
│ │ │ │ │ ├── inherits@2.0.4 deduped
│ │ │ │ │ ├── setprototypeof@1.2.0
│ │ │ │ │ ├── statuses@1.5.0 deduped
│ │ │ │ │ └── toidentifier@1.0.1
│ │ │ │ ├─┬ is-generator-function@1.0.10
│ │ │ │ │ └─┬ has-tostringtag@1.0.0
│ │ │ │ │ └── has-symbols@1.0.3
│ │ │ │ ├── koa-compose@4.1.0
│ │ │ │ ├─┬ koa-convert@2.0.0
│ │ │ │ │ ├── co@4.6.0
│ │ │ │ │ └── koa-compose@4.1.0 deduped
│ │ │ │ ├─┬ on-finished@2.4.1
│ │ │ │ │ └── ee-first@1.1.1
│ │ │ │ ├── only@0.0.2
│ │ │ │ ├── parseurl@1.3.3
│ │ │ │ ├── statuses@1.5.0
│ │ │ │ ├─┬ type-is@1.6.18
│ │ │ │ │ ├── media-typer@0.3.0
│ │ │ │ │ └── mime-types@2.1.35 deduped
│ │ │ │ └── vary@1.1.2
│ │ │ ├─┬ load-module@3.0.0
│ │ │ │ └── array-back@4.0.2 deduped
│ │ │ ├── lodash.assignwith@4.2.0
│ │ │ ├── node-version-matches@2.0.1 deduped
│ │ │ ├─┬ open@7.4.2
│ │ │ │ ├── is-docker@2.2.1
│ │ │ │ └─┬ is-wsl@2.2.0
│ │ │ │ └── is-docker@2.2.1 deduped
│ │ │ ├── qrcode-terminal@0.12.0 deduped
│ │ │ ├── reduce-flatten@3.0.1
│ │ │ ├── typical@6.0.1
│ │ │ └── walk-back@4.0.0
│ │ ├─┬ lws-basic-auth@2.0.0
│ │ │ └─┬ basic-auth@2.0.1
│ │ │ └── safe-buffer@5.1.2 deduped
│ │ ├─┬ lws-blacklist@3.0.0
│ │ │ ├── array-back@4.0.2 deduped
│ │ │ └── path-to-regexp@6.2.0
│ │ ├─┬ lws-body-parser@2.0.0
│ │ │ └─┬ koa-bodyparser@4.3.0
│ │ │ ├─┬ co-body@6.1.0
│ │ │ │ ├── inflation@2.0.0
│ │ │ │ ├─┬ qs@6.10.3
│ │ │ │ │ └─┬ side-channel@1.0.4
│ │ │ │ │ ├─┬ call-bind@1.0.2
│ │ │ │ │ │ ├── function-bind@1.1.1
│ │ │ │ │ │ └── get-intrinsic@1.1.1 deduped
│ │ │ │ │ ├─┬ get-intrinsic@1.1.1
│ │ │ │ │ │ ├── function-bind@1.1.1 deduped
│ │ │ │ │ │ ├─┬ has@1.0.3
│ │ │ │ │ │ │ └── function-bind@1.1.1 deduped
│ │ │ │ │ │ └── has-symbols@1.0.3 deduped
│ │ │ │ │ └── object-inspect@1.12.0
│ │ │ │ ├─┬ raw-body@2.5.1
│ │ │ │ │ ├── bytes@3.1.2 deduped
│ │ │ │ │ ├─┬ http-errors@2.0.0
│ │ │ │ │ │ ├── depd@2.0.0 deduped
│ │ │ │ │ │ ├── inherits@2.0.4 deduped
│ │ │ │ │ │ ├── setprototypeof@1.2.0 deduped
│ │ │ │ │ │ ├── statuses@2.0.1
│ │ │ │ │ │ └── toidentifier@1.0.1 deduped
│ │ │ │ │ ├── iconv-lite@0.4.24 deduped
│ │ │ │ │ └── unpipe@1.0.0
│ │ │ │ └── type-is@1.6.18 deduped
│ │ │ └── copy-to@2.0.1
│ │ ├─┬ lws-compress@2.0.0
│ │ │ └─┬ koa-compress@3.1.0
│ │ │ ├── bytes@3.1.2
│ │ │ ├─┬ compressible@2.0.18
│ │ │ │ └── mime-db@1.52.0 deduped
│ │ │ ├── koa-is-json@1.0.0
│ │ │ └── statuses@1.5.0 deduped
│ │ ├─┬ lws-conditional-get@2.0.0
│ │ │ ├── koa-conditional-get@2.0.0
│ │ │ └─┬ koa-etag@3.0.0
│ │ │ ├── etag@1.8.1
│ │ │ └─┬ mz@2.7.0
│ │ │ ├── any-promise@1.3.0
│ │ │ ├── object-assign@4.1.1
│ │ │ └─┬ thenify-all@1.6.0
│ │ │ └─┬ thenify@3.3.1
│ │ │ └── any-promise@1.3.0 deduped
│ │ ├─┬ lws-cors@3.1.1
│ │ │ └─┬ @koa/cors@3.2.0
│ │ │ └── vary@1.1.2 deduped
│ │ ├─┬ lws-index@2.0.0
│ │ │ └─┬ serve-index-75lb@2.0.1
│ │ │ ├── accepts@1.3.8 deduped
│ │ │ ├── batch@0.6.1
│ │ │ ├─┬ debug@2.6.9
│ │ │ │ └── ms@2.0.0
│ │ │ ├── escape-html@1.0.3 deduped
│ │ │ ├─┬ http-errors@1.6.3
│ │ │ │ ├── depd@1.1.2
│ │ │ │ ├── inherits@2.0.3
│ │ │ │ ├── setprototypeof@1.1.0
│ │ │ │ └── statuses@1.5.0 deduped
│ │ │ ├── mime-types@2.1.35 deduped
│ │ │ └── parseurl@1.3.3 deduped
│ │ ├─┬ lws-json@2.0.0
│ │ │ └─┬ koa-json@2.0.2
│ │ │ ├── koa-is-json@1.0.0 deduped
│ │ │ └─┬ streaming-json-stringify@3.1.0
│ │ │ ├── json-stringify-safe@5.0.1
│ │ │ └─┬ readable-stream@2.3.7
│ │ │ ├── core-util-is@1.0.3 deduped
│ │ │ ├── inherits@2.0.4 deduped
│ │ │ ├── isarray@1.0.0 deduped
│ │ │ ├── process-nextick-args@2.0.1 deduped
│ │ │ ├── safe-buffer@5.1.2 deduped
│ │ │ ├── string_decoder@1.1.1 deduped
│ │ │ └── util-deprecate@1.0.2 deduped
│ │ ├─┬ lws-log@2.0.0
│ │ │ ├─┬ koa-morgan@1.0.1
│ │ │ │ └─┬ morgan@1.10.0
│ │ │ │ ├── basic-auth@2.0.1 deduped
│ │ │ │ ├─┬ debug@2.6.9
│ │ │ │ │ └── ms@2.0.0
│ │ │ │ ├── depd@2.0.0 deduped
│ │ │ │ ├─┬ on-finished@2.3.0
│ │ │ │ │ └── ee-first@1.1.1 deduped
│ │ │ │ └── on-headers@1.0.2
│ │ │ └─┬ stream-log-stats@3.0.2
│ │ │ ├── ansi-escape-sequences@5.1.2 deduped
│ │ │ ├── byte-size@6.2.0 deduped
│ │ │ ├── common-log-format@1.0.0
│ │ │ ├─┬ JSONStream@1.3.5
│ │ │ │ ├── jsonparse@1.3.1
│ │ │ │ └── through@2.3.8 deduped
│ │ │ ├── lodash.throttle@4.1.1
│ │ │ ├── stream-via@1.0.4
│ │ │ └── table-layout@1.0.2 deduped
│ │ ├── lws-mime@2.0.0
│ │ ├─┬ lws-range@3.0.0
│ │ │ └─┬ koa-range@0.3.0
│ │ │ └── stream-slice@0.1.2
│ │ ├─┬ lws-request-monitor@2.0.0
│ │ │ └── byte-size@6.2.0 deduped
│ │ ├─┬ lws-rewrite@3.1.1
│ │ │ ├── array-back@4.0.2 deduped
│ │ │ ├─┬ http-proxy-agent@4.0.1
│ │ │ │ ├── @tootallnate/once@1.1.2
│ │ │ │ ├─┬ agent-base@6.0.2
│ │ │ │ │ └── debug@4.3.3 deduped
│ │ │ │ └── debug@4.3.3 deduped
│ │ │ ├─┬ https-proxy-agent@5.0.0
│ │ │ │ ├── agent-base@6.0.2 deduped
│ │ │ │ └── debug@4.3.3 deduped
│ │ │ ├─┬ koa-route@3.2.0
│ │ │ │ ├── debug@4.3.3 deduped
│ │ │ │ ├── methods@1.1.2
│ │ │ │ └─┬ path-to-regexp@1.8.0
│ │ │ │ └── isarray@0.0.1
│ │ │ └── path-to-regexp@6.2.0 deduped
│ │ ├─┬ lws-spa@3.0.0
│ │ │ └─┬ koa-send@5.0.1
│ │ │ ├── debug@4.3.3 deduped
│ │ │ ├── http-errors@1.8.1 deduped
│ │ │ └─┬ resolve-path@1.4.0
│ │ │ ├─┬ http-errors@1.6.3
│ │ │ │ ├── depd@1.1.2
│ │ │ │ ├── inherits@2.0.3
│ │ │ │ ├── setprototypeof@1.1.0
│ │ │ │ └── statuses@1.5.0 deduped
│ │ │ └── path-is-absolute@1.0.1 deduped
│ │ ├─┬ lws-static@2.0.0
│ │ │ └─┬ koa-static@5.0.0
│ │ │ ├─┬ debug@3.2.7
│ │ │ │ └── ms@2.1.2 deduped
│ │ │ └── koa-send@5.0.1 deduped
│ │ └─┬ node-version-matches@2.0.1
│ │ └── semver@6.3.0 deduped
│ ├─┬ node-fetch@2.6.7
│ │ └─┬ whatwg-url@5.0.0
│ │ ├── tr46@0.0.3
│ │ └── webidl-conversions@3.0.1
│ ├─┬ promise-fs@2.1.1
│ │ └── @octetstream/promisify@2.0.2
│ ├── qrcode-terminal@0.12.0
│ ├─┬ selfsigned@1.10.14
│ │ └── node-forge@0.10.0
│ ├─┬ tmp@0.2.1
│ │ └── rimraf@3.0.2 deduped
│ ├─┬ unused-filename@2.1.0
│ │ ├── modify-filename@1.1.0
│ │ └── path-exists@4.0.0
│ └─┬ update-notifier@5.1.0
│ ├─┬ boxen@5.1.2
│ │ ├─┬ ansi-align@3.0.1
│ │ │ └── string-width@4.2.3 deduped
│ │ ├── camelcase@6.3.0
│ │ ├── chalk@4.1.2 deduped
│ │ ├── cli-boxes@2.2.1
│ │ ├── string-width@4.2.3 deduped
│ │ ├── type-fest@0.20.2
│ │ ├─┬ widest-line@3.1.0
│ │ │ └── string-width@4.2.3 deduped
│ │ └─┬ wrap-ansi@7.0.0
│ │ ├── ansi-styles@4.3.0 deduped
│ │ ├── string-width@4.2.3 deduped
│ │ └── strip-ansi@6.0.1 deduped
│ ├── chalk@4.1.2 deduped
│ ├── configstore@5.0.1 deduped
│ ├── has-yarn@2.1.0
│ ├── import-lazy@2.1.0
│ ├─┬ is-ci@2.0.0
│ │ └── ci-info@2.0.0
│ ├─┬ is-installed-globally@0.4.0
│ │ ├─┬ global-dirs@3.0.0
│ │ │ └── ini@2.0.0
│ │ └── is-path-inside@3.0.3 deduped
│ ├── is-npm@5.0.0
│ ├── is-yarn-global@0.3.0
│ ├─┬ latest-version@5.1.0
│ │ └─┬ package-json@6.5.0
│ │ ├─┬ got@9.6.0
│ │ │ ├── @sindresorhus/is@0.14.0
│ │ │ ├─┬ @szmarczak/http-timer@1.1.2
│ │ │ │ └── defer-to-connect@1.1.3
│ │ │ ├─┬ cacheable-request@6.1.0
│ │ │ │ ├── clone-response@1.0.2 deduped
│ │ │ │ ├─┬ get-stream@5.2.0
│ │ │ │ │ └── pump@3.0.0 deduped
│ │ │ │ ├── http-cache-semantics@4.1.0 deduped
│ │ │ │ ├─┬ keyv@3.1.0
│ │ │ │ │ └── json-buffer@3.0.0
│ │ │ │ ├── lowercase-keys@2.0.0
│ │ │ │ ├── normalize-url@4.5.1
│ │ │ │ └─┬ responselike@1.0.2
│ │ │ │ └── lowercase-keys@1.0.1 deduped
│ │ │ ├─┬ decompress-response@3.3.0
│ │ │ │ └── mimic-response@1.0.1 deduped
│ │ │ ├── duplexer3@0.1.4
│ │ │ ├─┬ get-stream@4.1.0
│ │ │ │ └── pump@3.0.0 deduped
│ │ │ ├── lowercase-keys@1.0.1
│ │ │ ├── mimic-response@1.0.1 deduped
│ │ │ ├── p-cancelable@1.1.0
│ │ │ ├── to-readable-stream@1.0.0
│ │ │ └─┬ url-parse-lax@3.0.0
│ │ │ └── prepend-http@2.0.0
│ │ ├─┬ registry-auth-token@4.2.1
│ │ │ └─┬ rc@1.2.8
│ │ │ ├── deep-extend@0.6.0 deduped
│ │ │ ├── ini@1.3.8
│ │ │ ├── minimist@1.2.5 deduped
│ │ │ └── strip-json-comments@2.0.1
│ │ ├─┬ registry-url@5.1.0
│ │ │ └── rc@1.2.8 deduped
│ │ └── semver@6.3.0 deduped
│ ├─┬ pupa@2.1.1
│ │ └── escape-goat@2.1.1
│ ├─┬ semver@7.3.5
│ │ └─┬ lru-cache@6.0.0
│ │ └── yallist@4.0.0
│ ├─┬ semver-diff@3.1.1
│ │ └── semver@6.3.0 deduped
│ └── xdg-basedir@4.0.0 deduped
└─┬ browser-sync@2.27.5
├─┬ browser-sync-client@2.27.5
│ ├── etag@1.8.1 deduped
│ ├── fresh@0.5.2 deduped
│ ├── mitt@1.2.0
│ └─┬ rxjs@5.5.12
│ └── symbol-observable@1.0.1
├─┬ browser-sync-ui@2.27.5
│ ├── async-each-series@0.1.1
│ ├── connect-history-api-fallback@1.6.0 deduped
│ ├── immutable@3.8.2 deduped
│ ├── server-destroy@1.0.1 deduped
│ ├─┬ socket.io-client@2.4.0
│ │ ├── backo2@1.0.2
│ │ ├── component-bind@1.0.0
│ │ ├── component-emitter@1.3.0
│ │ ├─┬ debug@3.1.0
│ │ │ └── ms@2.0.0 deduped
│ │ ├─┬ engine.io-client@3.5.2
│ │ │ ├── component-emitter@1.3.0 deduped
│ │ │ ├── component-inherit@0.0.3
│ │ │ ├── debug@3.1.0 deduped
│ │ │ ├── engine.io-parser@2.2.1 deduped
│ │ │ ├── has-cors@1.1.0
│ │ │ ├── indexof@0.0.1 deduped
│ │ │ ├── parseqs@0.0.6 deduped
│ │ │ ├── parseuri@0.0.6 deduped
│ │ │ ├── ws@7.4.6 deduped
│ │ │ ├── xmlhttprequest-ssl@1.6.3
│ │ │ └── yeast@0.1.2
│ │ ├── has-binary2@1.0.3 deduped
│ │ ├── indexof@0.0.1
│ │ ├── parseqs@0.0.6
│ │ ├── parseuri@0.0.6
│ │ ├─┬ socket.io-parser@3.3.2
│ │ │ ├── component-emitter@1.3.0 deduped
│ │ │ ├── debug@3.1.0 deduped
│ │ │ └── isarray@2.0.1 deduped
│ │ └── to-array@0.1.4
│ └─┬ stream-throttle@0.1.3
│ ├── commander@2.20.3
│ └── limiter@1.1.5
├── bs-recipes@1.3.4
├── bs-snippet-injector@2.0.1
├─┬ chokidar@3.5.2
│ ├─┬ anymatch@3.1.2
│ │ ├── normalize-path@3.0.0 deduped
│ │ └── picomatch@2.3.0 deduped
│ ├─┬ braces@3.0.2
│ │ └─┬ fill-range@7.0.1
│ │ └─┬ to-regex-range@5.0.1
│ │ └── is-number@7.0.0
│ ├── fsevents@2.3.2
│ ├─┬ glob-parent@5.1.2
│ │ └── is-glob@4.0.3 deduped
│ ├─┬ is-binary-path@2.1.0
│ │ └── binary-extensions@2.2.0
│ ├─┬ is-glob@4.0.3
│ │ └── is-extglob@2.1.1
│ ├── normalize-path@3.0.0
│ └─┬ readdirp@3.6.0
│ └── picomatch@2.3.0 deduped
├─┬ connect@3.6.6
│ ├─┬ debug@2.6.9
│ │ └── ms@2.0.0 deduped
│ ├─┬ finalhandler@1.1.0
│ │ ├─┬ debug@2.6.9
│ │ │ └── ms@2.0.0 deduped
│ │ ├── encodeurl@1.0.2 deduped
│ │ ├── escape-html@1.0.3 deduped
│ │ ├── on-finished@2.3.0 deduped
│ │ ├── parseurl@1.3.3 deduped
│ │ ├── statuses@1.3.1
│ │ └── unpipe@1.0.0 deduped
│ ├── parseurl@1.3.3
│ └── utils-merge@1.0.1
├── connect-history-api-fallback@1.6.0
├── dev-ip@1.0.1
├─┬ easy-extender@2.3.4
│ └── lodash@4.17.21
├─┬ eazy-logger@3.1.0
│ └─┬ tfunk@4.0.0
│ ├─┬ chalk@1.1.3
│ │ ├── ansi-styles@2.2.1
│ │ ├── escape-string-regexp@1.0.5
│ │ ├─┬ has-ansi@2.0.0
│ │ │ └── ansi-regex@2.1.1
│ │ ├─┬ strip-ansi@3.0.1
│ │ │ └── ansi-regex@2.1.1 deduped
│ │ └── supports-color@2.0.0
│ └── dlv@1.1.3
├── etag@1.8.1
├── fresh@0.5.2
├─┬ fs-extra@3.0.1
│ ├── graceful-fs@4.2.8
│ ├─┬ jsonfile@3.0.1
│ │ └── graceful-fs@4.2.8 deduped
│ └── universalify@0.1.2
├─┬ http-proxy@1.18.1
│ ├── eventemitter3@4.0.7
│ ├── follow-redirects@1.14.4
│ └── requires-port@1.0.0
├── immutable@3.8.2
├─┬ localtunnel@2.0.2
│ ├─┬ axios@0.21.4
│ │ └── follow-redirects@1.14.4 deduped
│ ├─┬ debug@4.3.2
│ │ └── ms@2.1.2
│ ├── openurl@1.1.1
│ └─┬ yargs@17.1.1
│ ├─┬ cliui@7.0.4
│ │ ├── string-width@4.2.3 deduped
│ │ ├─┬ strip-ansi@6.0.1
│ │ │ └── ansi-regex@5.0.1
│ │ └─┬ wrap-ansi@7.0.0
│ │ ├─┬ ansi-styles@4.3.0
│ │ │ └── color-convert@2.0.1 deduped
│ │ ├── string-width@4.2.3 deduped
│ │ └─┬ strip-ansi@6.0.1
│ │ └── ansi-regex@5.0.1
│ ├── escalade@3.1.1
│ ├── get-caller-file@2.0.5 deduped
│ ├── require-directory@2.1.1 deduped
│ ├── string-width@4.2.3 deduped
│ ├── y18n@5.0.8
│ └── yargs-parser@20.2.9
├─┬ micromatch@4.0.4
│ ├── braces@3.0.2 deduped
│ └── picomatch@2.3.0
├─┬ opn@5.3.0
│ └── is-wsl@1.1.0
├─┬ portscanner@2.1.1
│ ├── async@1.5.2
│ └─┬ is-number-like@1.0.8
│ └── lodash.isfinite@3.3.2
├── qs@6.2.3
├─┬ raw-body@2.4.1
│ ├── bytes@3.1.0
│ ├─┬ http-errors@1.7.3
│ │ ├── depd@1.1.2 deduped
│ │ ├── inherits@2.0.4
│ │ ├── setprototypeof@1.1.1
│ │ ├── statuses@1.5.0
│ │ └── toidentifier@1.0.0
│ ├─┬ iconv-lite@0.4.24
│ │ └── safer-buffer@2.1.2
│ └── unpipe@1.0.0
├─┬ resp-modifier@6.0.2
│ ├─┬ debug@2.6.9
│ │ └── ms@2.0.0 deduped
│ └─┬ minimatch@3.0.4
│ └─┬ brace-expansion@1.1.11
│ ├── balanced-match@1.0.2
│ └── concat-map@0.0.1
├── rx@4.1.0
├─┬ send@0.16.2
│ ├─┬ debug@2.6.9
│ │ └── ms@2.0.0 deduped
│ ├── depd@1.1.2
│ ├── destroy@1.0.4
│ ├── encodeurl@1.0.2
│ ├── escape-html@1.0.3
│ ├── etag@1.8.1 deduped
│ ├── fresh@0.5.2 deduped
│ ├─┬ http-errors@1.6.3
│ │ ├── depd@1.1.2 deduped
│ │ ├── inherits@2.0.3
│ │ ├── setprototypeof@1.1.0
│ │ └── statuses@1.4.0 deduped
│ ├── mime@1.4.1
│ ├── ms@2.0.0
│ ├─┬ on-finished@2.3.0
│ │ └── ee-first@1.1.1
│ ├── range-parser@1.2.1
│ └── statuses@1.4.0
├─┬ serve-index@1.9.1
│ ├─┬ accepts@1.3.7
│ │ ├── mime-types@2.1.33 deduped
│ │ └── negotiator@0.6.2
│ ├── batch@0.6.1
│ ├─┬ debug@2.6.9
│ │ └── ms@2.0.0 deduped
│ ├── escape-html@1.0.3 deduped
│ ├─┬ http-errors@1.6.3
│ │ ├── depd@1.1.2 deduped
│ │ ├── inherits@2.0.3
│ │ ├── setprototypeof@1.1.0
│ │ └── statuses@1.5.0
│ ├─┬ mime-types@2.1.33
│ │ └── mime-db@1.50.0
│ └── parseurl@1.3.3 deduped
├─┬ serve-static@1.13.2
│ ├── encodeurl@1.0.2 deduped
│ ├── escape-html@1.0.3 deduped
│ ├── parseurl@1.3.3 deduped
│ └── send@0.16.2 deduped
├── server-destroy@1.0.1
├─┬ socket.io@2.4.0
│ ├─┬ debug@4.1.1
│ │ └── ms@2.1.3
│ ├─┬ engine.io@3.5.0
│ │ ├── accepts@1.3.7 deduped
│ │ ├── base64id@2.0.0
│ │ ├── cookie@0.4.1
│ │ ├─┬ debug@4.1.1
│ │ │ └── ms@2.1.3
│ │ ├─┬ engine.io-parser@2.2.1
│ │ │ ├── after@0.8.2
│ │ │ ├── arraybuffer.slice@0.0.7
│ │ │ ├── base64-arraybuffer@0.1.4
│ │ │ ├── blob@0.0.5
│ │ │ └── has-binary2@1.0.3 deduped
│ │ └── ws@7.4.6
│ ├─┬ has-binary2@1.0.3
│ │ └── isarray@2.0.1
│ ├── socket.io-adapter@1.1.2
│ ├── socket.io-client@2.4.0 deduped
│ └─┬ socket.io-parser@3.4.1
│ ├── component-emitter@1.2.1
│ ├── debug@4.1.1 deduped
│ └── isarray@2.0.1 deduped
├── ua-parser-js@0.7.28
└─┬ yargs@15.4.1
├─┬ cliui@6.0.0
│ ├── string-width@4.2.3 deduped
│ ├─┬ strip-ansi@6.0.1
│ │ └── ansi-regex@5.0.1
│ └─┬ wrap-ansi@6.2.0
│ ├─┬ ansi-styles@4.3.0
│ │ └─┬ color-convert@2.0.1
│ │ └── color-name@1.1.4
│ ├── string-width@4.2.3 deduped
│ └── strip-ansi@6.0.1 deduped
├── decamelize@1.2.0
├─┬ find-up@4.1.0
│ ├─┬ locate-path@5.0.0
│ │ └─┬ p-locate@4.1.0
│ │ └─┬ p-limit@2.3.0
│ │ └── p-try@2.2.0
│ └── path-exists@4.0.0
├── get-caller-file@2.0.5
├── require-directory@2.1.1
├── require-main-filename@2.0.0
├── set-blocking@2.0.0
├─┬ string-width@4.2.3
│ ├── emoji-regex@8.0.0
│ ├── is-fullwidth-code-point@3.0.0
│ └─┬ strip-ansi@6.0.1
│ └── ansi-regex@5.0.1
├── which-module@2.0.0
├── y18n@4.0.3
└─┬ yargs-parser@18.1.3
├── camelcase@5.3.1
└── decamelize@1.2.0 deduped
I can confirm that when trying to run the examples locally I also receive the following compile error:
Attempted import error: 'FramebufferTexture' is not exported from 'three' (imported as 'FramebufferTexture').
My steps were:
npx create-react-app uar-app --template @zappar/r3f-instant-tracking
cd uar-app
npm start
yes that's compiling error...is there a fix?
here's another example of error when adding zappar/three-fiber https://codesandbox.io/s/elegant-swanson-307hxp?file=/src/App.js:306-422
it's using:
"@react-three/drei": "8.10.3",
"@react-three/fiber": "7.0.26",
"three": "0.137.5"
"@zappar/zappar-react-three-fiber": "1.0.11",
and an error only occurs when I import zappar into the App.js file:
ModuleNotFoundError
Could not find module in path: 'loader-utils/lib/getOptions' relative to '/node_modules/loader-utils/lib/index.js'
to recreate issue:
1. Go to Code Sandbox link above
2. Go to App.js and uncomment out line 6, importing Zappar
I need to be able to use the most updated versions of R3F (7.0.26) and Drei, which don't seem to be compatible with Zappar-R3F at the moment
@nyan-left here is the error in more detail when pairing zappar with the most updated react-three-fiber package (forked from the codepen example above)
ERROR in ./node_modules/@zappar/zappar-react-three-fiber/node_modules/@react-three/drei/core/Stats.js 3:0-57
Module not found: Error: Package path ./examples/js/libs/stats.min is not exported from package /Users/taylerjohnson/code/r3f-shoe/node_modules/three (see exports field in /Users/taylerjohnson/code/r3f-shoe/node_modules/three/package.json)
@ ./node_modules/@zappar/zappar-react-three-fiber/node_modules/@react-three/drei/index.js 37:0-40 37:0-40
@ ./node_modules/@zappar/zappar-react-three-fiber/lib/Components/util/PlacementUI.js 45:13-41
@ ./node_modules/@zappar/zappar-react-three-fiber/lib/Components/trackers/InstantTrackerGroup.js 68:36-66
@ ./node_modules/@zappar/zappar-react-three-fiber/lib/index.js 91:28-80
@ ./src/App.js 14:0-116
@ ./src/index.js 7:0-24 9:38-41
package dependencies:
"dependencies": {
"@react-three/drei": "8.10.3",
"@react-three/fiber": "7.0.26",
"@zappar/zappar-react-three-fiber": "1.0.11",
"three": "0.137.5",
to recreate:
** if you remove zappar import in App.js line 6, the error goes away.
Thanks for the info, I shall update the issue once a fix is released 🙂
Thank you @nyan-left -- do you have a general timeline of when that could be? I'm looking to use Zappar for project but this is a roadblock... any estimate would be so very helpful!
Apologies for the delay, I'm currently OOO untill Wednesday, shall provide an estimate once back in.
In the meantime, could you perhaps try one of the "bootstrap" projects we have on GitHub?
@nyan-left same issues on all the R3F bootstrap projects on Github.
Okay re OOO...
These are the warnings when downloading packages.
warning " > @react-three/fiber@7.0.26" has incorrect peer dependency "three@>=0.133".
warning " > @zappar/zappar-react-three-fiber@1.0.11" has incorrect peer dependency "@react-three/fiber@6.0.10 - 7.0.7".
warning "@zappar/zappar-react-three-fiber > @react-three/drei > three-stdlib@2.8.8" has incorrect peer dependency "three@>=0.137.0".
warning "@zappar/zappar-react-three-fiber > @zappar/zappar-threejs > @zappar/zappar > @zappar/zappar-cv > worker-loader@3.0.5" has unmet peer dependency "webpack@^4.0.0 || ^5.0.0".
And these are the errors when compiling
Attempted import error: 'FramebufferTexture' is not exported from 'three' (imported as 'FramebufferTexture').
ERROR in ./node_modules/three-stdlib/objects/Lensflare.js 16:24-42
export 'FramebufferTexture' (imported as 'FramebufferTexture') was not found in 'three'
Hey @johnsontayler. Thanks for the info. In Deim’s absence I’ve escalated this internally to try and get you an answer as soon as possible.
Stay tuned!
Thank you @ketz!
Hi! I'm CTO here at Zappar - thought I'd just give you a quick update in @nyan-left's absence. We're working hard to support the latest version of @react-three/fiber but we're delayed by a regression with the latest three.js on iOS 15.4. We're looking for ways to work around the issue so should hopefully be able to fix this soon.
Thank you for the update @cgauld !
R3F isn't tied to a specific threejs version, you can stay on older versions if you cannot upgrade.
three-stdlib
is a dependency of Drei with a peer-dependency on three which is no good here since three doesn't use semver.
You can try overriding the installed version to something before the DataTexture => FrameBufferTexture refactor:
// package.json
{
"overrides": {
"three-stdlib": "2.8.0"
}
}
This should now be fixed with the latest release of @zappar/zappar-react-three
. The example/bootstrap projects have been updated alongside this release :)
Apologies for the wait!
Nice - thanks @nyan-left. And thank you @CodyJasonBennett! We've submitted a bug report to the three-stdlib project over here https://github.com/pmndrs/three-stdlib/issues/143. It looks like they've major-version-bumped for changes in peer dependencies in the past so it was maybe an oversight in this case. Unfortunately I'm not sure it's possible for them to retroactively address it but your overrides
suggestion is a great workaround :-)
Describe the bug None of the React Three Fiber examples are running locally. This is the console error when starting the Instant Tracking Cube:
And in VS Code, the terminal is stuck at this output: "Files successfully emitted, waiting for typecheck results..."
link to repo: https://github.com/johnsontayler/test-zappar-r3f
It builds without errors though...
To Reproduce Steps to reproduce the behavior:
Screenshots
Desktop (please complete the following information):