Latrasis / linter-solidity

Atom Linter support for Solidity
Other
27 stars 10 forks source link

Failed to load the linter-solidity package #2

Closed jgostylo closed 8 years ago

jgostylo commented 8 years ago

[Enter steps to reproduce below:]

Just starting Atom with the linter freshly installed:

Atom Version: 1.8.0 System: Mac OS X 10.10.5 Thrown From: linter-solidity package, v0.2.0

Stack Trace

Failed to load the linter-solidity package

At soljson.cwrap is not a function

TypeError: soljson.cwrap is not a function
  at setupMethods (/Users/aaaaaaa/.atom/packages/linter-solidity/node_modules/solc/wrapper.js:6:29)
  at Object.<anonymous> (/Users/aaaaaaa/.atom/packages/linter-solidity/node_modules/solc/index.js:3:18)
  at Module._compile (/Applications/Atom.app/Contents/Resources/app.asar/src/native-compile-cache.js:103:30)
  at Object.defineProperty.value [as .js] (/Applications/Atom.app/Contents/Resources/app.asar/src/compile-cache.js:208:21)
  at Module.load (module.js:356:32)
  at Function.Module._load (module.js:313:12)
  at Module.require (module.js:366:17)
  at require (/Applications/Atom.app/Contents/Resources/app.asar/src/native-compile-cache.js:50:27)
  at Object.<anonymous> (/Users/aaaaaaa/.atom/packages/linter-solidity/lib/linter.js:9:13)
  at Module._compile (/Applications/Atom.app/Contents/Resources/app.asar/src/native-compile-cache.js:103:30)
  at Object.defineProperty.value [as .js] (/Applications/Atom.app/Contents/Resources/app.asar/src/compile-cache.js:208:21)
  at Module.load (module.js:356:32)
  at Function.Module._load (module.js:313:12)
  at Module.require (module.js:366:17)
  at require (/Applications/Atom.app/Contents/Resources/app.asar/src/native-compile-cache.js:50:27)
  at Package.module.exports.Package.requireMainModule (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:715:27)
  at /Applications/Atom.app/Contents/Resources/app.asar/src/package.js:117:28
  at Package.module.exports.Package.measure (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:92:15)
  at Package.module.exports.Package.load (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:106:12)
  at PackageManager.module.exports.PackageManager.loadPackage (/Applications/Atom.app/Contents/Resources/app.asar/src/package-manager.js:457:14)
  at /Applications/Atom.app/Contents/Resources/app.asar/src/package-manager.js:402:19
  at Config.module.exports.Config.transact (/Applications/Atom.app/Contents/Resources/app.asar/src/config.js:312:16)
  at PackageManager.module.exports.PackageManager.loadPackages (/Applications/Atom.app/Contents/Resources/app.asar/src/package-manager.js:397:19)
  at /Applications/Atom.app/Contents/Resources/app.asar/src/atom-environment.js:743:28

Commands

Config

{
  "core": {}
}

Installed Packages

# User
linter, v1.11.10
linter-solidity, v0.2.0

# Dev
No dev packages
Antanukas commented 8 years ago

For some reason when running in atom node_modules/solc/soljson.js file assumes it is being run in non Nodejs environment:

var ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER

quick workaround ENVIRONMENT_IS_NODE=true solves this issue in atom

PiDelport commented 8 years ago

These may be related:

Latrasis commented 8 years ago

@Antanukas: Sounds like the best solution. My previous workthrough was defining var Module = {'ENVIRONMENT': 'NODE'};, but it seems like it doesn't work anymore.

Latrasis commented 8 years ago

Fixed at: https://github.com/Latrasis/linter-solidity/commit/6b421adb0bf11d5d74f817c9808808e5e12aabe5