riotts (riot-ts) и jspm — кто-нибудь работал вместе?

Я рассматривал этот амбициозный проект https://github.com/nippur72/RiotTS, который переместил riotjs к riot-ts. Автор использовал Bower, и я пытаюсь заставить его работать с помощью jspm.

riot-ts не существует в списке репозиториев jspm, поэтому я импортировал с помощью jspm install npm:riot-ts

пакет.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 (некоторые файлы для краткости опущены):

    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]": "..."
    }
});

Даже в самой простой настройке TSC жалуется, что не может найти Riot tsc app.ts --module AMD

Ошибка от глотка

    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\'.' }

Этот файл существует. Путь правильный. Он просто не находит бунт.

У кого-нибудь есть пример работы riot-ts с jspm?

Обновление от 06 01 2016

  • Не было файла типизации. Руководство по http://jspm.io/docs/getting-started.html < strong>надо упомянуть об этом. Много часов потрачено впустую.
  • Хотя это исправляет ошибку машинописного текста, это не исправляет интеграцию riot-ts. Я пока вернулся в беседку.

Обновление от 06 февраля 2016 г.

  • Не удается заставить декоратор @template работать в машинописном тексте. Пробовали несколько файлов определения ts. ТС просто блюет...

person Simon    schedule 31.05.2016    source источник
comment
в любом случае передать baseDir в tsc?   -  person YOU    schedule 31.05.2016
comment
Отзыв основного участника riot-ts: github.com/nippur72/RiotTS/issues/31   -  person Simon    schedule 01.06.2016


Ответы (1)


Не удается заставить декоратор @template работать в машинописном тексте. Пробовали несколько файлов определения ts. ТС просто блюет...

Попробуйте установить последнюю разрабатываемую версию с помощью npm install -g typescript@next

Вы можете создать файл с именем tsconfig.json, содержащий:

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

Я также заметил, что автор Riot-TS опубликовал hello world для использования jspm, вы можете проверить его файл tsconfig.json по адресу https://github.com/nippur72/RiotTS-helloworld/blob/gh-pages/example-old-jpm/tsconfig.json

Удачи!

person icarito    schedule 11.10.2016
comment
Я пока отложил это. Просто используя обычный браузер через эликсир laravel. Экспериментальные декораторы, которые я включил. - person Simon; 12.10.2016