From 1c01fdfb972e23e2d8901268adda200b94be350f Mon Sep 17 00:00:00 2001 From: Arthur Schreiber Date: Sat, 8 Nov 2014 23:27:12 +0100 Subject: [PATCH 1/2] Drop the runtime dependency on CoffeeScript. * Move all source code from `lib` over to `src`. * Adds a `prepublish` script to `package.json` that compiles all CoffeeScript files from the `src` to the `lib` folder. * Add `src` and `vows` folders to `.npmignore`. * Add `lib` to `.gitignore`. Tests continue to use the CoffeeScript sources, to ensure that always the latest code is tested. --- .gitignore | 3 ++- .npmignore | 2 ++ package.json | 5 ++++- {lib => src}/attribute.coffee | 0 {lib => src}/attributes.coffee | 0 {lib => src}/crud.coffee | 0 {lib => src}/delete-manager.coffee | 0 {lib => src}/expressions.coffee | 0 {lib => src}/factory-methods.coffee | 0 {lib => src}/insert-manager.coffee | 0 {lib => src}/nodes/and.coffee | 0 {lib => src}/nodes/binary.coffee | 0 {lib => src}/nodes/case-builder.coffee | 0 {lib => src}/nodes/const-lit.coffee | 0 {lib => src}/nodes/delete-statement.coffee | 0 {lib => src}/nodes/function-node.coffee | 0 {lib => src}/nodes/insert-statement.coffee | 0 {lib => src}/nodes/join-source.coffee | 0 {lib => src}/nodes/node.coffee | 0 {lib => src}/nodes/nodes.coffee | 0 {lib => src}/nodes/select-core.coffee | 0 {lib => src}/nodes/select-statement.coffee | 0 {lib => src}/nodes/sql-literal.coffee | 0 {lib => src}/nodes/table-alias.coffee | 0 {lib => src}/nodes/unary.coffee | 0 {lib => src}/nodes/update-statement.coffee | 0 {lib => src}/predications.coffee | 0 {lib => src}/range.coffee | 0 {lib => src}/select-manager.coffee | 0 {lib => src}/table.coffee | 0 {lib => src}/tree-manager.coffee | 0 {lib => src}/update-manager.coffee | 0 {lib => src}/visitors.coffee | 0 {lib => src}/visitors/default.coffee | 0 {lib => src}/visitors/dot.coffee | 0 {lib => src}/visitors/mysql.coffee | 0 {lib => src}/visitors/postgresql.coffee | 0 {lib => src}/visitors/sqlite.coffee | 0 {lib => src}/visitors/to-sql.coffee | 0 {lib => src}/visitors/visitor.coffee | 0 vows/test-delete-manager.coffee | 8 ++++---- vows/test-insert-manager.coffee | 10 +++++----- vows/test-select-manager.coffee | 8 ++++---- vows/test-table.coffee | 12 ++++++------ vows/test-update-manager.coffee | 8 ++++---- 45 files changed, 31 insertions(+), 25 deletions(-) create mode 100644 .npmignore rename {lib => src}/attribute.coffee (100%) rename {lib => src}/attributes.coffee (100%) rename {lib => src}/crud.coffee (100%) rename {lib => src}/delete-manager.coffee (100%) rename {lib => src}/expressions.coffee (100%) rename {lib => src}/factory-methods.coffee (100%) rename {lib => src}/insert-manager.coffee (100%) rename {lib => src}/nodes/and.coffee (100%) rename {lib => src}/nodes/binary.coffee (100%) rename {lib => src}/nodes/case-builder.coffee (100%) rename {lib => src}/nodes/const-lit.coffee (100%) rename {lib => src}/nodes/delete-statement.coffee (100%) rename {lib => src}/nodes/function-node.coffee (100%) rename {lib => src}/nodes/insert-statement.coffee (100%) rename {lib => src}/nodes/join-source.coffee (100%) rename {lib => src}/nodes/node.coffee (100%) rename {lib => src}/nodes/nodes.coffee (100%) rename {lib => src}/nodes/select-core.coffee (100%) rename {lib => src}/nodes/select-statement.coffee (100%) rename {lib => src}/nodes/sql-literal.coffee (100%) rename {lib => src}/nodes/table-alias.coffee (100%) rename {lib => src}/nodes/unary.coffee (100%) rename {lib => src}/nodes/update-statement.coffee (100%) rename {lib => src}/predications.coffee (100%) rename {lib => src}/range.coffee (100%) rename {lib => src}/select-manager.coffee (100%) rename {lib => src}/table.coffee (100%) rename {lib => src}/tree-manager.coffee (100%) rename {lib => src}/update-manager.coffee (100%) rename {lib => src}/visitors.coffee (100%) rename {lib => src}/visitors/default.coffee (100%) rename {lib => src}/visitors/dot.coffee (100%) rename {lib => src}/visitors/mysql.coffee (100%) rename {lib => src}/visitors/postgresql.coffee (100%) rename {lib => src}/visitors/sqlite.coffee (100%) rename {lib => src}/visitors/to-sql.coffee (100%) rename {lib => src}/visitors/visitor.coffee (100%) diff --git a/.gitignore b/.gitignore index 9ba488b..fbdc67f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ *.DS_Store -node_modules/ +/node_modules +/lib diff --git a/.npmignore b/.npmignore new file mode 100644 index 0000000..30916b3 --- /dev/null +++ b/.npmignore @@ -0,0 +1,2 @@ +/src +/vows diff --git a/package.json b/package.json index dc9347c..9924fe0 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,6 @@ "licenses": [], "repository": "https://github.com/cjwoodward/rel", "dependencies": { - "coffee-script": "^1.7.1", "date-utils": "0.1.8", "underscore": "1.1.6" }, @@ -53,7 +52,11 @@ "directories": { "lib": "lib" }, + "scripts": { + "prepublish": "rm -rf lib && coffee --bare -o lib -c src" + }, "devDependencies": { + "coffee-script": "^1.7.1", "vows": "git+https://github.com/snoble/vows.git#1e8fa11fdb2f67eac285cbcbcf6485eec131fa02" } } diff --git a/lib/attribute.coffee b/src/attribute.coffee similarity index 100% rename from lib/attribute.coffee rename to src/attribute.coffee diff --git a/lib/attributes.coffee b/src/attributes.coffee similarity index 100% rename from lib/attributes.coffee rename to src/attributes.coffee diff --git a/lib/crud.coffee b/src/crud.coffee similarity index 100% rename from lib/crud.coffee rename to src/crud.coffee diff --git a/lib/delete-manager.coffee b/src/delete-manager.coffee similarity index 100% rename from lib/delete-manager.coffee rename to src/delete-manager.coffee diff --git a/lib/expressions.coffee b/src/expressions.coffee similarity index 100% rename from lib/expressions.coffee rename to src/expressions.coffee diff --git a/lib/factory-methods.coffee b/src/factory-methods.coffee similarity index 100% rename from lib/factory-methods.coffee rename to src/factory-methods.coffee diff --git a/lib/insert-manager.coffee b/src/insert-manager.coffee similarity index 100% rename from lib/insert-manager.coffee rename to src/insert-manager.coffee diff --git a/lib/nodes/and.coffee b/src/nodes/and.coffee similarity index 100% rename from lib/nodes/and.coffee rename to src/nodes/and.coffee diff --git a/lib/nodes/binary.coffee b/src/nodes/binary.coffee similarity index 100% rename from lib/nodes/binary.coffee rename to src/nodes/binary.coffee diff --git a/lib/nodes/case-builder.coffee b/src/nodes/case-builder.coffee similarity index 100% rename from lib/nodes/case-builder.coffee rename to src/nodes/case-builder.coffee diff --git a/lib/nodes/const-lit.coffee b/src/nodes/const-lit.coffee similarity index 100% rename from lib/nodes/const-lit.coffee rename to src/nodes/const-lit.coffee diff --git a/lib/nodes/delete-statement.coffee b/src/nodes/delete-statement.coffee similarity index 100% rename from lib/nodes/delete-statement.coffee rename to src/nodes/delete-statement.coffee diff --git a/lib/nodes/function-node.coffee b/src/nodes/function-node.coffee similarity index 100% rename from lib/nodes/function-node.coffee rename to src/nodes/function-node.coffee diff --git a/lib/nodes/insert-statement.coffee b/src/nodes/insert-statement.coffee similarity index 100% rename from lib/nodes/insert-statement.coffee rename to src/nodes/insert-statement.coffee diff --git a/lib/nodes/join-source.coffee b/src/nodes/join-source.coffee similarity index 100% rename from lib/nodes/join-source.coffee rename to src/nodes/join-source.coffee diff --git a/lib/nodes/node.coffee b/src/nodes/node.coffee similarity index 100% rename from lib/nodes/node.coffee rename to src/nodes/node.coffee diff --git a/lib/nodes/nodes.coffee b/src/nodes/nodes.coffee similarity index 100% rename from lib/nodes/nodes.coffee rename to src/nodes/nodes.coffee diff --git a/lib/nodes/select-core.coffee b/src/nodes/select-core.coffee similarity index 100% rename from lib/nodes/select-core.coffee rename to src/nodes/select-core.coffee diff --git a/lib/nodes/select-statement.coffee b/src/nodes/select-statement.coffee similarity index 100% rename from lib/nodes/select-statement.coffee rename to src/nodes/select-statement.coffee diff --git a/lib/nodes/sql-literal.coffee b/src/nodes/sql-literal.coffee similarity index 100% rename from lib/nodes/sql-literal.coffee rename to src/nodes/sql-literal.coffee diff --git a/lib/nodes/table-alias.coffee b/src/nodes/table-alias.coffee similarity index 100% rename from lib/nodes/table-alias.coffee rename to src/nodes/table-alias.coffee diff --git a/lib/nodes/unary.coffee b/src/nodes/unary.coffee similarity index 100% rename from lib/nodes/unary.coffee rename to src/nodes/unary.coffee diff --git a/lib/nodes/update-statement.coffee b/src/nodes/update-statement.coffee similarity index 100% rename from lib/nodes/update-statement.coffee rename to src/nodes/update-statement.coffee diff --git a/lib/predications.coffee b/src/predications.coffee similarity index 100% rename from lib/predications.coffee rename to src/predications.coffee diff --git a/lib/range.coffee b/src/range.coffee similarity index 100% rename from lib/range.coffee rename to src/range.coffee diff --git a/lib/select-manager.coffee b/src/select-manager.coffee similarity index 100% rename from lib/select-manager.coffee rename to src/select-manager.coffee diff --git a/lib/table.coffee b/src/table.coffee similarity index 100% rename from lib/table.coffee rename to src/table.coffee diff --git a/lib/tree-manager.coffee b/src/tree-manager.coffee similarity index 100% rename from lib/tree-manager.coffee rename to src/tree-manager.coffee diff --git a/lib/update-manager.coffee b/src/update-manager.coffee similarity index 100% rename from lib/update-manager.coffee rename to src/update-manager.coffee diff --git a/lib/visitors.coffee b/src/visitors.coffee similarity index 100% rename from lib/visitors.coffee rename to src/visitors.coffee diff --git a/lib/visitors/default.coffee b/src/visitors/default.coffee similarity index 100% rename from lib/visitors/default.coffee rename to src/visitors/default.coffee diff --git a/lib/visitors/dot.coffee b/src/visitors/dot.coffee similarity index 100% rename from lib/visitors/dot.coffee rename to src/visitors/dot.coffee diff --git a/lib/visitors/mysql.coffee b/src/visitors/mysql.coffee similarity index 100% rename from lib/visitors/mysql.coffee rename to src/visitors/mysql.coffee diff --git a/lib/visitors/postgresql.coffee b/src/visitors/postgresql.coffee similarity index 100% rename from lib/visitors/postgresql.coffee rename to src/visitors/postgresql.coffee diff --git a/lib/visitors/sqlite.coffee b/src/visitors/sqlite.coffee similarity index 100% rename from lib/visitors/sqlite.coffee rename to src/visitors/sqlite.coffee diff --git a/lib/visitors/to-sql.coffee b/src/visitors/to-sql.coffee similarity index 100% rename from lib/visitors/to-sql.coffee rename to src/visitors/to-sql.coffee diff --git a/lib/visitors/visitor.coffee b/src/visitors/visitor.coffee similarity index 100% rename from lib/visitors/visitor.coffee rename to src/visitors/visitor.coffee diff --git a/vows/test-delete-manager.coffee b/vows/test-delete-manager.coffee index 589a90f..ef20a01 100644 --- a/vows/test-delete-manager.coffee +++ b/vows/test-delete-manager.coffee @@ -2,10 +2,10 @@ vows = require 'vows' assert = require 'assert' u = require 'underscore' -Table = require '../lib/table' -DeleteManager = require '../lib/delete-manager' -SqlLiteral = require('../lib/nodes/sql-literal') -Nodes = require '../lib/nodes/nodes' +Table = require '../src/table' +DeleteManager = require '../src/delete-manager' +SqlLiteral = require('../src/nodes/sql-literal') +Nodes = require '../src/nodes/nodes' tests = vows.describe('Deleting stuff').addBatch 'Delete manager': diff --git a/vows/test-insert-manager.coffee b/vows/test-insert-manager.coffee index a601f4f..fa6710d 100644 --- a/vows/test-insert-manager.coffee +++ b/vows/test-insert-manager.coffee @@ -2,12 +2,12 @@ vows = require 'vows' assert = require 'assert' require 'date-utils' -SelectManager = require '../lib/select-manager' -InsertManager = require '../lib/insert-manager' -Table = require '../lib/table' -SqlLiteral = require('../lib/nodes/sql-literal') +SelectManager = require '../src/select-manager' +InsertManager = require '../src/insert-manager' +Table = require '../src/table' +SqlLiteral = require('../src/nodes/sql-literal') Rel = require('../rel') -Nodes = require '../lib/nodes/nodes' +Nodes = require '../src/nodes/nodes' tests = vows.describe('Inserting stuff').addBatch 'An insert manager': diff --git a/vows/test-select-manager.coffee b/vows/test-select-manager.coffee index b4368ff..628d6f0 100644 --- a/vows/test-select-manager.coffee +++ b/vows/test-select-manager.coffee @@ -1,11 +1,11 @@ vows = require 'vows' assert = require 'assert' -SelectManager = require '../lib/select-manager' -Table = require '../lib/table' -SqlLiteral = require('../lib/nodes/sql-literal') +SelectManager = require '../src/select-manager' +Table = require '../src/table' +SqlLiteral = require('../src/nodes/sql-literal') Rel = require('../rel') -Nodes = require '../lib/nodes/nodes' +Nodes = require '../src/nodes/nodes' tests = vows.describe('Querying stuff').addBatch 'A select manager': diff --git a/vows/test-table.coffee b/vows/test-table.coffee index 7757cf6..ff474e0 100644 --- a/vows/test-table.coffee +++ b/vows/test-table.coffee @@ -2,11 +2,11 @@ vows = require 'vows' assert = require 'assert' u = require 'underscore' -Table = require '../lib/table' -SelectManager = require '../lib/select-manager' -InsertManager = require '../lib/insert-manager' -SqlLiteral = require('../lib/nodes/sql-literal') -Nodes = require '../lib/nodes/nodes' +Table = require '../src/table' +SelectManager = require '../src/select-manager' +InsertManager = require '../src/insert-manager' +SqlLiteral = require('../src/nodes/sql-literal') +Nodes = require '../src/nodes/nodes' tests = vows.describe('Table stuff').addBatch 'A table': @@ -17,7 +17,7 @@ tests = vows.describe('Table stuff').addBatch assert.isNotNull table.from('user') 'it can project things': (table) -> - assert.isNotNull table.project(new require('../lib/nodes/sql-literal')('*')) + assert.isNotNull table.project(new require('../src/nodes/sql-literal')('*')) 'it should return sql': (table) -> assert.equal table.project(new SqlLiteral('*')).toSql(), "SELECT * FROM \"users\"" diff --git a/vows/test-update-manager.coffee b/vows/test-update-manager.coffee index 515d472..abc6ad8 100644 --- a/vows/test-update-manager.coffee +++ b/vows/test-update-manager.coffee @@ -2,11 +2,11 @@ vows = require 'vows' assert = require 'assert' require 'date-utils' -UpdateManager = require '../lib/update-manager' -Table = require '../lib/table' -SqlLiteral = require('../lib/nodes/sql-literal') +UpdateManager = require '../src/update-manager' +Table = require '../src/table' +SqlLiteral = require('../src/nodes/sql-literal') Rel = require('../rel') -Nodes = require '../lib/nodes/nodes' +Nodes = require '../src/nodes/nodes' tests = vows.describe('Updating stuff').addBatch 'An update manager': From 22ddb73a6f2ad93c179fb8a88ea38f12df5d391d Mon Sep 17 00:00:00 2001 From: Arthur Schreiber Date: Mon, 10 Nov 2014 10:27:22 +0100 Subject: [PATCH 2/2] Move the root `rel.coffee` into the src folder. --- package.json | 2 +- rel.coffee => src/rel.coffee | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) rename rel.coffee => src/rel.coffee (65%) diff --git a/package.json b/package.json index 9924fe0..89d5654 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,7 @@ "engines": { "node": ">=0.4.5" }, - "main": "rel", + "main": "./lib/rel.js", "directories": { "lib": "lib" }, diff --git a/rel.coffee b/src/rel.coffee similarity index 65% rename from rel.coffee rename to src/rel.coffee index af03845..1399605 100644 --- a/rel.coffee +++ b/src/rel.coffee @@ -1,10 +1,10 @@ -Nodes = require './lib/nodes/nodes' -Range = require './lib/range' -Table = require './lib/table' -SelectManager = require './lib/select-manager' -InsertManager = require './lib/select-manager' -UpdateManager = require './lib/select-manager' -CaseBuilder = require './lib/nodes/case-builder' +Nodes = require './nodes/nodes' +Range = require './range' +Table = require './table' +SelectManager = require './select-manager' +InsertManager = require './select-manager' +UpdateManager = require './select-manager' +CaseBuilder = require './nodes/case-builder' Rel = VERSION: '0.0.1'