Simon
Simon

Reputation: 2623

riotts (riot-ts) and jspm - anyone got it working together?

I have been looking at this ambitious project https://github.com/nippur72/RiotTS that has moved riotjs over to riot-ts. The author has used bower, and I am trying to get it working using jspm.

riot-ts doesn't exist in the jspm repo list, so I imported using jspm install npm:riot-ts

package.json:

{
"jspm": {
  "directories": {
    "baseURL": "public/assets"
  },
  "dependencies": {
    "riot-ts": "npm:riot-ts@^1.0.14"
  },
  "devDependencies": {
    "babel": "npm:babel-core@^5.8.24",
    "babel-runtime": "npm:babel-runtime@^5.8.24",
    "core-js": "npm:core-js@^1.1.4"
  }
},
"devDependencies": {
  "elixir-jasmine": "0.0.4",
  "gulp": "^3.9.1",
  "jspm": "^0.16.35",
  "laravel-elixir": "^6.0.0-2",
  "laravel-elixir-browsersync": "^0.1.5",
  "ws-laravel-elixir-typescript": "git+https://github.com/we-studio/laravel-elixir-typescript.git"
},
"dependencies": {
  "bootstrap": "^4.0.0-alpha.2"
}
}

SystemJS config (omitted some files for brevity):

    System.config({
    defaultJSExtensions: true,
    transpiler: "babel",
    babelOptions: {
        "optional": [
            "runtime",
            "optimisation.modules.system"
        ]
    },
    paths: {
        "github:*": "jspm_packages/github/*",
        "npm:*": "jspm_packages/npm/*"
    },
    map: {
        "babel": "npm:[email protected]",
        "babel-runtime": "npm:[email protected]",
        "core-js": "npm:[email protected]",
        "riot-ts": "npm:[email protected]",
        "npm:[email protected]": {
            "chalk": "npm:[email protected]",
            "chokidar": "npm:[email protected]",
            "cluster": "github:jspm/[email protected]",
            "co": "npm:[email protected]",
            "optionator": "npm:[email protected]",
            "path": "github:jspm/[email protected]",
            "process": "github:jspm/[email protected]",
            "riot-compiler": "npm:[email protected]",
            "rollup": "npm:[email protected]",
            "shelljs": "npm:[email protected]",
            "systemjs-json": "github:systemjs/[email protected]"
        },
        "npm:[email protected]": {
            "buffer": "github:jspm/[email protected]",
            "fs": "github:jspm/[email protected]",
            "path": "github:jspm/[email protected]",
            "process": "github:jspm/[email protected]"
        },
        "npm:[email protected]": {
            "riot-observable": "npm:[email protected]"
        },
        "npm:[email protected]": {
            "process": "github:jspm/[email protected]"
        },
        "npm:[email protected]": {
            "riot": "npm:[email protected]"
        },
        "npm:[email protected]": {
            "fs": "github:jspm/[email protected]",
            "path": "github:jspm/[email protected]",
            "process": "github:jspm/[email protected]",
            "riot-cli": "npm:[email protected]",
            "riot-compiler": "npm:[email protected]",
            "riot-observable": "npm:[email protected]",
            "riot-route": "npm:[email protected]",
            "riot-tmpl": "npm:[email protected]",
            "simple-dom": "npm:[email protected]",
            "simple-html-tokenizer": "npm:[email protected]"
        },
        "github:jspm/[email protected]": "...",
        "github:jspm/[email protected]": "...",
        "github:jspm/[email protected]": "...",
        "github:jspm/[email protected]": "...",
        "github:jspm/[email protected]": "...",
        "github:jspm/[email protected]": "...",
        "github:jspm/[email protected]": "...",
        "github:jspm/[email protected]": "...",
        "github:jspm/[email protected]": "...",
        "github:jspm/[email protected]": "...",
        "github:jspm/[email protected]": "...",
        "github:jspm/[email protected]": "...",
        "github:jspm/[email protected]": "...",
        "github:jspm/[email protected]": "...",
        "github:jspm/[email protected]": "...",
        "github:jspm/[email protected]": "...",
        "github:jspm/[email protected]": "...",
        "github:jspm/[email protected]": "...",
        "github:jspm/[email protected]": "...",
        "github:jspm/[email protected]": "...",
        "github:jspm/[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "crypto": "github:jspm/[email protected]",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "...",
        "npm:[email protected]": "..."
    }
});

Even in the plainest setup, TSC complains it can't find Riot tsc app.ts --module AMD

Error from gulp

    fullFilename: 'aLongPath/leg-13-calculator/public/assets/jspm_packages/npm/[email protected]/index.ts',
  relativeFilename: 'public/assets/jspm_packages/npm/[email protected]/index.ts',
  file: <File "jspm_packages/npm/[email protected]/index.ts" <Buffer 69 6d 70 6f 72 74 20 2a 20 61 73 20 72 69 6f 74 20 66 72 6f 6d 20 22 72 69 6f 74 22 0d 0a 0d 0a 65 78 70 6f 72 74 20 66 75 6e 63 74 69 6f 6e 20 74 65 ... >>,
  startPosition: { position: 22, line: 1, character: 23 },
  endPosition: { position: 27, line: 1, character: 29 },
  message: '\u001b[31mpublic/assets/jspm_packages/npm/[email protected]/index.ts(1,23): \u001b[39merror TS2307: Cannot find module \'riot\'.' }

This file exists. The path is correct. It just isn't finding riot.

Does anyone have an example of riot-ts working with jspm?

Update 01-06-2016

Update 02-06-2016

Upvotes: 2

Views: 351

Answers (1)

icarito
icarito

Reputation: 328

Can not get the @template decorator working within typescript. Have tried multiple ts definition files. TS just barfs...

Try installing the latest development version with npm install -g typescript@next

You can create a file called tsconfig.json containing:

{ "compilerOptions": { ... "experimentalDecorators": true, ... ]

I also noticed that the author of Riot-TS has published a hello world for using jspm, you might want to check out his tsconfig.json file at https://github.com/nippur72/RiotTS-helloworld/blob/gh-pages/example-old-jpm/tsconfig.json

Good luck!

Upvotes: 0

Related Questions