nadesiko3 3.7.2 → 3.7.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/batch/command.txt +472 -469
- package/batch/pickup_command.nako3 +1 -1
- package/core/.eslintrc.cjs +10 -3
- package/core/package-lock.json +1184 -645
- package/core/package.json +4 -5
- package/core/src/nako3.mjs +8 -6
- package/core/src/nako3.mts +19 -16
- package/core/src/nako_ast.mts +2 -3
- package/core/src/nako_core_version.mjs +2 -2
- package/core/src/nako_core_version.mts +2 -2
- package/core/src/nako_csv.mjs +1 -0
- package/core/src/nako_csv.mts +3 -2
- package/core/src/nako_from_dncl.mjs +1 -1
- package/core/src/nako_from_dncl.mts +1 -1
- package/core/src/nako_from_dncl2.mjs +1 -1
- package/core/src/nako_from_dncl2.mts +2 -2
- package/core/src/nako_gen.mjs +37 -35
- package/core/src/nako_gen.mts +70 -67
- package/core/src/nako_global.mjs +3 -2
- package/core/src/nako_global.mts +3 -2
- package/core/src/nako_lexer.mjs +3 -3
- package/core/src/nako_lexer.mts +3 -3
- package/core/src/nako_logger.mjs +1 -1
- package/core/src/nako_logger.mts +2 -2
- package/core/src/nako_parser3.mjs +67 -59
- package/core/src/nako_parser3.mts +96 -90
- package/core/src/nako_parser_base.mts +3 -3
- package/core/src/nako_prepare.mjs +1 -1
- package/core/src/nako_prepare.mts +1 -1
- package/core/src/nako_source_mapping.mts +0 -1
- package/core/src/nako_token.mts +8 -8
- package/core/src/nako_types.mts +1 -1
- package/core/src/plugin_api.mts +1 -1
- package/core/src/plugin_csv.mjs +1 -0
- package/core/src/plugin_csv.mts +2 -1
- package/core/src/plugin_math.mjs +2 -2
- package/core/src/plugin_math.mts +3 -3
- package/core/src/plugin_promise.mjs +1 -1
- package/core/src/plugin_promise.mts +1 -1
- package/core/src/plugin_system.mjs +117 -40
- package/core/src/plugin_system.mts +132 -58
- package/core/src/plugin_test.mjs +3 -1
- package/core/src/plugin_test.mts +3 -1
- package/core/test/basic_test.mjs +16 -0
- package/core/test/calc_test.mjs +7 -0
- package/core/test/plugin_system_test.mjs +33 -0
- package/doc/files.md +4 -4
- package/doc/plugins.md +1 -1
- package/package.json +9 -9
- package/release/_hash.txt +36 -121
- package/release/_script-tags.txt +16 -33
- package/release/command.json +1 -1
- package/release/command.json.js +1 -1
- package/release/command_cnako3.json +1 -1
- package/release/command_list.json +1 -1
- package/release/edit_main.js +3 -3
- package/release/edit_main.js.map +2 -2
- package/release/editor.js +3 -3
- package/release/plugin_markup.js +53 -53
- package/release/plugin_markup.js.map +3 -3
- package/release/plugin_weykturtle3d.js +1 -1
- package/release/plugin_weykturtle3d.js.map +4 -4
- package/release/version.js +3 -3
- package/release/version_main.js +3 -3
- package/release/version_main.js.map +2 -2
- package/release/wnako3.js +66 -66
- package/release/wnako3.js.map +3 -3
- package/release/wnako3webworker.js +58 -58
- package/release/wnako3webworker.js.map +3 -3
- package/src/browsers.txt +30 -20
- package/src/cnako3mod.mjs +19 -18
- package/src/cnako3mod.mts +17 -16
- package/src/deno_wrapper.mjs +6 -6
- package/src/deno_wrapper.mts +11 -11
- package/src/nako_version.mjs +2 -2
- package/src/nako_version.mts +2 -2
- package/src/plugin_browser.mjs +2 -2
- package/src/plugin_browser.mts +5 -5
- package/src/plugin_browser_ajax.mjs +2 -2
- package/src/plugin_browser_ajax.mts +2 -2
- package/src/plugin_browser_api.mts +0 -1
- package/src/plugin_browser_crypto.mjs +8 -8
- package/src/plugin_browser_crypto.mts +13 -13
- package/src/plugin_browser_dom_basic.mjs +3 -3
- package/src/plugin_browser_dom_basic.mts +5 -7
- package/src/plugin_browser_dom_event.mjs +1 -1
- package/src/plugin_browser_dom_event.mts +2 -1
- package/src/plugin_browser_dom_parts.mjs +33 -18
- package/src/plugin_browser_dom_parts.mts +60 -59
- package/src/plugin_browser_speech.mjs +1 -1
- package/src/plugin_browser_speech.mts +1 -1
- package/src/plugin_node.mjs +5 -3
- package/src/plugin_node.mts +6 -4
- package/src/plugin_weykturtle3d.mjs +38 -15
- package/src/plugin_weykturtle3d.mts +279 -240
- package/src/plugin_weykturtle3d_three.mjs +3 -0
- package/src/plugin_weykturtle3d_three.mts +214 -0
- package/src/plugin_weykturtle3d_threeutil.mjs +28 -0
- package/src/plugin_weykturtle3d_threeutil.mts +31 -0
- package/src/wnako3.mjs +1 -0
- package/src/wnako3.mts +1 -0
- package/src/wnako3mod.mjs +5 -2
- package/src/wnako3mod.mts +6 -3
- package/batch/command_nakopad.txt +0 -1177
- package/core/__report.txt +0 -617
- package/core/command/plugin_snako.mjs +0 -112
- package/core/command/snako.mjs +0 -108
- package/release/core_src_nako_josi_list_mjs.js +0 -3
- package/release/core_src_nako_josi_list_mjs.js.LICENSE.txt +0 -3
- package/release/core_src_nako_josi_list_mjs.js.map +0 -1
- package/release/core_src_nako_reserved_words_mjs.js +0 -3
- package/release/core_src_nako_reserved_words_mjs.js.LICENSE.txt +0 -3
- package/release/core_src_nako_reserved_words_mjs.js.map +0 -1
- package/release/editor/edit_main.js +0 -48
- package/release/editor/edit_main.js.map +0 -7
- package/release/editor/version_main.js +0 -44
- package/release/editor/version_main.js.map +0 -7
- package/release/editor.js.LICENSE.txt +0 -91
- package/release/editor.js.map +0 -1
- package/release/nako_gen_async.js +0 -2
- package/release/nako_gen_async.js.LICENSE.txt +0 -21
- package/release/nako_gen_async.js.map +0 -1
- package/release/plugin_caniuse.js.LICENSE.txt +0 -15
- package/release/plugin_datetime.js.LICENSE.txt +0 -21
- package/release/plugin_kansuji.js.LICENSE.txt +0 -3
- package/release/plugin_markup.js.LICENSE.txt +0 -15
- package/release/plugin_toml.js +0 -295
- package/release/plugin_toml.js.map +0 -7
- package/release/plugin_turtle.js.LICENSE.txt +0 -9
- package/release/plugin_webworker.js.LICENSE.txt +0 -3
- package/release/plugin_weykturtle3d.js.LICENSE.txt +0 -3
- package/release/src/plugin_caniuse.js +0 -2
- package/release/src/plugin_caniuse.js.map +0 -7
- package/release/src/plugin_datetime.js +0 -2
- package/release/src/plugin_datetime.js.map +0 -7
- package/release/src/plugin_kansuji.js +0 -2
- package/release/src/plugin_kansuji.js.map +0 -7
- package/release/src/plugin_keigo.js +0 -2
- package/release/src/plugin_keigo.js.map +0 -7
- package/release/src/plugin_markup.js +0 -64
- package/release/src/plugin_markup.js.map +0 -7
- package/release/src/plugin_three.js +0 -2
- package/release/src/plugin_three.js.map +0 -7
- package/release/src/plugin_turtle.js +0 -2
- package/release/src/plugin_turtle.js.map +0 -7
- package/release/src/plugin_webworker.js +0 -4
- package/release/src/plugin_webworker.js.map +0 -7
- package/release/src/plugin_weykturtle3d.js +0 -2
- package/release/src/plugin_weykturtle3d.js.map +0 -7
- package/release/src/wnako3.js +0 -482
- package/release/src/wnako3.js.map +0 -7
- package/release/src/wnako3webworker.js +0 -428
- package/release/src/wnako3webworker.js.map +0 -7
- package/release/stats.json +0 -1
- package/release/version.js.LICENSE.txt +0 -65
- package/release/version.js.map +0 -1
- package/release/wnako3.js.LICENSE.txt +0 -341
- package/release/wnako3webworker.js.LICENSE.txt +0 -209
- package/src/plugin_three.mts +0 -240
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
/* eslint-disable no-use-before-define */
|
|
2
|
+
/* eslint-disable @typescript-eslint/no-misused-new */
|
|
3
|
+
|
|
4
|
+
export type EulerOrder = string
|
|
5
|
+
export type EulerArray = [number, number, number]|[number, number, number, EulerOrder]
|
|
6
|
+
interface RendererOptions {
|
|
7
|
+
antialias?: boolean
|
|
8
|
+
alpha?: boolean
|
|
9
|
+
canvas?: HTMLCanvasElement
|
|
10
|
+
}
|
|
11
|
+
export interface ArrowHelper extends LineSegments {
|
|
12
|
+
new (dir: Vector3, origin: Vector3, len: number, c: Color|number): ArrowHelper
|
|
13
|
+
setDirection (dir: Vector3): void
|
|
14
|
+
}
|
|
15
|
+
export interface AxesHelper extends LineSegments {
|
|
16
|
+
new (n: number): AxesHelper
|
|
17
|
+
}
|
|
18
|
+
interface AxisHelper extends LineSegments {
|
|
19
|
+
new (n: number): AxisHelper
|
|
20
|
+
}
|
|
21
|
+
interface BufferAttribute {
|
|
22
|
+
new (v: Float32Array, n: number): BufferAttribute
|
|
23
|
+
copyArray (a: number[]): void
|
|
24
|
+
}
|
|
25
|
+
export interface BufferGeometry {
|
|
26
|
+
new (): BufferGeometry
|
|
27
|
+
computeBoundingSphere (): void
|
|
28
|
+
dispose (): void
|
|
29
|
+
setAttribute (name: string, attr: BufferAttribute): void
|
|
30
|
+
setIndex(a: number[]): void
|
|
31
|
+
}
|
|
32
|
+
export interface Camera extends Object3D {
|
|
33
|
+
up: Vector3
|
|
34
|
+
}
|
|
35
|
+
export interface CameraHelper extends LineSegments {
|
|
36
|
+
new (c: Camera): CameraHelper
|
|
37
|
+
update (): void
|
|
38
|
+
}
|
|
39
|
+
export interface Color {
|
|
40
|
+
new (c: number): Color
|
|
41
|
+
}
|
|
42
|
+
export interface Controls {
|
|
43
|
+
enabled: boolean
|
|
44
|
+
new (c: Camera, e: Element): Controls
|
|
45
|
+
update (): void
|
|
46
|
+
}
|
|
47
|
+
export interface Disporsal {
|
|
48
|
+
dispose (): void
|
|
49
|
+
}
|
|
50
|
+
interface Euler {
|
|
51
|
+
new (): Euler
|
|
52
|
+
fromArray (a:[number, number, number]|[number, number, number, string]): void
|
|
53
|
+
}
|
|
54
|
+
interface Float32BufferAttribute extends BufferAttribute {
|
|
55
|
+
new (n: number, m: number): Float32BufferAttribute
|
|
56
|
+
}
|
|
57
|
+
export interface Fog {
|
|
58
|
+
new (c: number|Color, near?:number, far?: number): Fog
|
|
59
|
+
}
|
|
60
|
+
export interface FogExp2 {
|
|
61
|
+
new (c: number|Color, d?:number): FogExp2
|
|
62
|
+
}
|
|
63
|
+
export interface Group extends Object3D {
|
|
64
|
+
new (): Group
|
|
65
|
+
}
|
|
66
|
+
export interface Line extends Object3D {
|
|
67
|
+
new (g: BufferGeometry, m: Material): Line
|
|
68
|
+
}
|
|
69
|
+
interface LineSegments extends Line {
|
|
70
|
+
new (): LineSegments
|
|
71
|
+
}
|
|
72
|
+
interface LineBasicMaterial extends Material {
|
|
73
|
+
new (opt: any): LineBasicMaterial
|
|
74
|
+
}
|
|
75
|
+
interface Matrix3 {
|
|
76
|
+
new (): Matrix3
|
|
77
|
+
}
|
|
78
|
+
export interface Matrix4 {
|
|
79
|
+
new (): Matrix4
|
|
80
|
+
}
|
|
81
|
+
interface Material {
|
|
82
|
+
dispose (): void
|
|
83
|
+
}
|
|
84
|
+
export interface Mesh extends Object3D {
|
|
85
|
+
geometry: BufferGeometry
|
|
86
|
+
material: Material
|
|
87
|
+
}
|
|
88
|
+
export interface Object3D {
|
|
89
|
+
new (): Object3D
|
|
90
|
+
children: Object3D[]
|
|
91
|
+
matrixWorld: Matrix4
|
|
92
|
+
position: Vector3
|
|
93
|
+
quaternion: Quaternion
|
|
94
|
+
rotation: Euler
|
|
95
|
+
scale: Vector3
|
|
96
|
+
visible: boolean
|
|
97
|
+
add (obj:Object3D|Object3D[]): void
|
|
98
|
+
applyMatrix3 (mat: Matrix3): void
|
|
99
|
+
applyMatrix4 (mat: Matrix4): void
|
|
100
|
+
applyQuaternion (q: Quaternion): void
|
|
101
|
+
getWorldDirection (v: Vector3): void
|
|
102
|
+
getWorldQuaternion (q: Quaternion): void
|
|
103
|
+
getWorldPosition (v: Vector3): void
|
|
104
|
+
lookAt(v: Vector3): void
|
|
105
|
+
remove (obj:Object3D|Object3D[]): void
|
|
106
|
+
toJSON (): string
|
|
107
|
+
translateOnAxis (axis: Vector3, distance: number): void
|
|
108
|
+
}
|
|
109
|
+
interface ObjectLoader {
|
|
110
|
+
new (): ObjectLoader
|
|
111
|
+
load (url: string, callback: (obj: Object3D) => void,
|
|
112
|
+
progress: (xhr: XMLHttpRequest) => void,
|
|
113
|
+
err: (xhr: XMLHttpRequest) => void): void
|
|
114
|
+
}
|
|
115
|
+
export interface OrbitControls extends Controls {
|
|
116
|
+
new (): OrbitControls
|
|
117
|
+
}
|
|
118
|
+
export interface PerspectiveCamera extends Camera {
|
|
119
|
+
aspect: number
|
|
120
|
+
far: number
|
|
121
|
+
focus: number
|
|
122
|
+
fov: number
|
|
123
|
+
near: number
|
|
124
|
+
zoom: number
|
|
125
|
+
new (w: number, raito: number, near: number, far: number): PerspectiveCamera
|
|
126
|
+
}
|
|
127
|
+
export interface Quaternion {
|
|
128
|
+
new (): Quaternion
|
|
129
|
+
new (x: number, y: number, z: number, w:number): Quaternion
|
|
130
|
+
angleTo (q: Quaternion): number
|
|
131
|
+
clone(): Quaternion
|
|
132
|
+
copy (q: Quaternion): void
|
|
133
|
+
multiply (q: Quaternion): void
|
|
134
|
+
set (x: number, y: number, z: number, w:number): void
|
|
135
|
+
setFromAxisAngle (v: Vector3, a: number): void
|
|
136
|
+
setFromEuler(e: Euler): void
|
|
137
|
+
}
|
|
138
|
+
export interface Renderer {
|
|
139
|
+
autoClear: boolean
|
|
140
|
+
domElement: Element
|
|
141
|
+
shadowMap: ShadowMap
|
|
142
|
+
new (): Renderer
|
|
143
|
+
clear (): void
|
|
144
|
+
render (s: Scene, c: Camera): void
|
|
145
|
+
setClearColor (c: Color|number, a?: number): void
|
|
146
|
+
setClearAlpha (a: number): void
|
|
147
|
+
setPixelRatio (ratio: number): void
|
|
148
|
+
setSize(w: number, h: number): void
|
|
149
|
+
getSize(rect: Vector2): void
|
|
150
|
+
}
|
|
151
|
+
export interface Scene extends Object3D {
|
|
152
|
+
new (): Scene
|
|
153
|
+
background: number|Color
|
|
154
|
+
fog: Fog
|
|
155
|
+
}
|
|
156
|
+
export interface ShadowMap {
|
|
157
|
+
enabled: boolean
|
|
158
|
+
new () : ShadowMap
|
|
159
|
+
}
|
|
160
|
+
export interface Vector2 {
|
|
161
|
+
width: number
|
|
162
|
+
height: number
|
|
163
|
+
new (): Vector2
|
|
164
|
+
new (x: number, y: number): Vector2
|
|
165
|
+
set (x: number, y: number): void
|
|
166
|
+
}
|
|
167
|
+
export interface Vector3 {
|
|
168
|
+
x: number
|
|
169
|
+
y: number
|
|
170
|
+
z: number
|
|
171
|
+
new (): Vector3
|
|
172
|
+
new (x: number, y: number, z: number): Vector3
|
|
173
|
+
add (v: Vector3): void
|
|
174
|
+
applyQuaternion(q: Quaternion): void
|
|
175
|
+
clone(): Vector3
|
|
176
|
+
copy (v: Vector3): void
|
|
177
|
+
multiplyScalar (n: number): void
|
|
178
|
+
normalize (): Vector3
|
|
179
|
+
set (x: number, y: number, z: number): void
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
export interface WebGLRenderer extends Renderer {
|
|
183
|
+
new (opt: RendererOptions): WebGLRenderer
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
export interface THREE {
|
|
187
|
+
ArrowHelper?: ArrowHelper
|
|
188
|
+
AxesHelper?: AxesHelper
|
|
189
|
+
AxisHelper?: AxisHelper
|
|
190
|
+
BufferAttribute: BufferAttribute
|
|
191
|
+
BufferGeometry: BufferGeometry
|
|
192
|
+
CameraHelper?: CameraHelper
|
|
193
|
+
Color: Color
|
|
194
|
+
Euler: Euler
|
|
195
|
+
Float32BufferAttribute: Float32BufferAttribute
|
|
196
|
+
Fog: Fog
|
|
197
|
+
FogExp2: FogExp2
|
|
198
|
+
Group: Group
|
|
199
|
+
Line: Line
|
|
200
|
+
LineBasicMaterial: LineBasicMaterial
|
|
201
|
+
LineSegments: LineSegments
|
|
202
|
+
Matrix3: Matrix3
|
|
203
|
+
Matrix4: Matrix4
|
|
204
|
+
Object3D: Object3D
|
|
205
|
+
ObjectLoader: ObjectLoader
|
|
206
|
+
OrbitControls?: OrbitControls
|
|
207
|
+
PerspectiveCamera: PerspectiveCamera
|
|
208
|
+
Quaternion: Quaternion
|
|
209
|
+
Renderer: Renderer
|
|
210
|
+
Scene: Scene
|
|
211
|
+
Vector2: Vector2
|
|
212
|
+
Vector3: Vector3
|
|
213
|
+
WebGLRenderer: WebGLRenderer
|
|
214
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export class ThreeUtil {
|
|
2
|
+
static isDisporsal(obj) {
|
|
3
|
+
return 'dispose' in obj && typeof obj.dispose === 'function';
|
|
4
|
+
}
|
|
5
|
+
static isMesh(obj) {
|
|
6
|
+
return 'isMesh' in obj && obj.isMesh === true;
|
|
7
|
+
}
|
|
8
|
+
static disposeChildObject(obj) {
|
|
9
|
+
while (obj.children.length > 0) {
|
|
10
|
+
this.disposeChildObject(obj.children[0]);
|
|
11
|
+
obj.remove(obj.children[0]);
|
|
12
|
+
}
|
|
13
|
+
if (ThreeUtil.isMesh(obj)) {
|
|
14
|
+
if (obj.geometry) {
|
|
15
|
+
obj.geometry.dispose();
|
|
16
|
+
}
|
|
17
|
+
if (obj.material) {
|
|
18
|
+
for (const propKey of Object.keys(obj.material)) {
|
|
19
|
+
const prop = obj.material[propKey];
|
|
20
|
+
if (ThreeUtil.isDisporsal(prop)) {
|
|
21
|
+
prop.dispose();
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
obj.material.dispose();
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type * as THREENS from './plugin_weykturtle3d_three.mjs'
|
|
2
|
+
|
|
3
|
+
export class ThreeUtil {
|
|
4
|
+
private static isDisporsal (obj: any): obj is THREENS.Disporsal {
|
|
5
|
+
return 'dispose' in obj && typeof obj.dispose === 'function'
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
private static isMesh (obj: THREENS.Object3D): obj is THREENS.Mesh {
|
|
9
|
+
return 'isMesh' in obj && obj.isMesh === true
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
static disposeChildObject (obj: THREENS.Object3D) {
|
|
13
|
+
while (obj.children.length > 0) {
|
|
14
|
+
this.disposeChildObject(obj.children[0])
|
|
15
|
+
obj.remove(obj.children[0])
|
|
16
|
+
}
|
|
17
|
+
if (ThreeUtil.isMesh(obj)) {
|
|
18
|
+
if (obj.geometry) { obj.geometry.dispose() }
|
|
19
|
+
|
|
20
|
+
if (obj.material) {
|
|
21
|
+
for (const propKey of Object.keys(obj.material)) {
|
|
22
|
+
const prop = (obj.material as {[key: string]: any})[propKey]
|
|
23
|
+
if (ThreeUtil.isDisporsal(prop)) {
|
|
24
|
+
prop.dispose()
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
obj.material.dispose()
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
package/src/wnako3.mjs
CHANGED
|
@@ -5,6 +5,7 @@ if ((typeof navigator) === 'object' && !navigator.exportWNako3) {
|
|
|
5
5
|
const wnako3 = navigator.nako3 = new WebNakoCompiler();
|
|
6
6
|
window.addEventListener('DOMContentLoaded', (e) => {
|
|
7
7
|
const isAutoRun = wnako3.checkScriptTagParam();
|
|
8
|
+
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
8
9
|
if (isAutoRun) {
|
|
9
10
|
wnako3.runNakoScript();
|
|
10
11
|
}
|
package/src/wnako3.mts
CHANGED
|
@@ -6,6 +6,7 @@ if ((typeof navigator) === 'object' && !(navigator as any).exportWNako3) {
|
|
|
6
6
|
const wnako3 = (navigator as any).nako3 = new WebNakoCompiler()
|
|
7
7
|
window.addEventListener('DOMContentLoaded', (e) => {
|
|
8
8
|
const isAutoRun = wnako3.checkScriptTagParam()
|
|
9
|
+
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
9
10
|
if (isAutoRun) { wnako3.runNakoScript() }
|
|
10
11
|
}, false)
|
|
11
12
|
}
|
package/src/wnako3mod.mjs
CHANGED
|
@@ -79,6 +79,7 @@ export class WebNakoCompiler extends NakoCompiler {
|
|
|
79
79
|
}
|
|
80
80
|
/** なでしこ3の『取り込む』命令のための読み込みツール */
|
|
81
81
|
getLoaderTool() {
|
|
82
|
+
// eslint-disable-next-line @typescript-eslint/unbound-method
|
|
82
83
|
const tool = { readJs: this.readJs, readNako3: this.readNako3, resolvePath: this.resolvePath };
|
|
83
84
|
return tool;
|
|
84
85
|
}
|
|
@@ -86,8 +87,9 @@ export class WebNakoCompiler extends NakoCompiler {
|
|
|
86
87
|
readJs(filePath, token) {
|
|
87
88
|
if (this.localFiles && this.localFiles[filePath]) {
|
|
88
89
|
return {
|
|
90
|
+
// eslint-disable-next-line @typescript-eslint/require-await
|
|
89
91
|
task: (async () => () => {
|
|
90
|
-
// eslint-disable-next-line no-new-func
|
|
92
|
+
// eslint-disable-next-line no-new-func, @typescript-eslint/no-implied-eval, @typescript-eslint/no-unsafe-call
|
|
91
93
|
Function(this.localFiles[filePath])();
|
|
92
94
|
return {};
|
|
93
95
|
})()
|
|
@@ -131,11 +133,12 @@ export class WebNakoCompiler extends NakoCompiler {
|
|
|
131
133
|
const globalNako3 = globalNavigator.nako3;
|
|
132
134
|
globalNavigator.nako3 = gSelf;
|
|
133
135
|
try {
|
|
134
|
-
// eslint-disable-next-line no-new-func
|
|
136
|
+
// eslint-disable-next-line no-new-func, @typescript-eslint/no-implied-eval
|
|
135
137
|
const f = Function(jstext);
|
|
136
138
|
f.apply(gSelf.__globalObj);
|
|
137
139
|
}
|
|
138
140
|
catch (err) {
|
|
141
|
+
// eslint-disable-next-line @typescript-eslint/restrict-plus-operands
|
|
139
142
|
throw new NakoImportError(`プラグイン ${filePath} の取り込みに失敗: ${err instanceof Error ? err.message : err + ''}`, token.file, token.line);
|
|
140
143
|
}
|
|
141
144
|
finally {
|
package/src/wnako3mod.mts
CHANGED
|
@@ -91,6 +91,7 @@ export class WebNakoCompiler extends NakoCompiler {
|
|
|
91
91
|
|
|
92
92
|
/** なでしこ3の『取り込む』命令のための読み込みツール */
|
|
93
93
|
getLoaderTool (): LoaderTool {
|
|
94
|
+
// eslint-disable-next-line @typescript-eslint/unbound-method
|
|
94
95
|
const tool = { readJs: this.readJs, readNako3: this.readNako3, resolvePath: this.resolvePath }
|
|
95
96
|
return tool
|
|
96
97
|
}
|
|
@@ -99,8 +100,9 @@ export class WebNakoCompiler extends NakoCompiler {
|
|
|
99
100
|
readJs (filePath: string, token: Token): LoaderToolTask<any> {
|
|
100
101
|
if (this.localFiles && this.localFiles[filePath]) {
|
|
101
102
|
return {
|
|
103
|
+
// eslint-disable-next-line @typescript-eslint/require-await
|
|
102
104
|
task: (async () => () => {
|
|
103
|
-
// eslint-disable-next-line no-new-func
|
|
105
|
+
// eslint-disable-next-line no-new-func, @typescript-eslint/no-implied-eval, @typescript-eslint/no-unsafe-call
|
|
104
106
|
Function(this.localFiles[filePath])()
|
|
105
107
|
return {}
|
|
106
108
|
})()
|
|
@@ -144,10 +146,11 @@ export class WebNakoCompiler extends NakoCompiler {
|
|
|
144
146
|
const globalNako3 = globalNavigator.nako3
|
|
145
147
|
globalNavigator.nako3 = gSelf
|
|
146
148
|
try {
|
|
147
|
-
// eslint-disable-next-line no-new-func
|
|
149
|
+
// eslint-disable-next-line no-new-func, @typescript-eslint/no-implied-eval
|
|
148
150
|
const f = Function(jstext)
|
|
149
151
|
f.apply(gSelf.__globalObj)
|
|
150
152
|
} catch (err) {
|
|
153
|
+
// eslint-disable-next-line @typescript-eslint/restrict-plus-operands
|
|
151
154
|
throw new NakoImportError(`プラグイン ${filePath} の取り込みに失敗: ${err instanceof Error ? err.message : err + ''}`, token.file, token.line)
|
|
152
155
|
} finally {
|
|
153
156
|
globalNavigator.nako3 = globalNako3
|
|
@@ -202,7 +205,7 @@ export class WebNakoCompiler extends NakoCompiler {
|
|
|
202
205
|
}
|
|
203
206
|
pathname = resolveURL(baseDir, name)
|
|
204
207
|
} catch (e) {
|
|
205
|
-
throw new NakoImportError(`取り込み文の引数でパスが解決できません。https:// か http:// で始まるアドレスを指定してください。\n${e}`, token.file, token.line)
|
|
208
|
+
throw new NakoImportError(`取り込み文の引数でパスが解決できません。https:// か http:// で始まるアドレスを指定してください。\n${e as string}`, token.file, token.line)
|
|
206
209
|
}
|
|
207
210
|
}
|
|
208
211
|
}
|