diff --git a/app/common/src/main/scala/io/scalajs/nodejs/Assert.scala b/app/current/src/main/scala/io/scalajs/nodejs/Assert.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/Assert.scala rename to app/current/src/main/scala/io/scalajs/nodejs/Assert.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/Console.scala b/app/current/src/main/scala/io/scalajs/nodejs/Console.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/Console.scala rename to app/current/src/main/scala/io/scalajs/nodejs/Console.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/Error.scala b/app/current/src/main/scala/io/scalajs/nodejs/Error.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/Error.scala rename to app/current/src/main/scala/io/scalajs/nodejs/Error.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/Global.scala b/app/current/src/main/scala/io/scalajs/nodejs/Global.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/Global.scala rename to app/current/src/main/scala/io/scalajs/nodejs/Global.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/Module.scala b/app/current/src/main/scala/io/scalajs/nodejs/Module.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/Module.scala rename to app/current/src/main/scala/io/scalajs/nodejs/Module.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/Process.scala b/app/current/src/main/scala/io/scalajs/nodejs/Process.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/Process.scala rename to app/current/src/main/scala/io/scalajs/nodejs/Process.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/StringDecoder.scala b/app/current/src/main/scala/io/scalajs/nodejs/StringDecoder.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/StringDecoder.scala rename to app/current/src/main/scala/io/scalajs/nodejs/StringDecoder.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/SystemError.scala b/app/current/src/main/scala/io/scalajs/nodejs/SystemError.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/SystemError.scala rename to app/current/src/main/scala/io/scalajs/nodejs/SystemError.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/buffer/Buffer.scala b/app/current/src/main/scala/io/scalajs/nodejs/buffer/Buffer.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/buffer/Buffer.scala rename to app/current/src/main/scala/io/scalajs/nodejs/buffer/Buffer.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/buffer/SlowBuffer.scala b/app/current/src/main/scala/io/scalajs/nodejs/buffer/SlowBuffer.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/buffer/SlowBuffer.scala rename to app/current/src/main/scala/io/scalajs/nodejs/buffer/SlowBuffer.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/buffer/package.scala b/app/current/src/main/scala/io/scalajs/nodejs/buffer/package.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/buffer/package.scala rename to app/current/src/main/scala/io/scalajs/nodejs/buffer/package.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/child_process/ChildProcess.scala b/app/current/src/main/scala/io/scalajs/nodejs/child_process/ChildProcess.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/child_process/ChildProcess.scala rename to app/current/src/main/scala/io/scalajs/nodejs/child_process/ChildProcess.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/child_process/ExecOptions.scala b/app/current/src/main/scala/io/scalajs/nodejs/child_process/ExecOptions.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/child_process/ExecOptions.scala rename to app/current/src/main/scala/io/scalajs/nodejs/child_process/ExecOptions.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/child_process/ForkOptions.scala b/app/current/src/main/scala/io/scalajs/nodejs/child_process/ForkOptions.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/child_process/ForkOptions.scala rename to app/current/src/main/scala/io/scalajs/nodejs/child_process/ForkOptions.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/child_process/SpawnOptions.scala b/app/current/src/main/scala/io/scalajs/nodejs/child_process/SpawnOptions.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/child_process/SpawnOptions.scala rename to app/current/src/main/scala/io/scalajs/nodejs/child_process/SpawnOptions.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/child_process/SpawnResult.scala b/app/current/src/main/scala/io/scalajs/nodejs/child_process/SpawnResult.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/child_process/SpawnResult.scala rename to app/current/src/main/scala/io/scalajs/nodejs/child_process/SpawnResult.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/child_process/package.scala b/app/current/src/main/scala/io/scalajs/nodejs/child_process/package.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/child_process/package.scala rename to app/current/src/main/scala/io/scalajs/nodejs/child_process/package.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/cluster/Address.scala b/app/current/src/main/scala/io/scalajs/nodejs/cluster/Address.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/cluster/Address.scala rename to app/current/src/main/scala/io/scalajs/nodejs/cluster/Address.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/cluster/Cluster.scala b/app/current/src/main/scala/io/scalajs/nodejs/cluster/Cluster.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/cluster/Cluster.scala rename to app/current/src/main/scala/io/scalajs/nodejs/cluster/Cluster.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/cluster/ClusterSettings.scala b/app/current/src/main/scala/io/scalajs/nodejs/cluster/ClusterSettings.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/cluster/ClusterSettings.scala rename to app/current/src/main/scala/io/scalajs/nodejs/cluster/ClusterSettings.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/cluster/Worker.scala b/app/current/src/main/scala/io/scalajs/nodejs/cluster/Worker.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/cluster/Worker.scala rename to app/current/src/main/scala/io/scalajs/nodejs/cluster/Worker.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/cluster/package.scala b/app/current/src/main/scala/io/scalajs/nodejs/cluster/package.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/cluster/package.scala rename to app/current/src/main/scala/io/scalajs/nodejs/cluster/package.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/crypto/Cipher.scala b/app/current/src/main/scala/io/scalajs/nodejs/crypto/Cipher.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/crypto/Cipher.scala rename to app/current/src/main/scala/io/scalajs/nodejs/crypto/Cipher.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/crypto/Crypto.scala b/app/current/src/main/scala/io/scalajs/nodejs/crypto/Crypto.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/crypto/Crypto.scala rename to app/current/src/main/scala/io/scalajs/nodejs/crypto/Crypto.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/crypto/Decipher.scala b/app/current/src/main/scala/io/scalajs/nodejs/crypto/Decipher.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/crypto/Decipher.scala rename to app/current/src/main/scala/io/scalajs/nodejs/crypto/Decipher.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/crypto/Hash.scala b/app/current/src/main/scala/io/scalajs/nodejs/crypto/Hash.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/crypto/Hash.scala rename to app/current/src/main/scala/io/scalajs/nodejs/crypto/Hash.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/crypto/Hmac.scala b/app/current/src/main/scala/io/scalajs/nodejs/crypto/Hmac.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/crypto/Hmac.scala rename to app/current/src/main/scala/io/scalajs/nodejs/crypto/Hmac.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/crypto/Sign.scala b/app/current/src/main/scala/io/scalajs/nodejs/crypto/Sign.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/crypto/Sign.scala rename to app/current/src/main/scala/io/scalajs/nodejs/crypto/Sign.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/crypto/Verify.scala b/app/current/src/main/scala/io/scalajs/nodejs/crypto/Verify.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/crypto/Verify.scala rename to app/current/src/main/scala/io/scalajs/nodejs/crypto/Verify.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/dgram/Socket.scala b/app/current/src/main/scala/io/scalajs/nodejs/dgram/Socket.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/dgram/Socket.scala rename to app/current/src/main/scala/io/scalajs/nodejs/dgram/Socket.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/dns/DNS.scala b/app/current/src/main/scala/io/scalajs/nodejs/dns/DNS.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/dns/DNS.scala rename to app/current/src/main/scala/io/scalajs/nodejs/dns/DNS.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/dns/DnsOptions.scala b/app/current/src/main/scala/io/scalajs/nodejs/dns/DnsOptions.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/dns/DnsOptions.scala rename to app/current/src/main/scala/io/scalajs/nodejs/dns/DnsOptions.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/dns/MX.scala b/app/current/src/main/scala/io/scalajs/nodejs/dns/MX.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/dns/MX.scala rename to app/current/src/main/scala/io/scalajs/nodejs/dns/MX.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/dns/NAPTR.scala b/app/current/src/main/scala/io/scalajs/nodejs/dns/NAPTR.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/dns/NAPTR.scala rename to app/current/src/main/scala/io/scalajs/nodejs/dns/NAPTR.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/dns/SOA.scala b/app/current/src/main/scala/io/scalajs/nodejs/dns/SOA.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/dns/SOA.scala rename to app/current/src/main/scala/io/scalajs/nodejs/dns/SOA.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/dns/SRV.scala b/app/current/src/main/scala/io/scalajs/nodejs/dns/SRV.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/dns/SRV.scala rename to app/current/src/main/scala/io/scalajs/nodejs/dns/SRV.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/dns/package.scala b/app/current/src/main/scala/io/scalajs/nodejs/dns/package.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/dns/package.scala rename to app/current/src/main/scala/io/scalajs/nodejs/dns/package.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/events/EventEmitter.scala b/app/current/src/main/scala/io/scalajs/nodejs/events/EventEmitter.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/events/EventEmitter.scala rename to app/current/src/main/scala/io/scalajs/nodejs/events/EventEmitter.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/fs/FSConstants.scala b/app/current/src/main/scala/io/scalajs/nodejs/fs/FSConstants.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/fs/FSConstants.scala rename to app/current/src/main/scala/io/scalajs/nodejs/fs/FSConstants.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/fs/FSWatcher.scala b/app/current/src/main/scala/io/scalajs/nodejs/fs/FSWatcher.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/fs/FSWatcher.scala rename to app/current/src/main/scala/io/scalajs/nodejs/fs/FSWatcher.scala diff --git a/app/nodejs_v8/src/main/scala/io/scalajs/nodejs/fs/Fs.scala b/app/current/src/main/scala/io/scalajs/nodejs/fs/Fs.scala similarity index 100% rename from app/nodejs_v8/src/main/scala/io/scalajs/nodejs/fs/Fs.scala rename to app/current/src/main/scala/io/scalajs/nodejs/fs/Fs.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/fs/ReadStream.scala b/app/current/src/main/scala/io/scalajs/nodejs/fs/ReadStream.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/fs/ReadStream.scala rename to app/current/src/main/scala/io/scalajs/nodejs/fs/ReadStream.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/fs/Stats.scala b/app/current/src/main/scala/io/scalajs/nodejs/fs/Stats.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/fs/Stats.scala rename to app/current/src/main/scala/io/scalajs/nodejs/fs/Stats.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/fs/WriteStream.scala b/app/current/src/main/scala/io/scalajs/nodejs/fs/WriteStream.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/fs/WriteStream.scala rename to app/current/src/main/scala/io/scalajs/nodejs/fs/WriteStream.scala diff --git a/app/nodejs_v8/src/main/scala/io/scalajs/nodejs/fs/package.scala b/app/current/src/main/scala/io/scalajs/nodejs/fs/package.scala similarity index 100% rename from app/nodejs_v8/src/main/scala/io/scalajs/nodejs/fs/package.scala rename to app/current/src/main/scala/io/scalajs/nodejs/fs/package.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/http/Agent.scala b/app/current/src/main/scala/io/scalajs/nodejs/http/Agent.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/http/Agent.scala rename to app/current/src/main/scala/io/scalajs/nodejs/http/Agent.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/http/Client.scala b/app/current/src/main/scala/io/scalajs/nodejs/http/Client.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/http/Client.scala rename to app/current/src/main/scala/io/scalajs/nodejs/http/Client.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/http/ClientRequest.scala b/app/current/src/main/scala/io/scalajs/nodejs/http/ClientRequest.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/http/ClientRequest.scala rename to app/current/src/main/scala/io/scalajs/nodejs/http/ClientRequest.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/http/ConnectionOptions.scala b/app/current/src/main/scala/io/scalajs/nodejs/http/ConnectionOptions.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/http/ConnectionOptions.scala rename to app/current/src/main/scala/io/scalajs/nodejs/http/ConnectionOptions.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/http/Http.scala b/app/current/src/main/scala/io/scalajs/nodejs/http/Http.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/http/Http.scala rename to app/current/src/main/scala/io/scalajs/nodejs/http/Http.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/http/IncomingMessage.scala b/app/current/src/main/scala/io/scalajs/nodejs/http/IncomingMessage.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/http/IncomingMessage.scala rename to app/current/src/main/scala/io/scalajs/nodejs/http/IncomingMessage.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/http/OutgoingMessage.scala b/app/current/src/main/scala/io/scalajs/nodejs/http/OutgoingMessage.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/http/OutgoingMessage.scala rename to app/current/src/main/scala/io/scalajs/nodejs/http/OutgoingMessage.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/http/RequestOptions.scala b/app/current/src/main/scala/io/scalajs/nodejs/http/RequestOptions.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/http/RequestOptions.scala rename to app/current/src/main/scala/io/scalajs/nodejs/http/RequestOptions.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/http/Server.scala b/app/current/src/main/scala/io/scalajs/nodejs/http/Server.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/http/Server.scala rename to app/current/src/main/scala/io/scalajs/nodejs/http/Server.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/http/ServerResponse.scala b/app/current/src/main/scala/io/scalajs/nodejs/http/ServerResponse.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/http/ServerResponse.scala rename to app/current/src/main/scala/io/scalajs/nodejs/http/ServerResponse.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/http/package.scala b/app/current/src/main/scala/io/scalajs/nodejs/http/package.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/http/package.scala rename to app/current/src/main/scala/io/scalajs/nodejs/http/package.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/https/Agent.scala b/app/current/src/main/scala/io/scalajs/nodejs/https/Agent.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/https/Agent.scala rename to app/current/src/main/scala/io/scalajs/nodejs/https/Agent.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/https/Https.scala b/app/current/src/main/scala/io/scalajs/nodejs/https/Https.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/https/Https.scala rename to app/current/src/main/scala/io/scalajs/nodejs/https/Https.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/https/Server.scala b/app/current/src/main/scala/io/scalajs/nodejs/https/Server.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/https/Server.scala rename to app/current/src/main/scala/io/scalajs/nodejs/https/Server.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/https/ServerOptions.scala b/app/current/src/main/scala/io/scalajs/nodejs/https/ServerOptions.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/https/ServerOptions.scala rename to app/current/src/main/scala/io/scalajs/nodejs/https/ServerOptions.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/https/package.scala b/app/current/src/main/scala/io/scalajs/nodejs/https/package.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/https/package.scala rename to app/current/src/main/scala/io/scalajs/nodejs/https/package.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/net/Address.scala b/app/current/src/main/scala/io/scalajs/nodejs/net/Address.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/net/Address.scala rename to app/current/src/main/scala/io/scalajs/nodejs/net/Address.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/net/ConnectOptions.scala b/app/current/src/main/scala/io/scalajs/nodejs/net/ConnectOptions.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/net/ConnectOptions.scala rename to app/current/src/main/scala/io/scalajs/nodejs/net/ConnectOptions.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/net/ListenerOptions.scala b/app/current/src/main/scala/io/scalajs/nodejs/net/ListenerOptions.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/net/ListenerOptions.scala rename to app/current/src/main/scala/io/scalajs/nodejs/net/ListenerOptions.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/net/Net.scala b/app/current/src/main/scala/io/scalajs/nodejs/net/Net.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/net/Net.scala rename to app/current/src/main/scala/io/scalajs/nodejs/net/Net.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/net/Server.scala b/app/current/src/main/scala/io/scalajs/nodejs/net/Server.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/net/Server.scala rename to app/current/src/main/scala/io/scalajs/nodejs/net/Server.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/net/Socket.scala b/app/current/src/main/scala/io/scalajs/nodejs/net/Socket.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/net/Socket.scala rename to app/current/src/main/scala/io/scalajs/nodejs/net/Socket.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/net/package.scala b/app/current/src/main/scala/io/scalajs/nodejs/net/package.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/net/package.scala rename to app/current/src/main/scala/io/scalajs/nodejs/net/package.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/os/CPUInfo.scala b/app/current/src/main/scala/io/scalajs/nodejs/os/CPUInfo.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/os/CPUInfo.scala rename to app/current/src/main/scala/io/scalajs/nodejs/os/CPUInfo.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/os/CPUTime.scala b/app/current/src/main/scala/io/scalajs/nodejs/os/CPUTime.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/os/CPUTime.scala rename to app/current/src/main/scala/io/scalajs/nodejs/os/CPUTime.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/os/NetworkInterface.scala b/app/current/src/main/scala/io/scalajs/nodejs/os/NetworkInterface.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/os/NetworkInterface.scala rename to app/current/src/main/scala/io/scalajs/nodejs/os/NetworkInterface.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/os/OS.scala b/app/current/src/main/scala/io/scalajs/nodejs/os/OS.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/os/OS.scala rename to app/current/src/main/scala/io/scalajs/nodejs/os/OS.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/os/UserInfoObject.scala b/app/current/src/main/scala/io/scalajs/nodejs/os/UserInfoObject.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/os/UserInfoObject.scala rename to app/current/src/main/scala/io/scalajs/nodejs/os/UserInfoObject.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/os/UserInfoOptions.scala b/app/current/src/main/scala/io/scalajs/nodejs/os/UserInfoOptions.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/os/UserInfoOptions.scala rename to app/current/src/main/scala/io/scalajs/nodejs/os/UserInfoOptions.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/os/package.scala b/app/current/src/main/scala/io/scalajs/nodejs/os/package.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/os/package.scala rename to app/current/src/main/scala/io/scalajs/nodejs/os/package.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/package.scala b/app/current/src/main/scala/io/scalajs/nodejs/package.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/package.scala rename to app/current/src/main/scala/io/scalajs/nodejs/package.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/path/Path.scala b/app/current/src/main/scala/io/scalajs/nodejs/path/Path.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/path/Path.scala rename to app/current/src/main/scala/io/scalajs/nodejs/path/Path.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/path/PathObject.scala b/app/current/src/main/scala/io/scalajs/nodejs/path/PathObject.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/path/PathObject.scala rename to app/current/src/main/scala/io/scalajs/nodejs/path/PathObject.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/punycode/Punycode.scala b/app/current/src/main/scala/io/scalajs/nodejs/punycode/Punycode.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/punycode/Punycode.scala rename to app/current/src/main/scala/io/scalajs/nodejs/punycode/Punycode.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/querystring/QueryDecodeOptions.scala b/app/current/src/main/scala/io/scalajs/nodejs/querystring/QueryDecodeOptions.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/querystring/QueryDecodeOptions.scala rename to app/current/src/main/scala/io/scalajs/nodejs/querystring/QueryDecodeOptions.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/querystring/QueryEncodeOptions.scala b/app/current/src/main/scala/io/scalajs/nodejs/querystring/QueryEncodeOptions.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/querystring/QueryEncodeOptions.scala rename to app/current/src/main/scala/io/scalajs/nodejs/querystring/QueryEncodeOptions.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/querystring/QueryString.scala b/app/current/src/main/scala/io/scalajs/nodejs/querystring/QueryString.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/querystring/QueryString.scala rename to app/current/src/main/scala/io/scalajs/nodejs/querystring/QueryString.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/querystring/package.scala b/app/current/src/main/scala/io/scalajs/nodejs/querystring/package.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/querystring/package.scala rename to app/current/src/main/scala/io/scalajs/nodejs/querystring/package.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/readline/Interface.scala b/app/current/src/main/scala/io/scalajs/nodejs/readline/Interface.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/readline/Interface.scala rename to app/current/src/main/scala/io/scalajs/nodejs/readline/Interface.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/readline/Readline.scala b/app/current/src/main/scala/io/scalajs/nodejs/readline/Readline.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/readline/Readline.scala rename to app/current/src/main/scala/io/scalajs/nodejs/readline/Readline.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/readline/ReadlineOptions.scala b/app/current/src/main/scala/io/scalajs/nodejs/readline/ReadlineOptions.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/readline/ReadlineOptions.scala rename to app/current/src/main/scala/io/scalajs/nodejs/readline/ReadlineOptions.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/repl/REPL.scala b/app/current/src/main/scala/io/scalajs/nodejs/repl/REPL.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/repl/REPL.scala rename to app/current/src/main/scala/io/scalajs/nodejs/repl/REPL.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/repl/REPLOptions.scala b/app/current/src/main/scala/io/scalajs/nodejs/repl/REPLOptions.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/repl/REPLOptions.scala rename to app/current/src/main/scala/io/scalajs/nodejs/repl/REPLOptions.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/repl/REPLServer.scala b/app/current/src/main/scala/io/scalajs/nodejs/repl/REPLServer.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/repl/REPLServer.scala rename to app/current/src/main/scala/io/scalajs/nodejs/repl/REPLServer.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/repl/package.scala b/app/current/src/main/scala/io/scalajs/nodejs/repl/package.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/repl/package.scala rename to app/current/src/main/scala/io/scalajs/nodejs/repl/package.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/stream/Duplex.scala b/app/current/src/main/scala/io/scalajs/nodejs/stream/Duplex.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/stream/Duplex.scala rename to app/current/src/main/scala/io/scalajs/nodejs/stream/Duplex.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/stream/PassThrough.scala b/app/current/src/main/scala/io/scalajs/nodejs/stream/PassThrough.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/stream/PassThrough.scala rename to app/current/src/main/scala/io/scalajs/nodejs/stream/PassThrough.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/stream/Readable.scala b/app/current/src/main/scala/io/scalajs/nodejs/stream/Readable.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/stream/Readable.scala rename to app/current/src/main/scala/io/scalajs/nodejs/stream/Readable.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/stream/Transform.scala b/app/current/src/main/scala/io/scalajs/nodejs/stream/Transform.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/stream/Transform.scala rename to app/current/src/main/scala/io/scalajs/nodejs/stream/Transform.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/stream/Writable.scala b/app/current/src/main/scala/io/scalajs/nodejs/stream/Writable.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/stream/Writable.scala rename to app/current/src/main/scala/io/scalajs/nodejs/stream/Writable.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/timers/ClearImmediate.scala b/app/current/src/main/scala/io/scalajs/nodejs/timers/ClearImmediate.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/timers/ClearImmediate.scala rename to app/current/src/main/scala/io/scalajs/nodejs/timers/ClearImmediate.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/timers/ClearInterval.scala b/app/current/src/main/scala/io/scalajs/nodejs/timers/ClearInterval.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/timers/ClearInterval.scala rename to app/current/src/main/scala/io/scalajs/nodejs/timers/ClearInterval.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/timers/ClearTimeout.scala b/app/current/src/main/scala/io/scalajs/nodejs/timers/ClearTimeout.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/timers/ClearTimeout.scala rename to app/current/src/main/scala/io/scalajs/nodejs/timers/ClearTimeout.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/timers/Immediate.scala b/app/current/src/main/scala/io/scalajs/nodejs/timers/Immediate.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/timers/Immediate.scala rename to app/current/src/main/scala/io/scalajs/nodejs/timers/Immediate.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/timers/Interval.scala b/app/current/src/main/scala/io/scalajs/nodejs/timers/Interval.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/timers/Interval.scala rename to app/current/src/main/scala/io/scalajs/nodejs/timers/Interval.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/timers/Ref.scala b/app/current/src/main/scala/io/scalajs/nodejs/timers/Ref.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/timers/Ref.scala rename to app/current/src/main/scala/io/scalajs/nodejs/timers/Ref.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/timers/SetImmediate.scala b/app/current/src/main/scala/io/scalajs/nodejs/timers/SetImmediate.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/timers/SetImmediate.scala rename to app/current/src/main/scala/io/scalajs/nodejs/timers/SetImmediate.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/timers/SetInterval.scala b/app/current/src/main/scala/io/scalajs/nodejs/timers/SetInterval.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/timers/SetInterval.scala rename to app/current/src/main/scala/io/scalajs/nodejs/timers/SetInterval.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/timers/SetTimeout.scala b/app/current/src/main/scala/io/scalajs/nodejs/timers/SetTimeout.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/timers/SetTimeout.scala rename to app/current/src/main/scala/io/scalajs/nodejs/timers/SetTimeout.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/timers/Timeout.scala b/app/current/src/main/scala/io/scalajs/nodejs/timers/Timeout.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/timers/Timeout.scala rename to app/current/src/main/scala/io/scalajs/nodejs/timers/Timeout.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/timers/Timer.scala b/app/current/src/main/scala/io/scalajs/nodejs/timers/Timer.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/timers/Timer.scala rename to app/current/src/main/scala/io/scalajs/nodejs/timers/Timer.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/timers/UnRef.scala b/app/current/src/main/scala/io/scalajs/nodejs/timers/UnRef.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/timers/UnRef.scala rename to app/current/src/main/scala/io/scalajs/nodejs/timers/UnRef.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/tls/Server.scala b/app/current/src/main/scala/io/scalajs/nodejs/tls/Server.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/tls/Server.scala rename to app/current/src/main/scala/io/scalajs/nodejs/tls/Server.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/tls/TLSCertificate.scala b/app/current/src/main/scala/io/scalajs/nodejs/tls/TLSCertificate.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/tls/TLSCertificate.scala rename to app/current/src/main/scala/io/scalajs/nodejs/tls/TLSCertificate.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/tls/TLSSocket.scala b/app/current/src/main/scala/io/scalajs/nodejs/tls/TLSSocket.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/tls/TLSSocket.scala rename to app/current/src/main/scala/io/scalajs/nodejs/tls/TLSSocket.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/tls/Tls.scala b/app/current/src/main/scala/io/scalajs/nodejs/tls/Tls.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/tls/Tls.scala rename to app/current/src/main/scala/io/scalajs/nodejs/tls/Tls.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/tty/ReadStream.scala b/app/current/src/main/scala/io/scalajs/nodejs/tty/ReadStream.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/tty/ReadStream.scala rename to app/current/src/main/scala/io/scalajs/nodejs/tty/ReadStream.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/tty/TTY.scala b/app/current/src/main/scala/io/scalajs/nodejs/tty/TTY.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/tty/TTY.scala rename to app/current/src/main/scala/io/scalajs/nodejs/tty/TTY.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/tty/WriteStream.scala b/app/current/src/main/scala/io/scalajs/nodejs/tty/WriteStream.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/tty/WriteStream.scala rename to app/current/src/main/scala/io/scalajs/nodejs/tty/WriteStream.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/tty/package.scala b/app/current/src/main/scala/io/scalajs/nodejs/tty/package.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/tty/package.scala rename to app/current/src/main/scala/io/scalajs/nodejs/tty/package.scala diff --git a/app/nodejs_v8/src/main/scala/io/scalajs/nodejs/url/URL.scala b/app/current/src/main/scala/io/scalajs/nodejs/url/URL.scala similarity index 100% rename from app/nodejs_v8/src/main/scala/io/scalajs/nodejs/url/URL.scala rename to app/current/src/main/scala/io/scalajs/nodejs/url/URL.scala diff --git a/app/nodejs_v8/src/main/scala/io/scalajs/nodejs/url/URLObject.scala b/app/current/src/main/scala/io/scalajs/nodejs/url/URLObject.scala similarity index 100% rename from app/nodejs_v8/src/main/scala/io/scalajs/nodejs/url/URLObject.scala rename to app/current/src/main/scala/io/scalajs/nodejs/url/URLObject.scala diff --git a/app/nodejs_v8/src/main/scala/io/scalajs/nodejs/url/URLSearchParams.scala b/app/current/src/main/scala/io/scalajs/nodejs/url/URLSearchParams.scala similarity index 100% rename from app/nodejs_v8/src/main/scala/io/scalajs/nodejs/url/URLSearchParams.scala rename to app/current/src/main/scala/io/scalajs/nodejs/url/URLSearchParams.scala diff --git a/app/nodejs_v8/src/main/scala/io/scalajs/nodejs/url/package.scala b/app/current/src/main/scala/io/scalajs/nodejs/url/package.scala similarity index 100% rename from app/nodejs_v8/src/main/scala/io/scalajs/nodejs/url/package.scala rename to app/current/src/main/scala/io/scalajs/nodejs/url/package.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/util/InspectOptions.scala b/app/current/src/main/scala/io/scalajs/nodejs/util/InspectOptions.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/util/InspectOptions.scala rename to app/current/src/main/scala/io/scalajs/nodejs/util/InspectOptions.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/util/Util.scala b/app/current/src/main/scala/io/scalajs/nodejs/util/Util.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/util/Util.scala rename to app/current/src/main/scala/io/scalajs/nodejs/util/Util.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/vm/ContextOptions.scala b/app/current/src/main/scala/io/scalajs/nodejs/vm/ContextOptions.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/vm/ContextOptions.scala rename to app/current/src/main/scala/io/scalajs/nodejs/vm/ContextOptions.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/vm/ContextifyScript.scala b/app/current/src/main/scala/io/scalajs/nodejs/vm/ContextifyScript.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/vm/ContextifyScript.scala rename to app/current/src/main/scala/io/scalajs/nodejs/vm/ContextifyScript.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/vm/ScriptContext.scala b/app/current/src/main/scala/io/scalajs/nodejs/vm/ScriptContext.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/vm/ScriptContext.scala rename to app/current/src/main/scala/io/scalajs/nodejs/vm/ScriptContext.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/vm/ScriptOptions.scala b/app/current/src/main/scala/io/scalajs/nodejs/vm/ScriptOptions.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/vm/ScriptOptions.scala rename to app/current/src/main/scala/io/scalajs/nodejs/vm/ScriptOptions.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/vm/VM.scala b/app/current/src/main/scala/io/scalajs/nodejs/vm/VM.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/vm/VM.scala rename to app/current/src/main/scala/io/scalajs/nodejs/vm/VM.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/zlib/CompressionAlgorithm.scala b/app/current/src/main/scala/io/scalajs/nodejs/zlib/CompressionAlgorithm.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/zlib/CompressionAlgorithm.scala rename to app/current/src/main/scala/io/scalajs/nodejs/zlib/CompressionAlgorithm.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/zlib/CompressionOptions.scala b/app/current/src/main/scala/io/scalajs/nodejs/zlib/CompressionOptions.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/zlib/CompressionOptions.scala rename to app/current/src/main/scala/io/scalajs/nodejs/zlib/CompressionOptions.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/zlib/Deflate.scala b/app/current/src/main/scala/io/scalajs/nodejs/zlib/Deflate.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/zlib/Deflate.scala rename to app/current/src/main/scala/io/scalajs/nodejs/zlib/Deflate.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/zlib/DeflateRaw.scala b/app/current/src/main/scala/io/scalajs/nodejs/zlib/DeflateRaw.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/zlib/DeflateRaw.scala rename to app/current/src/main/scala/io/scalajs/nodejs/zlib/DeflateRaw.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/zlib/Gunzip.scala b/app/current/src/main/scala/io/scalajs/nodejs/zlib/Gunzip.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/zlib/Gunzip.scala rename to app/current/src/main/scala/io/scalajs/nodejs/zlib/Gunzip.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/zlib/Gzip.scala b/app/current/src/main/scala/io/scalajs/nodejs/zlib/Gzip.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/zlib/Gzip.scala rename to app/current/src/main/scala/io/scalajs/nodejs/zlib/Gzip.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/zlib/Inflate.scala b/app/current/src/main/scala/io/scalajs/nodejs/zlib/Inflate.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/zlib/Inflate.scala rename to app/current/src/main/scala/io/scalajs/nodejs/zlib/Inflate.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/zlib/InflateRaw.scala b/app/current/src/main/scala/io/scalajs/nodejs/zlib/InflateRaw.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/zlib/InflateRaw.scala rename to app/current/src/main/scala/io/scalajs/nodejs/zlib/InflateRaw.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/zlib/Unzip.scala b/app/current/src/main/scala/io/scalajs/nodejs/zlib/Unzip.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/zlib/Unzip.scala rename to app/current/src/main/scala/io/scalajs/nodejs/zlib/Unzip.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/zlib/Zlib.scala b/app/current/src/main/scala/io/scalajs/nodejs/zlib/Zlib.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/zlib/Zlib.scala rename to app/current/src/main/scala/io/scalajs/nodejs/zlib/Zlib.scala diff --git a/app/common/src/main/scala/io/scalajs/nodejs/zlib/package.scala b/app/current/src/main/scala/io/scalajs/nodejs/zlib/package.scala similarity index 100% rename from app/common/src/main/scala/io/scalajs/nodejs/zlib/package.scala rename to app/current/src/main/scala/io/scalajs/nodejs/zlib/package.scala diff --git a/app/nodejs_v8/src/test/resources/1.txt b/app/current/src/test/resources/1.txt similarity index 100% rename from app/nodejs_v8/src/test/resources/1.txt rename to app/current/src/test/resources/1.txt diff --git a/app/nodejs_v8/src/test/resources/fileA1.txt b/app/current/src/test/resources/fileA1.txt similarity index 100% rename from app/nodejs_v8/src/test/resources/fileA1.txt rename to app/current/src/test/resources/fileA1.txt diff --git a/app/nodejs_v8/src/test/resources/fileA2.txt b/app/current/src/test/resources/fileA2.txt similarity index 100% rename from app/nodejs_v8/src/test/resources/fileA2.txt rename to app/current/src/test/resources/fileA2.txt diff --git a/app/nodejs_v8/src/test/resources/fileB1.txt b/app/current/src/test/resources/fileB1.txt similarity index 100% rename from app/nodejs_v8/src/test/resources/fileB1.txt rename to app/current/src/test/resources/fileB1.txt diff --git a/app/nodejs_v8/src/test/resources/fileB2.txt b/app/current/src/test/resources/fileB2.txt similarity index 100% rename from app/nodejs_v8/src/test/resources/fileB2.txt rename to app/current/src/test/resources/fileB2.txt diff --git a/app/nodejs_v8/src/test/resources/watchfile.json b/app/current/src/test/resources/watchfile.json similarity index 100% rename from app/nodejs_v8/src/test/resources/watchfile.json rename to app/current/src/test/resources/watchfile.json diff --git a/app/common/src/test/scala/io/scalajs/nodejs/AssertTest.scala b/app/current/src/test/scala/nodejs/AssertTest.scala similarity index 100% rename from app/common/src/test/scala/io/scalajs/nodejs/AssertTest.scala rename to app/current/src/test/scala/nodejs/AssertTest.scala diff --git a/app/common/src/test/scala/io/scalajs/nodejs/ProcessTest.scala b/app/current/src/test/scala/nodejs/ProcessTest.scala similarity index 100% rename from app/common/src/test/scala/io/scalajs/nodejs/ProcessTest.scala rename to app/current/src/test/scala/nodejs/ProcessTest.scala diff --git a/app/common/src/test/scala/io/scalajs/nodejs/StringDecoderTest.scala b/app/current/src/test/scala/nodejs/StringDecoderTest.scala similarity index 100% rename from app/common/src/test/scala/io/scalajs/nodejs/StringDecoderTest.scala rename to app/current/src/test/scala/nodejs/StringDecoderTest.scala diff --git a/app/common/src/test/scala/io/scalajs/nodejs/buffer/BufferTest.scala b/app/current/src/test/scala/nodejs/buffer/BufferTest.scala similarity index 100% rename from app/common/src/test/scala/io/scalajs/nodejs/buffer/BufferTest.scala rename to app/current/src/test/scala/nodejs/buffer/BufferTest.scala diff --git a/app/common/src/test/scala/io/scalajs/nodejs/child_process/ChildProcessAsyncTest.scala b/app/current/src/test/scala/nodejs/child_process/ChildProcessAsyncTest.scala similarity index 100% rename from app/common/src/test/scala/io/scalajs/nodejs/child_process/ChildProcessAsyncTest.scala rename to app/current/src/test/scala/nodejs/child_process/ChildProcessAsyncTest.scala diff --git a/app/common/src/test/scala/io/scalajs/nodejs/child_process/ChildProcessTest.scala b/app/current/src/test/scala/nodejs/child_process/ChildProcessTest.scala similarity index 100% rename from app/common/src/test/scala/io/scalajs/nodejs/child_process/ChildProcessTest.scala rename to app/current/src/test/scala/nodejs/child_process/ChildProcessTest.scala diff --git a/app/common/src/test/scala/io/scalajs/nodejs/cluster/ClusterTest.scala b/app/current/src/test/scala/nodejs/cluster/ClusterTest.scala similarity index 100% rename from app/common/src/test/scala/io/scalajs/nodejs/cluster/ClusterTest.scala rename to app/current/src/test/scala/nodejs/cluster/ClusterTest.scala diff --git a/app/common/src/test/scala/io/scalajs/nodejs/crypto/CryptoTest.scala b/app/current/src/test/scala/nodejs/crypto/CryptoTest.scala similarity index 100% rename from app/common/src/test/scala/io/scalajs/nodejs/crypto/CryptoTest.scala rename to app/current/src/test/scala/nodejs/crypto/CryptoTest.scala diff --git a/app/common/src/test/scala/io/scalajs/nodejs/dns/DNSTest.scala b/app/current/src/test/scala/nodejs/dns/DNSTest.scala similarity index 100% rename from app/common/src/test/scala/io/scalajs/nodejs/dns/DNSTest.scala rename to app/current/src/test/scala/nodejs/dns/DNSTest.scala diff --git a/app/common/src/test/scala/io/scalajs/nodejs/events/EventEmitterTest.scala b/app/current/src/test/scala/nodejs/events/EventEmitterTest.scala similarity index 100% rename from app/common/src/test/scala/io/scalajs/nodejs/events/EventEmitterTest.scala rename to app/current/src/test/scala/nodejs/events/EventEmitterTest.scala diff --git a/app/nodejs_v8/src/test/scala/io/scalajs/nodejs/fs/FsAsyncTest.scala b/app/current/src/test/scala/nodejs/fs/FsAsyncTest.scala similarity index 100% rename from app/nodejs_v8/src/test/scala/io/scalajs/nodejs/fs/FsAsyncTest.scala rename to app/current/src/test/scala/nodejs/fs/FsAsyncTest.scala diff --git a/app/nodejs_v8/src/test/scala/io/scalajs/nodejs/fs/FsTest.scala b/app/current/src/test/scala/nodejs/fs/FsTest.scala similarity index 80% rename from app/nodejs_v8/src/test/scala/io/scalajs/nodejs/fs/FsTest.scala rename to app/current/src/test/scala/nodejs/fs/FsTest.scala index bf22f0115..992a162de 100644 --- a/app/nodejs_v8/src/test/scala/io/scalajs/nodejs/fs/FsTest.scala +++ b/app/current/src/test/scala/nodejs/fs/FsTest.scala @@ -12,19 +12,19 @@ import org.scalatest.FunSpec */ class FsTest extends FunSpec { - val TEST_RESOURCES = "./app/nodejs_v8/src/test/resources/" + final val testResources = "./app/current/src/test/resources/" describe("Fs") { it("supports watching files") { - val watcher = Fs.watch(s"${TEST_RESOURCES}", (eventType, file) => { + val watcher = Fs.watch(s"${testResources}", (eventType, file) => { info(s"watcher: eventType = '$eventType' file = '$file'") }) info(s"watcher: ${Util.inspect(watcher)}") setImmediate( () => - Fs.writeFile(s"${TEST_RESOURCES}1.txt", "Hello", error => { + Fs.writeFile(s"${testResources}1.txt", "Hello", error => { if (isDefined(error)) { alert(s"error: ${JSON.stringify(error)}") } @@ -33,9 +33,9 @@ class FsTest extends FunSpec { } it("should stream data") { - val file1 = s"${TEST_RESOURCES}fileA1.txt" - val file2 = s"${TEST_RESOURCES}fileA2.txt" - val file3 = s"${TEST_RESOURCES}fileC2.txt" + val file1 = s"${testResources}fileA1.txt" + val file2 = s"${testResources}fileA2.txt" + val file3 = s"${testResources}fileC2.txt" val readable = Fs.createReadStream(file1) val writable = Fs.createWriteStream(file2) @@ -60,8 +60,8 @@ class FsTest extends FunSpec { } it("should pipe data from a Readable to a Writable") { - val file1 = s"${TEST_RESOURCES}fileB1.txt" - val file2 = s"${TEST_RESOURCES}fileB2.txt" + val file1 = s"${testResources}fileB1.txt" + val file2 = s"${testResources}fileB2.txt" val readable = Fs.createReadStream(file1) val writable = Fs.createWriteStream(file2) diff --git a/app/common/src/test/scala/io/scalajs/nodejs/http/HttpTest.scala b/app/current/src/test/scala/nodejs/http/HttpTest.scala similarity index 100% rename from app/common/src/test/scala/io/scalajs/nodejs/http/HttpTest.scala rename to app/current/src/test/scala/nodejs/http/HttpTest.scala diff --git a/app/common/src/test/scala/io/scalajs/nodejs/net/NetTest.scala b/app/current/src/test/scala/nodejs/net/NetTest.scala similarity index 100% rename from app/common/src/test/scala/io/scalajs/nodejs/net/NetTest.scala rename to app/current/src/test/scala/nodejs/net/NetTest.scala diff --git a/app/common/src/test/scala/io/scalajs/nodejs/os/OSTest.scala b/app/current/src/test/scala/nodejs/os/OSTest.scala similarity index 100% rename from app/common/src/test/scala/io/scalajs/nodejs/os/OSTest.scala rename to app/current/src/test/scala/nodejs/os/OSTest.scala diff --git a/app/common/src/test/scala/io/scalajs/nodejs/path/PathTest.scala b/app/current/src/test/scala/nodejs/path/PathTest.scala similarity index 100% rename from app/common/src/test/scala/io/scalajs/nodejs/path/PathTest.scala rename to app/current/src/test/scala/nodejs/path/PathTest.scala diff --git a/app/common/src/test/scala/io/scalajs/nodejs/querystring/QueryStringTest.scala b/app/current/src/test/scala/nodejs/querystring/QueryStringTest.scala similarity index 100% rename from app/common/src/test/scala/io/scalajs/nodejs/querystring/QueryStringTest.scala rename to app/current/src/test/scala/nodejs/querystring/QueryStringTest.scala diff --git a/app/nodejs_v8/src/test/scala/io/scalajs/nodejs/readline/ReadlineTest.scala b/app/current/src/test/scala/nodejs/readline/ReadlineTest.scala similarity index 100% rename from app/nodejs_v8/src/test/scala/io/scalajs/nodejs/readline/ReadlineTest.scala rename to app/current/src/test/scala/nodejs/readline/ReadlineTest.scala diff --git a/app/common/src/test/scala/io/scalajs/nodejs/tty/TTYTest.scala b/app/current/src/test/scala/nodejs/tty/TTYTest.scala similarity index 100% rename from app/common/src/test/scala/io/scalajs/nodejs/tty/TTYTest.scala rename to app/current/src/test/scala/nodejs/tty/TTYTest.scala diff --git a/app/nodejs_v8/src/test/scala/io/scalajs/nodejs/url/URLObjectTest.scala b/app/current/src/test/scala/nodejs/url/URLObjectTest.scala similarity index 100% rename from app/nodejs_v8/src/test/scala/io/scalajs/nodejs/url/URLObjectTest.scala rename to app/current/src/test/scala/nodejs/url/URLObjectTest.scala diff --git a/app/nodejs_v8/src/test/scala/io/scalajs/nodejs/url/URLSearchParamsTest.scala b/app/current/src/test/scala/nodejs/url/URLSearchParamsTest.scala similarity index 100% rename from app/nodejs_v8/src/test/scala/io/scalajs/nodejs/url/URLSearchParamsTest.scala rename to app/current/src/test/scala/nodejs/url/URLSearchParamsTest.scala diff --git a/app/nodejs_v8/src/test/scala/io/scalajs/nodejs/url/URLTest.scala b/app/current/src/test/scala/nodejs/url/URLTest.scala similarity index 100% rename from app/nodejs_v8/src/test/scala/io/scalajs/nodejs/url/URLTest.scala rename to app/current/src/test/scala/nodejs/url/URLTest.scala diff --git a/app/common/src/test/scala/io/scalajs/nodejs/vm/VMTest.scala b/app/current/src/test/scala/nodejs/vm/VMTest.scala similarity index 100% rename from app/common/src/test/scala/io/scalajs/nodejs/vm/VMTest.scala rename to app/current/src/test/scala/nodejs/vm/VMTest.scala diff --git a/app/common/src/test/scala/io/scalajs/nodejs/zlib/ZlibTest.scala b/app/current/src/test/scala/nodejs/zlib/ZlibTest.scala similarity index 100% rename from app/common/src/test/scala/io/scalajs/nodejs/zlib/ZlibTest.scala rename to app/current/src/test/scala/nodejs/zlib/ZlibTest.scala diff --git a/build.sbt b/build.sbt index af6825124..a71049c18 100644 --- a/build.sbt +++ b/build.sbt @@ -7,6 +7,7 @@ val supportedScalaVersion = Seq(scala212Version, scala213Version) val scalatestVersion = "3.0.8" val scalacticVersion = "3.0.8" +val enableIfVersion = "1.1.7" organization in ThisBuild := "net.exoego" @@ -18,10 +19,12 @@ lazy val commonSettings = Seq( "-unchecked", "-feature", "-language:implicitConversions", - "-Xlint", - "-Xfatal-warnings" + "-Xlint" ), - scalacOptions in (Compile, doc) ++= Seq("-no-link-warnings") + scalacOptions in (Compile, doc) ++= Seq( + "-Xfatal-warnings", + "-no-link-warnings" + ) ) lazy val commonScalaJsSettings = Seq( scalacOptions += "-P:scalajs:sjsDefinedByDefault", @@ -43,13 +46,14 @@ lazy val commonMacroParadiseSetting = Seq( } ) val nonPublishingSetting = Seq( + skip in publish := true, publishArtifact := false, publish := {}, publishLocal := {} ) lazy val root = (project in file(".")) - .aggregate(core, common, nodejs_v8) + .aggregate(core, current, nodejs_v8) .settings(commonSettings) .settings(publishingSettings) .settings(nonPublishingSetting) @@ -70,40 +74,80 @@ lazy val core = (project in file("./core")) ) ) -lazy val common = (project in file("./app/common")) +lazy val compilerSwitches = (project in file("./compiler-switches")) + .settings(commonSettings) + .settings(nonPublishingSetting) + .settings( + libraryDependencies ++= Seq( + "org.scala-lang" % "scala-reflect" % scalaVersion.value + ) + ) + +lazy val current = (project in file("./app/current")) .enablePlugins(ScalaJSPlugin) .settings(commonSettings) .settings(commonScalaJsSettings) .settings(commonMacroParadiseSetting) .settings(publishingSettings) .settings( - name := "scala-js-nodejs-common", + scalacOptions ++= Seq( + "-Xmacro-settings:nodeJs12.5.0" + ), + name := "scala-js-nodejs-v12", libraryDependencies ++= Seq( - "org.scala-lang" % "scala-reflect" % scalaVersion.value, - "org.scalactic" %% "scalactic" % scalacticVersion, - "org.scalatest" %%% "scalatest" % scalatestVersion % "test" + "org.scala-lang" % "scala-reflect" % scalaVersion.value, + "org.scalactic" %% "scalactic" % scalacticVersion, + "org.scalatest" %%% "scalatest" % scalatestVersion % "test", + "com.thoughtworks.enableIf" %% "enableif" % enableIfVersion ) ) - .dependsOn(core) + .dependsOn(core, compilerSwitches) -lazy val nodejs_v8 = (project in file("./app/nodejs_v8")) - .dependsOn(common) +lazy val nodejs_v10 = (project in file("./app/nodejs-v10")) .enablePlugins(ScalaJSPlugin) .settings(commonSettings) .settings(commonScalaJsSettings) .settings(commonMacroParadiseSetting) .settings(publishingSettings) .settings( + unmanagedSourceDirectories in Compile += (baseDirectory in current).value / "src" / "main" / "scala", + scalacOptions ++= Seq( + "-Xmacro-settings:nodeJs10.16.0" + ), + name := "scala-js-nodejs-v10", + description := "NodeJS v10.16.0 API for Scala.js", + homepage := Some(url("https://github.com/exoego/scala-js-nodejs")), + libraryDependencies ++= Seq( + "org.scala-lang" % "scala-reflect" % scalaVersion.value, + "org.scalactic" %% "scalactic" % scalacticVersion, + "org.scalatest" %%% "scalatest" % scalatestVersion % "test", + "com.thoughtworks.enableIf" %% "enableif" % enableIfVersion + ) + ) + .dependsOn(core, compilerSwitches) + +lazy val nodejs_v8 = (project in file("./app/nodejs-v8")) + .enablePlugins(ScalaJSPlugin) + .settings(commonSettings) + .settings(commonScalaJsSettings) + .settings(commonMacroParadiseSetting) + .settings(publishingSettings) + .settings( + unmanagedSourceDirectories in Compile += (baseDirectory in current).value / "src" / "main" / "scala", + scalacOptions ++= Seq( + "-Xmacro-settings:nodeJs8.16.0" + ), name := "scala-js-nodejs-v8", - description := "NodeJS v8.7.0 API for Scala.js", + description := "NodeJS v8.16.0 API for Scala.js", homepage := Some(url("https://github.com/exoego/scala-js-nodejs")), libraryDependencies ++= Seq( - "org.scala-lang" % "scala-reflect" % scalaVersion.value, - "org.scalactic" %% "scalactic" % scalacticVersion, - "org.scalatest" %%% "scalatest" % scalatestVersion % "test" + "org.scala-lang" % "scala-reflect" % scalaVersion.value, + "org.scalactic" %% "scalactic" % scalacticVersion, + "org.scalatest" %%% "scalatest" % scalatestVersion % "test", + "com.thoughtworks.enableIf" %% "enableif" % enableIfVersion ) ) - .dependsOn(core) + .dependsOn(core, compilerSwitches) lazy val publishingSettings = Seq( licenses := Seq("APL2" -> url("http://www.apache.org/licenses/LICENSE-2.0.txt")), diff --git a/compiler-switches/src/main/scala/io/scalajs/nodejs/CompilerSwitches.scala b/compiler-switches/src/main/scala/io/scalajs/nodejs/CompilerSwitches.scala new file mode 100644 index 000000000..3c50ad530 --- /dev/null +++ b/compiler-switches/src/main/scala/io/scalajs/nodejs/CompilerSwitches.scala @@ -0,0 +1,22 @@ +package io.scalajs.nodejs + +import scala.reflect.macros.whitebox + +object CompilerSwitches { + + private val nodejsVersionPattern = "^nodeJs([0-9]{1,2})\\.([0-9]{1,2})\\.([0-9]{1,2})$".r + + private def compare(predicate: (Int, Int, Int) => Boolean): String => Boolean = { version: String => + val nodejsVersionPattern(major, minor, patch) = version + predicate(major.toInt, minor.toInt, patch.toInt) + } + + final val isNodeJs8 = (c: whitebox.Context) => c.settings.exists(compare((major, _, _) => major == 8)) + final val gteNodeJs8 = (c: whitebox.Context) => c.settings.exists(compare((major, _, _) => major >= 8)) + + final val isNodeJs10 = (c: whitebox.Context) => c.settings.exists(compare((major, _, _) => major == 10)) + final val gteNodeJs10 = (c: whitebox.Context) => c.settings.exists(compare((major, _, _) => major >= 10)) + + final val isNodeJs12 = (c: whitebox.Context) => c.settings.exists(compare((major, _, _) => major == 12)) + final val gteNodeJs12 = (c: whitebox.Context) => c.settings.exists(compare((major, _, _) => major >= 12)) +}