feeles-ide
Version:
The hackable and serializable IDE to make learning material
67 lines (56 loc) • 2.29 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread"));
var _ava = _interopRequireDefault(require("ava"));
var _fs = _interopRequireDefault(require("fs"));
var _path = _interopRequireDefault(require("path"));
var _convertAsset = _interopRequireDefault(require("./convertAsset"));
(0, _ava.default)('convertAsset', function (t) {
var assetPath = _path.default.resolve(__dirname, '../../samples/hello-world/feeles/.asset.yml');
var assetYml = _fs.default.readFileSync(assetPath, {
encoding: 'utf8'
});
t.deepEqual((0, _convertAsset.default)([assetYml]), {
buttons: [ログ, item, _import],
categories: [],
module: {},
scopes: [{
name: 'アセット',
defaultActiveCategory: -1
}],
version: ''
});
});
var base = {
scopes: [0],
// スコープのインデックスを配列で指定する. null の場合は常に表示
moduleCode: null,
// 改造ボタン用のコード. null の場合は改造不可
category: -1,
// カテゴリーのインデックスを指定する
iconUrl: null,
// アセットのアイコンの URL
production: true,
// www.hackforplay.xyz に表示する場合は true. earlybird だけなら false
plan: 'free',
// 'free' にする
variations: null // 色違いなどひとまとめにするアセットの情報. このアセット本体も含む配列
};
var ログ = (0, _objectSpread2.default)({}, base, {
name: 'ログ',
description: null,
insertCode: "console.log(('\u25BC \u30C9\u30ED\u30C3\u30D7\u30C0\u30A6\u30F3', '\u307B\u3052'));\n",
filePath: null
});
var item = (0, _objectSpread2.default)({}, base, {
name: 'item',
description: 'const item から始まる変数は自動的にインクリメントされる',
insertCode: "// \u5909\u6570\nconst item1 = 1;\nitem1.toString();\nfunction item1Func() {\n const item2 = 1;\n item2.toString();\n}\n",
filePath: null
});
var _import = (0, _objectSpread2.default)({}, base, {
name: 'import',
description: '他のファイルをインポートする',
insertCode: "import message from 'sub/message';\nconsole.log(message);\n",
filePath: 'sub/message.js'
});