title: Why does the solidity compiler throw a parse error on import statements? What's the workaround?
body: <p>I used npm install to install my node package dependencies. My node package dependencies look like the following:</p>
  
  <pre><code>  "dependencies": {
      "blockcypher": "^0.2.0",
      "fs-extra": "^7.0.1",
      "ganache-cli": "^6.2.4",
      "mocha": "^5.2.0",
      "openzeppelin-solidity": "^2.0.0",
      "solc": "^0.4.24"
    }
  </code></pre>
  
  <p>When I run the following compile script using node I get the following error within EVERY contract that has an import statement that references dependency in my node_modules.</p>
  
  <p>I'm using Solidity Version: ^0.4.24</p>
  
  <blockquote>
    <p>Solidity Error: ParseError: Source
    "node_modules/openzeppelin-solidity/ect.." not found</p>
  </blockquote>
  
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-js lang-js prettyprint-override"><code>const path = require("path"); //Delete all the contents in the build folder
  const solc = require("solc"); //solidity compiler
  const fs = require("fs-extra"); // Gives us access to the file system
  
  //Require The Import Statements From The Contract
  // import "node_modules/openzeppelin-solidity/contracts/token/ERC20/ERC20.sol";
  // import "node_modules/openzeppelin-solidity/contracts/ownership/Ownable.sol";
  // import "node_modules/openzeppelin-solidity/contracts/token/ERC20/IERC20.sol";
  
  //var data = require("node_modules/openzeppelin-solidity/contracts/token/ERC20/ERC20.json");
  //How do I use this?
  
  const buildPath = path.resolve(__dirname, "build");
  fs.removeSync(buildPath);
  
  const campainPath = path.resolve(__dirname, "Contract.sol");
  // const campainPath = path.resolve(__dirname, "contracts", "Esgro.sol");
  const source = fs.readFileSync(campainPath, "utf8");
  
  console.log("\n\n\t Compilation Output \n\n\n");
  console.log(solc.compile(source, 1));
  const output = solc.compile(source, 1).contracts; //Internal Error
  console.log("\n\n\t Compilation Output \n\n\n");
  console.log(output);
  
  fs.ensureDirSync(buildPath);
  
  for (let contract in output) {
    // fs.outputJsonSync(
    //   path.resolve(buildPath, contract.replace(":"", "") + ".json"),
    //   output[contract]
    // );
  
    console.log("\n\n\t output[contract] \n\n\n");
    console.log(output[contract]);
  
    fs.outputJsonSync(path.resolve(buildPath, contract), output[contract]);
  }
  
  //Compile both contracts with the solc compiler
  
  //Write the output to the build directory</code></pre>
  </div>
  </div>
  </p>
  
  <p>How do you get the compiler to "connect" with the third party dependencies on a local machine? Any help or pointers would be greatly appreciated.</p>