UNPKG

feeles-ide

Version:

The hackable and serializable IDE to make learning material

67 lines (56 loc) 2.29 kB
"use strict"; 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' });