dapphub / dapple

EVM contract system developer multitool
GNU General Public License v3.0
298 stars 59 forks source link

TypeError: Cannot read property 'ignore' of undefined #228

Open jorisbontje opened 8 years ago

jorisbontje commented 8 years ago

trying to trigger dapple with a npm post-install hook (for Heroku deployment), I get the following stack trace:

$ npm install

> Maker-OTC@ postinstall /Users/mids/tmp/maker-otc/app
> cd .. && dapple build --template meteor --no-deploy-data

Building...
/Users/mids/tmp/maker-otc/app/node_modules/solc/bin/soljson-latest.js:1
(function (exports, require, module, __filename, __dirname) { var Module;if(!Module)Module=(typeof Module!=="undefined"?Module:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=typeof window==="object";var ENVIRONMENT_IS_WORKER=typeof importScripts==="function";var ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=function print(x){process["stdout"].write(x+"\n")};if(!Module["printErr"])Module["printErr"]=function printErr(x){process["stderr"].write(x+"\n")};var nodeFS=require("fs");var nodePath=require("path");Module["read"]=function read(filename,binary){filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](

TypeError: Cannot read property 'ignore' of undefined
    at Workspace.getIgnoreGlobs (/Users/mids/tmp/maker-otc/app/node_modules/dapple/lib/workspace.js:258:56)
    at getSourcePatterns (/Users/mids/tmp/maker-otc/app/node_modules/dapple/lib/streams/package_stream.js:31:32)
    at DestroyableTransform._flush (/Users/mids/tmp/maker-otc/app/node_modules/dapple/lib/streams/package_stream.js:47:20)
    at DestroyableTransform.<anonymous> (/Users/mids/tmp/maker-otc/app/node_modules/readable-stream/lib/_stream_transform.js:115:49)
    at DestroyableTransform.g (events.js:273:16)
    at emitNone (events.js:80:13)
    at DestroyableTransform.emit (events.js:179:7)
    at prefinish (/Users/mids/tmp/maker-otc/app/node_modules/readable-stream/lib/_stream_writable.js:465:12)
    at finishMaybe (/Users/mids/tmp/maker-otc/app/node_modules/readable-stream/lib/_stream_writable.js:473:7)
    at endWritable (/Users/mids/tmp/maker-otc/app/node_modules/readable-stream/lib/_stream_writable.js:485:3)

the package.json contains:

{
  "name": "Maker-OTC",
  "scripts" : {
    "postinstall": "cd .. && dapple build --template meteor --no-deploy-data"
  },
  "devDependencies": {
    "dapple": "nexusdev/dapple#55e2f8cbeb4a0df6abbd793733ffb4967d19f363"
  }
}
ghost commented 8 years ago

Totally mysterious to me. Cannot duplicate and cannot seem to figure out how you'd trigger that error. Any luck with Dapple at commit 5fbafee2177593f32feecc65df88bb0a462ccf37 ?

jorisbontje commented 8 years ago

To reproduce on a vanilla ubuntu:15.10 docker container with:

apt update
apt install -y curl
curl -sL https://deb.nodesource.com/setup_5.x | bash
apt install -y nodejs git build-essential python
cd $HOME
echo -e 'environments:\n  evm: default' > .dapplerc
git clone https://github.com/makerdao/maker-otc
cd maker-otc/
git submodule update --init --recursive
echo -e '{"scripts": {"postinstall": "dapple build --template meteor --no-deploy-data"},"devDependencies": {"dapple": "0.7.1"}}' > package.json
npm install --unsafe-perm
hellwolf commented 8 years ago

I hit the same problem today, it is because "node_module" is under the same directory of dapplefile. When you run dapple test, it will try to include node_modules/dapple/test/_fixtures/testenv/empty_package/dappfile, which is an empty "YML" file.

I haven't found a good workaround, and I was hoping dapplefile ignore field could help to add node_modules to ignore directory...

mhhf commented 8 years ago

@ryepdx thoughts on this? ^

jorisbontje commented 7 years ago

with solidity 0.4.1 and dapple 0.8.0 running dapple test against https://github.com/makerdao/token-auction:

$ dapple test
WARN: you seem to have no chain named default!
WARN: you seem to have no chain named morden!
WARN: you seem to have no chain named live!
Testing...
/Users/mids/.node/lib/node_modules/dapple/node_modules/solc/soljson.js:1
(function (exports, require, module, __filename, __dirname) { var Module;if(!Module)Module=(typeof Module!=="undefined"?Module:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=typeof window==="object";var ENVIRONMENT_IS_WORKER=typeof importScripts==="function";var ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=function print(x){process["stdout"].write(x+"\n")};if(!Module["printErr"])Module["printErr"]=function printErr(x){process["stderr"].write(x+"\n")};var nodeFS=require("fs");var nodePath=require("path");Module["read"]=function read(filename,binary){filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"]

TypeError: Cannot read property 'indexOf' of undefined
    at _.map (/Users/mids/.node/lib/node_modules/dapple/node_modules/dapple-core/export.js:16:30)
    at /Users/mids/.node/lib/node_modules/dapple/node_modules/lodash/lodash.js:3506:27
    at /Users/mids/.node/lib/node_modules/dapple/node_modules/lodash/lodash.js:4880:15
    at baseForOwn (/Users/mids/.node/lib/node_modules/dapple/node_modules/lodash/lodash.js:2966:24)
    at /Users/mids/.node/lib/node_modules/dapple/node_modules/lodash/lodash.js:4849:18
    at baseMap (/Users/mids/.node/lib/node_modules/dapple/node_modules/lodash/lodash.js:3505:7)
    at Function.map (/Users/mids/.node/lib/node_modules/dapple/node_modules/lodash/lodash.js:9468:14)
    at _.uniq._.flatten._.map.env (/Users/mids/.node/lib/node_modules/dapple/node_modules/dapple-core/export.js:15:11)
    at /Users/mids/.node/lib/node_modules/dapple/node_modules/lodash/lodash.js:3506:27
    at /Users/mids/.node/lib/node_modules/dapple/node_modules/lodash/lodash.js:4880:15