diff --git a/.gitignore b/.gitignore index 9bce56a..646213b 100755 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ node_modules/ tests/ vendor/ dist/ +lib/ diff --git a/package.json b/package.json index bd692af..83e102c 100644 --- a/package.json +++ b/package.json @@ -2,27 +2,27 @@ "name": "solid-client", "version": "0.22.4", "description": "Common library for writing Solid read-write-web applications", - "main": "./index.js", + "main": "./lib/index.js", "files": [ - "index.js", "config.js", "lib", "dist" ], "scripts": { + "build-lib": "babel src -d lib", "build-full": "webpack --progress --config webpack.config.js --output-filename solid-client-full.js", "build-with-rdflib": "webpack --progress --colors --optimize-minimize --optimize-occurrence-order --optimize-dedupe --config webpack.config.js", "build-without-rdflib": "webpack --progress --colors --optimize-minimize --optimize-occurrence-order --optimize-dedupe --config webpack-no-rdflib.config.js", "build-qunit-resources": "npm run clean && mkdir -p dist/resources && npm run build-full && browserify -r ./test/resources/profile-minimal.js:test-minimal-profile -o dist/resources/test-minimal-profile.js && browserify -r ./test/resources/profile-private.js:test-minimal-prefs -o dist/resources/test-minimal-prefs.js", - "build": "npm run clean && mkdir dist && npm run build-with-rdflib && npm run build-without-rdflib", + "build": "npm run clean && mkdir dist && npm run build-lib && npm run build-with-rdflib && npm run build-without-rdflib", "clean": "rm -rf dist/", - "standard": "standard lib/*", + "standard": "standard src/*", "tape": "tape test/unit/*.js", "test": "npm run standard && npm run tape", "qunit": "npm run build-qunit-resources && open test/integration/index.html", "preversion": "npm test", "postversion": "git push --follow-tags", - "prepublish": "npm run build" + "prepublish": "npm run test && npm run build" }, "babel": { "presets": [ @@ -55,19 +55,16 @@ }, "homepage": "https://github.com/solid/solid-client", "dependencies": { + "babel-cli": "^6.18.0", + "babel-preset-es2015": "^6.18.0", "rdflib": "^0.12.1", "shorthash": "0.0.2", "solid-auth-tls": "0.0.4", "solid-namespace": "^0.1.0", - "solid-permissions": "^0.4.1", + "solid-permissions": "^0.5.0", "solid-web-client": "0.0.9" }, "devDependencies": { - "babel-cli": "^6.11.4", - "babel-core": "^6.11.4", - "babel-loader": "^6.2.4", - "babel-preset-es2015": "^6.9.0", - "blue-tape": "^0.2.0", "json-loader": "^0.5.4", "qunit": "^0.9.0", "standard": "^5.4.1", diff --git a/lib/app-registry.js b/src/app-registry.js similarity index 100% rename from lib/app-registry.js rename to src/app-registry.js diff --git a/lib/identity.js b/src/identity.js similarity index 100% rename from lib/identity.js rename to src/identity.js diff --git a/index.js b/src/index.js similarity index 76% rename from index.js rename to src/index.js index 908a7a2..11a6dd2 100755 --- a/index.js +++ b/src/index.js @@ -33,32 +33,32 @@ https://github.com/solid/solid * @main solid-client */ -var rdf = require('./lib/util/rdf-parser') -var acl = require('solid-permissions') -var webClient = require('solid-web-client')(rdf) -var ClientAuthTLS = require('solid-auth-tls') -var auth = new ClientAuthTLS(webClient) -var identity = require('./lib/identity') -var ns = require('solid-namespace')(rdf) +const rdf = require('./util/rdf-parser') +const webClient = require('solid-web-client')(rdf) +const ClientAuthTLS = require('solid-auth-tls') +const auth = new ClientAuthTLS(webClient) +const identity = require('./identity') +const ns = require('solid-namespace')(rdf) +const acl = require('solid-permissions') /** * @class Solid * @static */ -var Solid = { - acl: acl.acl, - AppRegistration: require('./lib/solid/app-registration'), - appRegistry: require('./lib/app-registry'), - auth: auth, - config: require('./config'), +const Solid = { + acl, + AppRegistration: require('./solid/app-registration'), + appRegistry: require('./app-registry'), + auth, + config: require('../config'), currentUser: auth.currentUser.bind(auth), - identity: require('./lib/identity'), + identity: require('./identity'), login: auth.login.bind(auth), - meta: require('./lib/meta'), + meta: require('./meta'), rdflib: rdf, signup: auth.signup.bind(auth), - status: require('./lib/status'), - typeRegistry: require('./lib/type-registry'), + status: require('./status'), + typeRegistry: require('./type-registry'), vocab: ns, web: webClient } diff --git a/lib/meta.js b/src/meta.js similarity index 100% rename from lib/meta.js rename to src/meta.js diff --git a/lib/registry.js b/src/registry.js similarity index 100% rename from lib/registry.js rename to src/registry.js diff --git a/lib/solid/app-registration.js b/src/solid/app-registration.js similarity index 100% rename from lib/solid/app-registration.js rename to src/solid/app-registration.js diff --git a/lib/solid/index-registration.js b/src/solid/index-registration.js similarity index 100% rename from lib/solid/index-registration.js rename to src/solid/index-registration.js diff --git a/lib/solid/profile.js b/src/solid/profile.js similarity index 100% rename from lib/solid/profile.js rename to src/solid/profile.js diff --git a/lib/status.js b/src/status.js similarity index 100% rename from lib/status.js rename to src/status.js diff --git a/lib/type-registry.js b/src/type-registry.js similarity index 100% rename from lib/type-registry.js rename to src/type-registry.js diff --git a/lib/util/graph-util.js b/src/util/graph-util.js similarity index 100% rename from lib/util/graph-util.js rename to src/util/graph-util.js diff --git a/lib/util/rdf-parser.js b/src/util/rdf-parser.js similarity index 100% rename from lib/util/rdf-parser.js rename to src/util/rdf-parser.js diff --git a/lib/util/web-util.js b/src/util/web-util.js similarity index 100% rename from lib/util/web-util.js rename to src/util/web-util.js diff --git a/test/resources/acl-container-ttl.js b/test/resources/acl-container-ttl.js deleted file mode 100644 index 25fcf7c..0000000 --- a/test/resources/acl-container-ttl.js +++ /dev/null @@ -1,31 +0,0 @@ -module.exports = `@prefix acl: . -@prefix foaf: . - -<#authorization1> - a acl:Authorization; - - # These statements specify access rules for the /docs/ container itself: - acl:agent - , - , - , - ; - acl:accessTo ; - acl:mode - acl:Read, acl:Write, acl:Control; - - acl:origin - ; - - # defaultForNew says: this authorization (the statements above) will also - # be inherited by any resource within that container that doesn't have its - # own ACL. - acl:defaultForNew . - # soon to be: - # acl:default . - -<#authorization2> - a acl:Authorization; - acl:agentClass foaf:Agent; # everyone - acl:mode acl:Read; # has Read-only access - acl:accessTo . # to the public profile` diff --git a/test/unit/app-registry-test.js b/test/unit/app-registry-test.js index 413b028..7a55a49 100644 --- a/test/unit/app-registry-test.js +++ b/test/unit/app-registry-test.js @@ -1,12 +1,12 @@ 'use strict' -var appRegistry = require('../../lib/app-registry') -var parseGraph = require('../../lib/util/graph-util').parseGraph -var registry = require('../../lib/registry') +var appRegistry = require('../../src/app-registry') +var parseGraph = require('../../src/util/graph-util').parseGraph +var registry = require('../../src/registry') var test = require('tape') -var AppRegistration = require('../../lib/solid/app-registration') +var AppRegistration = require('../../src/solid/app-registration') -var rdf = require('../../lib/util/rdf-parser') +var rdf = require('../../src/util/rdf-parser') var vocab = require('solid-namespace')(rdf) test('blankPublicAppRegistry() test', function (t) { diff --git a/test/unit/solid-client-test.js b/test/unit/solid-client-test.js new file mode 100644 index 0000000..92091c1 --- /dev/null +++ b/test/unit/solid-client-test.js @@ -0,0 +1,13 @@ +'use strict' +const test = require('tape') +const solid = require('../../src/index') + +test('solid-permissions api export test', t => { + t.ok(solid.acl, 'solid-permissions lib not exposed as solid.acl') + t.ok(solid.acl.Authorization) + t.ok(solid.acl.PermissionSet) + t.ok(solid.acl.READ && solid.acl.WRITE && solid.acl.APPEND && + solid.acl.CONTROL) + t.ok(solid.acl.ALL_MODES) + t.end() +}) diff --git a/test/unit/solid-profile-test.js b/test/unit/solid-profile-test.js index 0db91ab..f305211 100644 --- a/test/unit/solid-profile-test.js +++ b/test/unit/solid-profile-test.js @@ -1,10 +1,10 @@ 'use strict' var test = require('tape') -var SolidProfile = require('../../lib/solid/profile') -var parseGraph = require('../../lib/util/graph-util').parseGraph +var SolidProfile = require('../../src/solid/profile') +var parseGraph = require('../../src/util/graph-util').parseGraph -var rdf = require('../../lib/util/rdf-parser') +var rdf = require('../../src/util/rdf-parser') var vocab = require('solid-namespace')(rdf) var rawProfileSource = require('../resources/profile-extended') diff --git a/test/unit/type-registry-test.js b/test/unit/type-registry-test.js index 3ef19b6..50a409f 100644 --- a/test/unit/type-registry-test.js +++ b/test/unit/type-registry-test.js @@ -1,11 +1,11 @@ 'use strict' -var registry = require('../../lib/registry') +var registry = require('../../src/registry') var test = require('tape') -var typeRegistry = require('../../lib/type-registry') -var parseGraph = require('../../lib/util/graph-util').parseGraph -var SolidProfile = require('../../lib/solid/profile') -var rdf = require('../../lib/util/rdf-parser') +var typeRegistry = require('../../src/type-registry') +var parseGraph = require('../../src/util/graph-util').parseGraph +var SolidProfile = require('../../src/solid/profile') +var rdf = require('../../src/util/rdf-parser') var vocab = require('solid-namespace')(rdf) var rawProfileSource = require('../resources/profile-extended') diff --git a/test/unit/vocab-test.js b/test/unit/vocab-test.js index c561e2e..22ce3de 100644 --- a/test/unit/vocab-test.js +++ b/test/unit/vocab-test.js @@ -1,7 +1,7 @@ 'use strict' var test = require('tape') -var solid = require('../../index') +var solid = require('../../src/index') test('solid.vocab test', function (t) { t.plan(1) diff --git a/webpack.config.js b/webpack.config.js index 83a1354..a1a9e3b 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -2,7 +2,7 @@ var path = require('path') module.exports = { entry: [ - './index.js' + './lib/index.js' ], output: { path: path.join(__dirname, '/dist/'), @@ -19,7 +19,7 @@ module.exports = { loaders: [ { test: /\.js$/, - // exclude: /(node_modules)/, + exclude: /(node_modules)/, loader: 'babel', query: { presets: ['es2015']