diff --git a/packages/xod-fs/test/welcomeToXod.spec.js b/packages/xod-fs/test/welcomeToXod.spec.js new file mode 100644 index 00000000..8922e55b --- /dev/null +++ b/packages/xod-fs/test/welcomeToXod.spec.js @@ -0,0 +1,27 @@ +import { assert } from 'chai'; +import path from 'path'; + +import { Project } from 'xod-project'; + +import { loadProjectWithLibs } from '../src/load'; +import pack from '../src/pack'; + +describe('welcome-to-xod', () => { + const workspace = path.resolve(__dirname, '../../../workspace'); + const projectPath = 'welcome-to-xod'; + + it('should load as a valid project', () => + loadProjectWithLibs(projectPath, workspace) + .then(({ project, libs }) => { + const packed = pack(project, libs); + assert.isAtLeast( + Object.keys(packed.patches).length, + 1, + 'must have some patches' + ); + + const eitherValidationResult = Project.validate(packed); + assert.isTrue(eitherValidationResult.isRight); + }) + ); +}); diff --git a/packages/xod-fs/yarn.lock b/packages/xod-fs/yarn.lock index 9b44fa26..81e32aa2 100644 --- a/packages/xod-fs/yarn.lock +++ b/packages/xod-fs/yarn.lock @@ -25,6 +25,10 @@ chai@^3.5.0: deep-eql "^0.1.3" type-detect "^1.0.0" +colors@0.5.x: + version "0.5.1" + resolved "https://registry.yarnpkg.com/colors/-/colors-0.5.1.tgz#7d0023eaeb154e8ee9fce75dcb923d0ed1667774" + concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" @@ -35,6 +39,10 @@ deep-eql@^0.1.3: dependencies: type-detect "0.1.1" +discontinuous-range@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/discontinuous-range/-/discontinuous-range-1.0.0.tgz#e38331f0844bba49b9a9cb71c771585aab1bc65a" + expand-home-dir@0.0.3: version "0.0.3" resolved "https://registry.yarnpkg.com/expand-home-dir/-/expand-home-dir-0.0.3.tgz#72de8a0486cc28a3bbd704635398825b5b62827d" @@ -72,6 +80,22 @@ graceful-fs@^4.1.2, graceful-fs@^4.1.6: version "4.1.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" +hm-def@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/hm-def/-/hm-def-0.1.2.tgz#dbf13ef2890a3be67c48c680be8f58acacb8f820" + dependencies: + hm-parser "^0.1.3" + ramda "^0.23.0" + ramda-fantasy "^0.7.0" + sanctuary-def "^0.9.0" + +hm-parser@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/hm-parser/-/hm-parser-0.1.3.tgz#05814f83f0e891e632888072e079137545686817" + dependencies: + nearley "^2.7.12" + ramda "^0.23.0" + inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" @@ -109,6 +133,21 @@ mkdirp@~0.5.0: dependencies: minimist "0.0.8" +nearley@^2.7.12: + version "2.9.2" + resolved "https://registry.yarnpkg.com/nearley/-/nearley-2.9.2.tgz#b06e36b2341403a43e20b7da1f1d6a553f7389ea" + dependencies: + nomnom "~1.6.2" + railroad-diagrams "^1.0.0" + randexp "^0.4.2" + +nomnom@~1.6.2: + version "1.6.2" + resolved "https://registry.yarnpkg.com/nomnom/-/nomnom-1.6.2.tgz#84a66a260174408fc5b77a18f888eccc44fb6971" + dependencies: + colors "0.5.x" + underscore "~1.4.4" + once@^1.3.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" @@ -123,10 +162,27 @@ path-parse@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" -ramda@^0.23.0: +railroad-diagrams@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz#eb7e6267548ddedfb899c1b90e57374559cddb7e" + +ramda-fantasy@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/ramda-fantasy/-/ramda-fantasy-0.7.0.tgz#ac77a7a5d55dfc1ddc224ac418e9be8900c65d17" + dependencies: + ramda ">=0.15.0" + +ramda@>=0.15.0, ramda@^0.23.0: version "0.23.0" resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.23.0.tgz#ccd13fff73497a93974e3e86327bfd87bd6e8e2b" +randexp@^0.4.2: + version "0.4.5" + resolved "https://registry.yarnpkg.com/randexp/-/randexp-0.4.5.tgz#ffe3a80c3f666cd71e6b008e477e584c1a32ff3e" + dependencies: + discontinuous-range "1.0.0" + ret "~0.1.10" + rechoir@^0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" @@ -145,6 +201,27 @@ resolve@^1.1.6: dependencies: path-parse "^1.0.5" +ret@~0.1.10: + version "0.1.14" + resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.14.tgz#58c636837b12e161f8a380cf081c6a230fd1664e" + +sanctuary-def@^0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/sanctuary-def/-/sanctuary-def-0.9.0.tgz#a54bc330ec955d0ef47752317a01657db6d4760e" + dependencies: + sanctuary-type-classes "2.0.x" + sanctuary-type-identifiers "1.0.x" + +sanctuary-type-classes@2.0.x: + version "2.0.1" + resolved "https://registry.yarnpkg.com/sanctuary-type-classes/-/sanctuary-type-classes-2.0.1.tgz#06b6cfd78e3e8d85cd93f5c2d7b08796b68d1e74" + dependencies: + sanctuary-type-identifiers "1.0.x" + +sanctuary-type-identifiers@1.0.x: + version "1.0.0" + resolved "https://registry.yarnpkg.com/sanctuary-type-identifiers/-/sanctuary-type-identifiers-1.0.0.tgz#e8f359f006cb5e624cfb8464603fc114608bde9f" + shelljs@^0.7.7: version "0.7.7" resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.7.tgz#b2f5c77ef97148f4b4f6e22682e10bba8667cff1" @@ -161,6 +238,10 @@ type-detect@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-1.0.0.tgz#762217cc06db258ec48908a1298e8b95121e8ea2" +underscore@~1.4.4: + version "1.4.4" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.4.4.tgz#61a6a32010622afa07963bf325203cf12239d604" + universalify@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.0.tgz#9eb1c4651debcc670cc94f1a75762332bb967778"