JSPM

"Gładki menedżer pakietów dla przeglądarki"

 

Frictionless browser package management

Eksperymentalny projekt badający czym package manager dla przeglądarki może być.

Jeszcze jeden package manager

NPM
+
Github

es6-module-loader
SystemJS
transpile

Jeszcze jeden loader?

es6-module-loader

import {map, assing} from 'lodash';
import myModule from './some/path/myModule.js';

export default function Controller() {};
export function addon() {};

export {EventEmitter} from 'events';

SystemJS

AMD

CommonJS

Globals

Pluginy

import 'bootstrap.css!';

import 'data.json!';

import 'template.html!';

import 'anyFile!myPlugin';

Od wersji 0.17

SystemJS jest zbudowany na bazie

es6-module-loader.

Transpilers

  • Optymalizacja JSX

  • 71% wsparcia ES6

  • częściowe wsparcie dla ES7

Manifesto

single line install

single line require

import lodash from 'lodash';
jspm install lodash

Dodawanie własnych paczek

{
  "main": "angular-translate-loader-partial",
  "registry": "jspm",
  "format": "global",
  "dependencies": {
    "angular": "^1.2.26",
    "angular-translate": "^2.5.2"
  },
  "shim": {
    "angular-translate-loader-partial": {
      "deps": [
        "angular",
        "angular-translate"
      ]
    }
  }
}

github.com/guybedford

@sztobar

Dziękuję za uwagę

JSPM lightning talk

By Bartosz Szewczyk

JSPM lightning talk

  • 1,042