Skip to content

Commit

Permalink
なでしこの変数管理をObjectからMapに変更する #1638
Browse files Browse the repository at this point in the history
  • Loading branch information
kujirahand committed May 1, 2024
1 parent 6bc6486 commit 7f41c8d
Show file tree
Hide file tree
Showing 8 changed files with 100 additions and 94 deletions.
90 changes: 45 additions & 45 deletions package.json
@@ -1,6 +1,6 @@
{
"name": "nadesiko3",
"version": "3.5.3",
"version": "3.6.0",
"description": "Japanese Programming Language",
"type": "module",
"main": "src/index.mjs",
Expand All @@ -23,6 +23,7 @@
"test:bundled:watch": "cross-env TZ=Asia/Tokyo NODE_ENV=development karma start --auto-watch --browsers FirefoxCustom test/bundled/karma.config.cjs",
"test:ace-editor": "cross-env TZ=Asia/Tokyo NODE_ENV=development karma start --single-run --browsers FirefoxCustomHeadless test/ace_editor/karma.config.cjs",
"test:selenium": "./test/selenium/gotest.sh",
"test:e": "mocha test/node/wnako3_editor_test.mjs",
"test:all": "npm test && npm run test:core && npm run test:node && npm run test:browser && npm run test:bundled && npm run test:ace-editor",
"test:bundled:win": "cross-env TZ=Asia/Tokyo NODE_ENV=development karma start --single-run --browsers FirefoxCustomHeadless,ChromeCustomHeadless,EdgeHeadless,IE test/bundled/karma.config.base.js",
"build:nako_version": "node src/cnako3.mjs batch/build_nako_version.nako3",
Expand Down Expand Up @@ -90,73 +91,72 @@
"utils": "/utils"
},
"devDependencies": {
"@babel/cli": "^7.6.4",
"@babel/core": "^7.18.2",
"@babel/preset-env": "^7.18.2",
"@babel/preset-react": "^7.17.12",
"@types/fs-extra": "^11.0.1",
"@types/mocha": "^10.0.1",
"@types/node": "^20.10.5",
"@types/opener": "^1.4.0",
"@types/shell-quote": "^1.7.1",
"@typescript-eslint/eslint-plugin": "^5.26.0",
"@typescript-eslint/parser": "^5.26.0",
"babel-loader": "^9.1.2",
"browserslist": "^4.20.3",
"@babel/cli": "^7.24.5",
"@babel/core": "^7.24.5",
"@babel/preset-env": "^7.24.5",
"@babel/preset-react": "^7.24.1",
"@eslint/js": "^9.1.1",
"@types/fs-extra": "^11.0.4",
"@types/mocha": "^10.0.6",
"@types/node": "^20.12.7",
"@types/opener": "^1.4.3",
"@types/shell-quote": "^1.7.5",
"babel-loader": "^9.1.3",
"browserslist": "^4.23.0",
"buffer": "^6.0.3",
"chai": "^5.0.0",
"chai": "^5.1.0",
"constants-browserify": "^1.0.0",
"core-js": "^3.22.7",
"core-js": "^3.37.0",
"cross-env": "^7.0.3",
"crypto-browserify": "^3.12.0",
"css-loader": "^7.1.1",
"es6-promise": "^4.2.8",
"eslint": "^8.17.0",
"eslint-config-prettier": "^9.0.0",
"eslint": "^8.57.0",
"eslint-config-standard": "^17.1.0",
"eslint-plugin-import": "^2.26.0",
"eslint-plugin-json": "^3.1.0",
"eslint-plugin-promise": "^6.0.0",
"eslint-plugin-react": "^7.25.3",
"eslint-plugin-import": "^2.29.1",
"eslint-plugin-n": "^16.6.2",
"eslint-plugin-promise": "^6.1.1",
"fetch-mock": "^9.11.0",
"hotkeys-js": "^3.9.4",
"globals": "^15.1.0",
"hotkeys-js": "^3.13.7",
"markdownlint": "^0.34.0",
"markdownlint-cli": "^0.38.0",
"mocha": "^10.2.0",
"markdownlint-cli": "^0.40.0",
"mocha": "^10.4.0",
"mocha-css": "^1.0.1",
"module-alias": "^2.2.2",
"npm-check-updates": "^16.6.2",
"module-alias": "^2.2.3",
"npm-check-updates": "^16.14.20",
"os-browserify": "^0.3.0",
"path-browserify": "^1.0.1",
"prettier": "^3.1.1",
"prettier": "^3.2.5",
"prop-types": "^15.8.1",
"pump": "^3.0.0",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"regenerator-runtime": "^0.14.1",
"source-map": "^0.7.3",
"standard": "^16.0.4",
"source-map": "^0.7.4",
"standard": "^17.1.0",
"stats-webpack-plugin": "^0.7.0",
"stream-browserify": "^3.0.0",
"style-loader": "^4.0.0",
"stylelint": "^16.1.0",
"terser-webpack-plugin": "^5.3.1",
"testdouble": "^3.16.5",
"typescript": "^5.0.3",
"stylelint": "^16.4.0",
"terser-webpack-plugin": "^5.3.10",
"testdouble": "^3.20.2",
"typescript": "^5.4.5",
"typescript-eslint": "^7.8.0",
"url-loader": "^4.1.1",
"util": "^0.12.4",
"webpack": "^5.72.1",
"webpack-bundle-analyzer": "^4.5.0",
"webpack-cli": "^5.0.1"
"util": "^0.12.5",
"webpack": "^5.91.0",
"webpack-bundle-analyzer": "^4.10.2",
"webpack-cli": "^5.1.4"
},
"dependencies": {
"dayjs": "^1.11.2",
"fs-extra": "^11.1.0",
"dayjs": "^1.11.11",
"fs-extra": "^11.2.0",
"html": "^1.0.0",
"iconv-lite": "^0.6.3",
"marked": "^12.0.0",
"node-fetch": "^3.2.4",
"marked": "^12.0.2",
"node-fetch": "^3.3.2",
"opener": "^1.5.2",
"shell-quote": "^1.7.3"
"shell-quote": "^1.8.1"
}
}
4 changes: 2 additions & 2 deletions src/cnako3mod.mts
Expand Up @@ -62,8 +62,8 @@ export class CNako3 extends NakoCompiler {
}
// 必要な定数を設定
this.addListener('beforeRun', (g: NakoGlobal) => {
g.__varslist[0]['ナデシコ種類'] = 'cnako3'
g.__varslist[0]['ナデシコバージョン'] = this.version
g.__varslist[0].set('ナデシコ種類', 'cnako3')
g.__varslist[0].set('ナデシコバージョン', this.version)
})
}

Expand Down
6 changes: 3 additions & 3 deletions src/nako_version.mts
Expand Up @@ -11,9 +11,9 @@ export interface NakoVersion {
}
// 実際のバージョン定義 (自動生成されるので以下を編集しない)
const nakoVersion: NakoVersion = {
version: '3.5.3',
version: '3.6.0',
major: 3,
minor: 5,
patch: 3
minor: 6,
patch: 0
}
export default nakoVersion
30 changes: 15 additions & 15 deletions src/plugin_browser.mts
Expand Up @@ -62,13 +62,13 @@ const PluginBrowser = {
const loc: any = (typeof win.location === 'undefined') ? { 'href': 'http://localhost/' } : win.location

// 定数を初期化
sys.__v0['AJAX:ONERROR'] = (err: any) => { console.log(err) }
sys.__setSysVar('AJAX:ONERROR', (err: any) => { console.log(err) })
// オブジェクトを初期化
sys.__v0.DOCUMENT = doc
sys.__v0.WINDOW = win
sys.__v0.NAVIGATOR = nav
sys.__v0['DOM親要素'] = doc.body
sys.__v0['ブラウザURL'] = loc.href
sys.__setSysVar('DOCUMENT', doc)
sys.__setSysVar('WINDOW', win)
sys.__setSysVar('NAVIGATOR', nav)
sys.__setSysVar('DOM親要素', doc.body)
sys.__setSysVar('ブラウザURL', loc.href)

// 便利なメソッドを定義
sys.__tohtml = (text: string): string => {
Expand Down Expand Up @@ -99,8 +99,8 @@ const PluginBrowser = {
}
// make wrapper func
const wrapperFunc = (e: any) => {
sys.__v0['対象'] = e.target
sys.__v0['対象イベント'] = e
sys.__setSysVar('対象', e.target)
sys.__setSysVar('対象イベント', e)
// 追加データが得られる場合
if (setHandler) { setHandler(e, sys) }
if (sys.__genMode === '非同期モード') { sys.newenv = true }
Expand All @@ -112,13 +112,13 @@ const PluginBrowser = {
}
// キーイベントハンドラ
sys.__keyHandler = (e: any, sys: any) => {
sys.__v0['押キー'] = e.key
sys.__setSysVar('押キー', e.key)
}
// マウスイベントハンドラ
sys.__mouseHandler = (e, sys) => {
const box = e.target.getBoundingClientRect()
sys.__v0['マウスX'] = e.clientX - box.left
sys.__v0['マウスY'] = e.clientY - box.top
sys.__setSysVar('マウスX', e.clientX - box.left)
sys.__setSysVar('マウスY', e.clientY - box.top)
}
// タッチイベントハンドラ
sys.__touchHandler = (e, sys) => {
Expand All @@ -131,12 +131,12 @@ const PluginBrowser = {
const tx = t.clientX - box.left
const ty = t.clientY - box.top
if (i === 0) {
sys.__v0['タッチX'] = tx
sys.__v0['タッチY'] = ty
sys.__setSysVar('タッチX', tx)
sys.__setSysVar('タッチY', ty)
}
ts.push([tx, ty])
}
sys.__v0['タッチ配列'] = ts
sys.__setSysVar('タッチ配列', ts)
return ts
}
// DOMイベント削除 (探して削除)
Expand Down Expand Up @@ -181,7 +181,7 @@ const PluginBrowser = {
if (!elm) {
if (isGetFunc) {
// 取得イベントではコンソールにヒントを出す
console.warn(`[ヒント](${sys.__v0.line})『${commandName}』でDOM取得に失敗しています。DOM=`, dom)
console.warn(`[ヒント](${sys.__getSysVar('__line')})『${commandName}』でDOM取得に失敗しています。DOM=`, dom)
} else {
// 設定イベントでは実行時エラーにする
const desc = (typeof dom === 'string') ? dom : String(dom)
Expand Down

0 comments on commit 7f41c8d

Please sign in to comment.