diff --git a/samples/demo_npm/as3/.gitignore b/samples/demo_npm/as3/.gitignore
index 5067efe6..0c24e0a4 100644
--- a/samples/demo_npm/as3/.gitignore
+++ b/samples/demo_npm/as3/.gitignore
@@ -1,3 +1,4 @@
-node_modules
-bin
+node_modules/
+bin/js-debug/
+bin/js-release/
*.map
diff --git a/samples/demo_npm/as3/asconfig.json b/samples/demo_npm/as3/asconfig.json
index 338e1aea..dcb2c7fe 100644
--- a/samples/demo_npm/as3/asconfig.json
+++ b/samples/demo_npm/as3/asconfig.json
@@ -11,12 +11,14 @@
"node_modules/openfl/dist/openfl.swc",
"node_modules/starling-framework/dist/starling.swc"
],
+ "source-map": true,
"targets": [
- "js"
+ "JS"
]
},
- "files":
- [
- "src/Main.as"
- ]
+ "additionalOptions": [
+ "-js-getter-prefix=get_",
+ "-js-setter-prefix=set_"
+ ],
+ "mainClass": "Main"
}
diff --git a/samples/demo_npm/as3/package.json b/samples/demo_npm/as3/package.json
index 679e8df3..4f3f1c68 100644
--- a/samples/demo_npm/as3/package.json
+++ b/samples/demo_npm/as3/package.json
@@ -3,21 +3,19 @@
"version": "1.0.0",
"private": true,
"devDependencies": {
- "@apache-royale/cli": "^0.1.0",
- "@apache-royale/royale-js": "^0.9.3",
- "asconfigc": "^0.6.9",
+ "@apache-royale/royale-js": "^0.9.11",
+ "asconfigc": "^1.8.0",
"cpx": "^1.5.0",
- "howler": "^2.0.12",
- "openfl": "^8.1.1",
- "pako": "^1.0.6",
- "starling-framework": "^2.3.3"
+ "http-server": "^14.1.1",
+ "openfl": "^8.9.6",
+ "starling-framework": "^2.5.1"
},
"scripts": {
- "build": "npm run build:dev",
- "build:dev": "cpx \"assets/**/*.*\" bin/js-debug/assets && cpx node_modules/openfl/dist/openfl.min.js bin/js-debug && cpx node_modules/howler/dist/howler.min.js bin/js-debug && cpx node_modules/starling-framework/dist/starling.min.js bin/js-debug && cpx node_modules/pako/dist/pako.min.js bin/js-debug && asconfigc --debug=true",
- "build:prod": "cpx \"assets/**/*.*\" bin/js-release/assets && cpx node_modules/openfl/dist/openfl.min.js bin/js-release && cpx node_modules/howler/dist/howler.min.js bin/js-release && cpx node_modules/starling-framework/dist/starling.min.js bin/js-release && cpx node_modules/pako/dist/pako.min.js bin/js-release && asconfigc --debug=false",
+ "build": "npm run build:prod",
+ "build:dev": "cpx \"assets/**/*.*\" bin/js-debug/assets && cpx favicon.png bin/js-debug && cpx node_modules/starling-framework/dist/starling.min.js bin/js-debug && cpx node_modules/openfl/dist/openfl.min.js bin/js-debug && cpx node_modules/pako/dist/pako.min.js bin/js-debug && cpx node_modules/howler/dist/howler.min.js bin/js-debug && asconfigc --debug=true",
+ "build:prod": "cpx \"assets/**/*.*\" bin/js-release/assets && cpx favicon.png bin/js-release && cpx node_modules/starling-framework/dist/starling.min.js bin/js-release && cpx node_modules/openfl/dist/openfl.min.js bin/js-release && cpx node_modules/pako/dist/pako.min.js bin/js-release && cpx node_modules/howler/dist/howler.min.js bin/js-release && asconfigc --debug=false",
"start": "npm run start:dev",
- "start:dev": "npm run build:dev && royale serve:debug",
- "start:prod": "npm run build:prod && royale serve:release"
+ "start:dev": "npm run build:dev && http-server bin/js-debug",
+ "start:prod": "npm run build:prod && http-server bin/js-release"
}
}
diff --git a/samples/demo_npm/es5/.gitignore b/samples/demo_npm/es5/.gitignore
index 9be3beed..e8814a17 100644
--- a/samples/demo_npm/es5/.gitignore
+++ b/samples/demo_npm/es5/.gitignore
@@ -1,3 +1,3 @@
-node_modules
-dist/app.js
+node_modules/
+dist/
*.map
\ No newline at end of file
diff --git a/samples/demo_npm/es5/package.json b/samples/demo_npm/es5/package.json
index 66ec6486..05cea535 100644
--- a/samples/demo_npm/es5/package.json
+++ b/samples/demo_npm/es5/package.json
@@ -3,21 +3,19 @@
"version": "1.0.0",
"private": true,
"devDependencies": {
- "copy-webpack-plugin": "^4.3.1",
- "openfl": "^8.1.1",
- "starling-framework": "*",
- "uglifyjs-webpack-plugin": "^1.1.4",
- "webpack": "^3.10.0",
- "webpack-dev-server": "^2.9.7",
- "webpack-merge": "^4.1.1",
- "write-file-webpack-plugin": "^4.2.0"
+ "copy-webpack-plugin": "^11.0.0",
+ "openfl": "^8.9.6",
+ "starling-framework": "^2.5.1",
+ "webpack": "^5.88.2",
+ "webpack-cli": "^5.1.4",
+ "webpack-dev-server": "^4.15.1"
},
"scripts": {
"build": "npm run build:prod",
- "build:dev": "webpack --config webpack.dev.js",
- "build:prod": "webpack --config webpack.prod.js",
+ "build:dev": "webpack --mode=development",
+ "build:prod": "webpack --mode=production",
"start": "npm run start:dev",
- "start:dev": "webpack-dev-server --open --config webpack.dev.js",
- "start:prod": "webpack-dev-server --open --config webpack.prod.js"
+ "start:dev": "webpack serve --mode=development",
+ "start:prod": "webpack serve --mode=production"
}
}
diff --git a/samples/demo_npm/es5/public/favicon.png b/samples/demo_npm/es5/public/favicon.png
new file mode 100644
index 00000000..63fd0710
Binary files /dev/null and b/samples/demo_npm/es5/public/favicon.png differ
diff --git a/samples/demo_npm/es5/public/index.html b/samples/demo_npm/es5/public/index.html
new file mode 100644
index 00000000..47afe5ac
--- /dev/null
+++ b/samples/demo_npm/es5/public/index.html
@@ -0,0 +1,35 @@
+
+
+
+ Starling Demo
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/samples/demo_npm/es5/webpack.common.js b/samples/demo_npm/es5/webpack.common.js
deleted file mode 100644
index 4ebad689..00000000
--- a/samples/demo_npm/es5/webpack.common.js
+++ /dev/null
@@ -1,23 +0,0 @@
-const CopyWebpackPlugin = require ('copy-webpack-plugin');
-const WriteFilePlugin = require ('write-file-webpack-plugin');
-const path = require ('path');
-
-module.exports = {
- entry: "./src/demo.js",
- output: {
- path: path.resolve (__dirname, "dist"),
- filename: "app.js"
- },
- plugins: [
- new WriteFilePlugin (),
- new CopyWebpackPlugin ([
- { from: path.resolve (__dirname, "../../demo/assets"), to: "assets" }
- ]),
- ],
- resolve: {
- alias: {
- "openfl": path.resolve (__dirname, "node_modules/openfl/lib/openfl"),
- "starling": path.resolve (__dirname, "node_modules/starling-framework/lib/starling")
- }
- }
-};
\ No newline at end of file
diff --git a/samples/demo_npm/es5/webpack.config.js b/samples/demo_npm/es5/webpack.config.js
new file mode 100644
index 00000000..ba8dd07c
--- /dev/null
+++ b/samples/demo_npm/es5/webpack.config.js
@@ -0,0 +1,25 @@
+const path = require("path");
+const CopyWebpackPlugin = require("copy-webpack-plugin");
+
+module.exports = {
+ entry: "./src/demo.js",
+ output: {
+ path: path.resolve(__dirname, "dist"),
+ filename: "app.js"
+ },
+ devtool: "source-map",
+ resolve: {
+ alias: {
+ "openfl": path.resolve(__dirname, "node_modules/openfl/lib/openfl"),
+ "starling": path.resolve(__dirname, "node_modules/starling-framework/lib/starling")
+ }
+ },
+ plugins: [
+ new CopyWebpackPlugin({
+ patterns: [
+ "public",
+ { from: path.resolve(__dirname, "../../demo/assets"), to: "assets" }
+ ]
+ })
+ ]
+};
\ No newline at end of file
diff --git a/samples/demo_npm/es5/webpack.dev.js b/samples/demo_npm/es5/webpack.dev.js
deleted file mode 100644
index b5ec3631..00000000
--- a/samples/demo_npm/es5/webpack.dev.js
+++ /dev/null
@@ -1,9 +0,0 @@
-const merge = require ('webpack-merge');
-const common = require ('./webpack.common.js');
-
-module.exports = merge (common, {
- devServer: {
- contentBase: './dist'
- },
- devtool: "inline-source-map",
-});
\ No newline at end of file
diff --git a/samples/demo_npm/es5/webpack.prod.js b/samples/demo_npm/es5/webpack.prod.js
deleted file mode 100644
index 206de64c..00000000
--- a/samples/demo_npm/es5/webpack.prod.js
+++ /dev/null
@@ -1,16 +0,0 @@
-const webpack = require ('webpack');
-const merge = require ('webpack-merge');
-const UglifyJSPlugin = require ('uglifyjs-webpack-plugin');
-const common = require ('./webpack.common.js');
-
-module.exports = merge (common, {
- devtool: "source-map",
- plugins: [
- new UglifyJSPlugin ({
- sourceMap: true
- }),
- new webpack.DefinePlugin ({
- 'process.env.NODE_ENV': JSON.stringify ('production')
- })
- ]
-});
\ No newline at end of file
diff --git a/samples/demo_npm/es6/.babelrc b/samples/demo_npm/es6/.babelrc
index 4056ad5e..509567bc 100644
--- a/samples/demo_npm/es6/.babelrc
+++ b/samples/demo_npm/es6/.babelrc
@@ -1,4 +1,4 @@
{
- "presets": ["env"],
- "plugins": ["transform-class-properties"]
+ "presets": ["@babel/preset-env"],
+ "plugins": ["@babel/plugin-transform-class-properties"]
}
\ No newline at end of file
diff --git a/samples/demo_npm/es6/.gitignore b/samples/demo_npm/es6/.gitignore
index 9be3beed..e8814a17 100644
--- a/samples/demo_npm/es6/.gitignore
+++ b/samples/demo_npm/es6/.gitignore
@@ -1,3 +1,3 @@
-node_modules
-dist/app.js
+node_modules/
+dist/
*.map
\ No newline at end of file
diff --git a/samples/demo_npm/es6/package.json b/samples/demo_npm/es6/package.json
index de5892f7..bf74680d 100644
--- a/samples/demo_npm/es6/package.json
+++ b/samples/demo_npm/es6/package.json
@@ -3,26 +3,23 @@
"version": "1.0.0",
"private": true,
"devDependencies": {
- "babel-core": "^6.26.0",
- "babel-loader": "^7.1.2",
- "babel-plugin-transform-class-properties": "^6.24.1",
- "babel-preset-env": "^1.6.1",
- "copy-webpack-plugin": "^4.3.1",
- "openfl": "^8.1.1",
- "starling-framework": "*",
- "uglifyjs-webpack-plugin": "^1.1.4",
- "webpack": "^3.10.0",
- "webpack-dev-server": "^2.9.7",
- "webpack-merge": "^4.1.1",
- "write-file-webpack-plugin": "^4.2.0"
+ "copy-webpack-plugin": "^11.0.0",
+ "@babel/core": "^7.23.0",
+ "@babel/plugin-transform-class-properties": "^7.22.5",
+ "@babel/preset-env": "^7.22.20",
+ "babel-loader": "^9.1.3",
+ "openfl": "^8.9.6",
+ "starling-framework": "^2.5.1",
+ "webpack-cli": "^5.1.4",
+ "webpack-dev-server": "^4.15.1"
},
"scripts": {
"build": "npm run build:prod",
- "build:dev": "webpack --config webpack.dev.js",
- "build:prod": "webpack --config webpack.prod.js",
+ "build:dev": "webpack --mode=development",
+ "build:prod": "webpack --mode=production",
"start": "npm run start:dev",
- "start:dev": "webpack-dev-server --open --config webpack.dev.js",
- "start:prod": "webpack-dev-server --open --config webpack.prod.js"
+ "start:dev": "webpack serve --mode=development",
+ "start:prod": "webpack serve --mode=production"
},
"dependencies": {}
}
diff --git a/samples/demo_npm/es6/public/favicon.png b/samples/demo_npm/es6/public/favicon.png
new file mode 100644
index 00000000..63fd0710
Binary files /dev/null and b/samples/demo_npm/es6/public/favicon.png differ
diff --git a/samples/demo_npm/es6/public/index.html b/samples/demo_npm/es6/public/index.html
new file mode 100644
index 00000000..47afe5ac
--- /dev/null
+++ b/samples/demo_npm/es6/public/index.html
@@ -0,0 +1,35 @@
+
+
+
+ Starling Demo
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/samples/demo_npm/es6/webpack.common.js b/samples/demo_npm/es6/webpack.common.js
deleted file mode 100644
index a1e0b4cd..00000000
--- a/samples/demo_npm/es6/webpack.common.js
+++ /dev/null
@@ -1,28 +0,0 @@
-const CopyWebpackPlugin = require ('copy-webpack-plugin');
-const WriteFilePlugin = require ('write-file-webpack-plugin');
-const path = require ('path');
-
-module.exports = {
- entry: "./src/demo.js",
- output: {
- path: path.resolve (__dirname, "dist"),
- filename: "app.js"
- },
- plugins: [
- new WriteFilePlugin (),
- new CopyWebpackPlugin ([
- { from: path.resolve (__dirname, "../../demo/assets"), to: "assets" }
- ]),
- ],
- resolve: {
- alias: {
- "openfl": path.resolve (__dirname, "node_modules/openfl/lib/openfl"),
- "starling": path.resolve (__dirname, "node_modules/starling-framework/lib/starling")
- }
- },
- module: {
- rules: [
- { test: /\.js$/, exclude: /node_modules/, loader: "babel-loader" }
- ]
- }
-};
\ No newline at end of file
diff --git a/samples/demo_npm/es6/webpack.config.js b/samples/demo_npm/es6/webpack.config.js
new file mode 100644
index 00000000..f679edbc
--- /dev/null
+++ b/samples/demo_npm/es6/webpack.config.js
@@ -0,0 +1,30 @@
+const path = require("path");
+const CopyWebpackPlugin = require("copy-webpack-plugin");
+
+module.exports = {
+ entry: "./src/demo.js",
+ output: {
+ path: path.resolve(__dirname, "dist"),
+ filename: "app.js"
+ },
+ devtool: "source-map",
+ resolve: {
+ alias: {
+ "openfl": path.resolve(__dirname, "node_modules/openfl/lib/openfl"),
+ "starling": path.resolve(__dirname, "node_modules/starling-framework/lib/starling")
+ }
+ },
+ module: {
+ rules: [
+ { test: /\.js$/, exclude: /node_modules/, loader: "babel-loader" }
+ ]
+ },
+ plugins: [
+ new CopyWebpackPlugin({
+ patterns: [
+ "public",
+ { from: path.resolve(__dirname, "../../demo/assets"), to: "assets" }
+ ]
+ })
+ ]
+};
\ No newline at end of file
diff --git a/samples/demo_npm/es6/webpack.dev.js b/samples/demo_npm/es6/webpack.dev.js
deleted file mode 100644
index b5ec3631..00000000
--- a/samples/demo_npm/es6/webpack.dev.js
+++ /dev/null
@@ -1,9 +0,0 @@
-const merge = require ('webpack-merge');
-const common = require ('./webpack.common.js');
-
-module.exports = merge (common, {
- devServer: {
- contentBase: './dist'
- },
- devtool: "inline-source-map",
-});
\ No newline at end of file
diff --git a/samples/demo_npm/es6/webpack.prod.js b/samples/demo_npm/es6/webpack.prod.js
deleted file mode 100644
index 206de64c..00000000
--- a/samples/demo_npm/es6/webpack.prod.js
+++ /dev/null
@@ -1,16 +0,0 @@
-const webpack = require ('webpack');
-const merge = require ('webpack-merge');
-const UglifyJSPlugin = require ('uglifyjs-webpack-plugin');
-const common = require ('./webpack.common.js');
-
-module.exports = merge (common, {
- devtool: "source-map",
- plugins: [
- new UglifyJSPlugin ({
- sourceMap: true
- }),
- new webpack.DefinePlugin ({
- 'process.env.NODE_ENV': JSON.stringify ('production')
- })
- ]
-});
\ No newline at end of file
diff --git a/samples/demo_npm/haxe/.gitignore b/samples/demo_npm/haxe/.gitignore
index c4e76289..e8814a17 100644
--- a/samples/demo_npm/haxe/.gitignore
+++ b/samples/demo_npm/haxe/.gitignore
@@ -1,5 +1,3 @@
-node_modules
-src/app.js
-dist/app.js
-dist/assets
+node_modules/
+dist/
*.map
\ No newline at end of file
diff --git a/samples/demo_npm/haxe/build.hxml b/samples/demo_npm/haxe/build.hxml
index 40df7a4c..4720451c 100644
--- a/samples/demo_npm/haxe/build.hxml
+++ b/samples/demo_npm/haxe/build.hxml
@@ -1,7 +1,6 @@
-main Demo
--js src/app.js
+-js dist/app.js
-cp node_modules/openfl/lib
-cp node_modules/starling-framework/lib
-cp src
--D source-map
--dce no
\ No newline at end of file
+-D source-map
\ No newline at end of file
diff --git a/samples/demo_npm/haxe/package.json b/samples/demo_npm/haxe/package.json
index f9d94e01..8db2b358 100644
--- a/samples/demo_npm/haxe/package.json
+++ b/samples/demo_npm/haxe/package.json
@@ -6,24 +6,22 @@
"haxe": "3.4.7"
},
"devDependencies": {
- "copy-webpack-plugin": "^4.3.1",
- "haxe": "^5.0.10",
- "haxe-loader": "^0.5.0",
- "openfl": "^8.1.1",
- "starling-framework": "^2.3.1",
- "uglifyjs-webpack-plugin": "^1.1.4",
- "webpack": "^3.10.0",
- "webpack-dev-server": "^2.9.7",
- "webpack-merge": "^4.1.1",
- "write-file-webpack-plugin": "^4.2.0"
+ "copy-webpack-plugin": "^11.0.0",
+ "haxe": "^5.2.1",
+ "haxe-loader": "^0.10.0",
+ "openfl": "^8.9.6",
+ "starling-framework": "^2.5.1",
+ "webpack": "^5.88.2",
+ "webpack-cli": "^5.1.4",
+ "webpack-dev-server": "^4.15.1"
},
"scripts": {
"build": "npm run build:prod",
- "build:dev": "webpack --config webpack.dev.js",
- "build:prod": "webpack --config webpack.prod.js",
+ "build:dev": "webpack --mode=development",
+ "build:prod": "webpack --mode=production",
"start": "npm run start:dev",
- "start:dev": "webpack-dev-server --open --config webpack.dev.js",
- "start:prod": "webpack-dev-server --open --config webpack.prod.js"
+ "start:dev": "webpack serve --mode=development",
+ "start:prod": "webpack serve --mode=production"
},
"dependencies": {}
}
diff --git a/samples/demo_npm/haxe/public/favicon.png b/samples/demo_npm/haxe/public/favicon.png
new file mode 100644
index 00000000..63fd0710
Binary files /dev/null and b/samples/demo_npm/haxe/public/favicon.png differ
diff --git a/samples/demo_npm/haxe/public/index.html b/samples/demo_npm/haxe/public/index.html
new file mode 100644
index 00000000..47afe5ac
--- /dev/null
+++ b/samples/demo_npm/haxe/public/index.html
@@ -0,0 +1,35 @@
+
+
+
+ Starling Demo
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/samples/demo_npm/haxe/webpack.common.js b/samples/demo_npm/haxe/webpack.common.js
deleted file mode 100644
index 7d6e3647..00000000
--- a/samples/demo_npm/haxe/webpack.common.js
+++ /dev/null
@@ -1,28 +0,0 @@
-const CopyWebpackPlugin = require ('copy-webpack-plugin');
-const WriteFilePlugin = require ('write-file-webpack-plugin');
-const path = require ('path');
-
-module.exports = {
- entry: "./build.hxml",
- output: {
- path: path.resolve (__dirname, "dist"),
- filename: "app.js",
- },
- plugins: [
- new WriteFilePlugin (),
- new CopyWebpackPlugin ([
- { from: path.resolve (__dirname, "../../demo/assets"), to: "assets" }
- ]),
- ],
- resolve: {
- alias: {
- "openfl": path.resolve (__dirname, "node_modules/openfl/lib/openfl"),
- "starling": path.resolve (__dirname, "node_modules/starling-framework/lib/starling")
- }
- },
- module: {
- rules: [
- { test: /\.hxml$/, loader: 'haxe-loader' }
- ]
- }
-};
\ No newline at end of file
diff --git a/samples/demo_npm/haxe/webpack.config.js b/samples/demo_npm/haxe/webpack.config.js
new file mode 100644
index 00000000..4870a7df
--- /dev/null
+++ b/samples/demo_npm/haxe/webpack.config.js
@@ -0,0 +1,33 @@
+const path = require("path");
+const CopyWebpackPlugin = require("copy-webpack-plugin");
+
+module.exports = {
+ entry: "./build.hxml",
+ output: {
+ path: path.resolve(__dirname, "dist"),
+ filename: "app.js"
+ },
+ devtool: "source-map",
+ resolve: {
+ alias: {
+ "openfl": path.resolve(__dirname, "node_modules/openfl/lib/openfl"),
+ "starling": path.resolve(__dirname, "node_modules/starling-framework/lib/starling")
+ }
+ },
+ module: {
+ rules: [
+ {
+ test: /\.hxml$/,
+ loader: 'haxe-loader',
+ }
+ ]
+ },
+ plugins: [
+ new CopyWebpackPlugin({
+ patterns: [
+ "public",
+ { from: path.resolve(__dirname, "../../demo/assets"), to: "assets" }
+ ]
+ })
+ ]
+};
\ No newline at end of file
diff --git a/samples/demo_npm/haxe/webpack.dev.js b/samples/demo_npm/haxe/webpack.dev.js
deleted file mode 100644
index b5ec3631..00000000
--- a/samples/demo_npm/haxe/webpack.dev.js
+++ /dev/null
@@ -1,9 +0,0 @@
-const merge = require ('webpack-merge');
-const common = require ('./webpack.common.js');
-
-module.exports = merge (common, {
- devServer: {
- contentBase: './dist'
- },
- devtool: "inline-source-map",
-});
\ No newline at end of file
diff --git a/samples/demo_npm/haxe/webpack.prod.js b/samples/demo_npm/haxe/webpack.prod.js
deleted file mode 100644
index 206de64c..00000000
--- a/samples/demo_npm/haxe/webpack.prod.js
+++ /dev/null
@@ -1,16 +0,0 @@
-const webpack = require ('webpack');
-const merge = require ('webpack-merge');
-const UglifyJSPlugin = require ('uglifyjs-webpack-plugin');
-const common = require ('./webpack.common.js');
-
-module.exports = merge (common, {
- devtool: "source-map",
- plugins: [
- new UglifyJSPlugin ({
- sourceMap: true
- }),
- new webpack.DefinePlugin ({
- 'process.env.NODE_ENV': JSON.stringify ('production')
- })
- ]
-});
\ No newline at end of file
diff --git a/samples/demo_npm/typescript/.gitignore b/samples/demo_npm/typescript/.gitignore
index b7536370..3f9bc5ae 100644
--- a/samples/demo_npm/typescript/.gitignore
+++ b/samples/demo_npm/typescript/.gitignore
@@ -1,5 +1,4 @@
-node_modules
+node_modules/
src/**/*.js
-dist/app.js
-dist/assets
+dist/
*.map
\ No newline at end of file
diff --git a/samples/demo_npm/typescript/package.json b/samples/demo_npm/typescript/package.json
index 244a9154..de4c2ebb 100644
--- a/samples/demo_npm/typescript/package.json
+++ b/samples/demo_npm/typescript/package.json
@@ -3,24 +3,21 @@
"version": "1.0.0",
"private": true,
"devDependencies": {
- "@types/core-js": "0.9.36",
- "copy-webpack-plugin": "^4.3.1",
- "openfl": "^8.1.1",
- "starling-framework": "*",
- "ts-loader": "^3.2.0",
- "typescript": "^2.6.2",
- "uglifyjs-webpack-plugin": "^1.1.4",
- "webpack": "^3.10.0",
- "webpack-dev-server": "^2.9.7",
- "webpack-merge": "^4.1.1",
- "write-file-webpack-plugin": "^4.2.0"
+ "copy-webpack-plugin": "^11.0.0",
+ "openfl": "^8.9.6",
+ "starling-framework": "^2.5.1",
+ "ts-loader": "^9.4.4",
+ "typescript": "^5.2.2",
+ "webpack": "^5.88.2",
+ "webpack-cli": "^5.1.4",
+ "webpack-dev-server": "^4.15.1"
},
"scripts": {
"build": "npm run build:prod",
- "build:dev": "webpack --config webpack.dev.js",
- "build:prod": "webpack --config webpack.prod.js",
+ "build:dev": "webpack --mode=development",
+ "build:prod": "webpack --mode=production",
"start": "npm run start:dev",
- "start:dev": "webpack-dev-server --open --config webpack.dev.js",
- "start:prod": "webpack-dev-server --open --config webpack.prod.js"
+ "start:dev": "webpack serve --mode=development",
+ "start:prod": "webpack serve --mode=production"
}
}
diff --git a/samples/demo_npm/typescript/public/favicon.png b/samples/demo_npm/typescript/public/favicon.png
new file mode 100644
index 00000000..63fd0710
Binary files /dev/null and b/samples/demo_npm/typescript/public/favicon.png differ
diff --git a/samples/demo_npm/typescript/public/index.html b/samples/demo_npm/typescript/public/index.html
new file mode 100644
index 00000000..47afe5ac
--- /dev/null
+++ b/samples/demo_npm/typescript/public/index.html
@@ -0,0 +1,35 @@
+
+
+
+ Starling Demo
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/samples/demo_npm/typescript/src/scenes/videoScene.ts b/samples/demo_npm/typescript/src/scenes/videoScene.ts
index 0aee467c..7fd22572 100644
--- a/samples/demo_npm/typescript/src/scenes/videoScene.ts
+++ b/samples/demo_npm/typescript/src/scenes/videoScene.ts
@@ -53,7 +53,7 @@ class VideoScene extends Scene
}
else
{
- var errorMessage:String = "Video texture is not supported on this platform";
+ var errorMessage = "Video texture is not supported on this platform";
var textField:TextField = new TextField(220, 128, errorMessage);
textField.format.font = "DejaVu Sans";
diff --git a/samples/demo_npm/typescript/tsconfig.json b/samples/demo_npm/typescript/tsconfig.json
index e7ddaa21..dafb9611 100644
--- a/samples/demo_npm/typescript/tsconfig.json
+++ b/samples/demo_npm/typescript/tsconfig.json
@@ -1,15 +1,15 @@
{
"compilerOptions": {
+ "outDir": "dist",
"target": "es5",
- "baseUrl": ".",
+ "module": "CommonJS",
+ "moduleResolution": "node",
"paths": {
- "openfl/*": ["node_modules/openfl/lib/openfl/*"],
- "starling/*": ["node_modules/starling-framework/lib/starling/*"]
+ "openfl": ["./node_modules/openfl/lib/openfl"],
+ "openfl/*": ["./node_modules/openfl/lib/openfl/*"],
+ "starling": ["./node_modules/starling-framework/lib/starling"],
+ "starling/*": ["./node_modules/starling-framework/lib/starling/*"]
},
- "lib": ["es2017", "dom"],
"sourceMap": true
- },
- "files": [
- "src/demo.ts"
- ]
+ }
}
\ No newline at end of file
diff --git a/samples/demo_npm/typescript/webpack.common.js b/samples/demo_npm/typescript/webpack.common.js
deleted file mode 100644
index bb48755e..00000000
--- a/samples/demo_npm/typescript/webpack.common.js
+++ /dev/null
@@ -1,29 +0,0 @@
-const CopyWebpackPlugin = require ('copy-webpack-plugin');
-const WriteFilePlugin = require ('write-file-webpack-plugin');
-const path = require ('path');
-
-module.exports = {
- entry: "./src/demo.ts",
- output: {
- path: path.resolve (__dirname, "dist"),
- filename: "app.js"
- },
- plugins: [
- new WriteFilePlugin (),
- new CopyWebpackPlugin ([
- { from: path.resolve (__dirname, "../../demo/assets"), to: "assets" }
- ]),
- ],
- resolve: {
- alias: {
- "openfl": path.resolve (__dirname, "node_modules/openfl/lib/openfl"),
- "starling": path.resolve (__dirname, "node_modules/starling-framework/lib/starling")
- },
- extensions: [ '.ts', '.tsx', '.js' ]
- },
- module: {
- rules: [
- { test: /\.tsx?$/, loader: 'ts-loader' }
- ]
- }
-};
\ No newline at end of file
diff --git a/samples/demo_npm/typescript/webpack.config.js b/samples/demo_npm/typescript/webpack.config.js
new file mode 100644
index 00000000..fa03cfea
--- /dev/null
+++ b/samples/demo_npm/typescript/webpack.config.js
@@ -0,0 +1,34 @@
+const path = require("path");
+const CopyWebpackPlugin = require("copy-webpack-plugin");
+
+module.exports = {
+ entry: "./src/demo.ts",
+ output: {
+ path: path.resolve(__dirname, "dist"),
+ filename: "app.js"
+ },
+ devtool: "source-map",
+ resolve: {
+ alias: {
+ "openfl": path.resolve(__dirname, "node_modules/openfl/lib/openfl"),
+ "starling": path.resolve(__dirname, "node_modules/starling-framework/lib/starling")
+ },
+ extensions: ['.tsx', '.ts', '.js']
+ },
+ module: {
+ rules: [
+ {
+ test: /\.tsx?$/,
+ loader: 'ts-loader'
+ }
+ ]
+ },
+ plugins: [
+ new CopyWebpackPlugin({
+ patterns: [
+ "public",
+ { from: path.resolve(__dirname, "../../demo/assets"), to: "assets" }
+ ]
+ })
+ ]
+};
\ No newline at end of file
diff --git a/samples/demo_npm/typescript/webpack.dev.js b/samples/demo_npm/typescript/webpack.dev.js
deleted file mode 100644
index b5ec3631..00000000
--- a/samples/demo_npm/typescript/webpack.dev.js
+++ /dev/null
@@ -1,9 +0,0 @@
-const merge = require ('webpack-merge');
-const common = require ('./webpack.common.js');
-
-module.exports = merge (common, {
- devServer: {
- contentBase: './dist'
- },
- devtool: "inline-source-map",
-});
\ No newline at end of file
diff --git a/samples/demo_npm/typescript/webpack.prod.js b/samples/demo_npm/typescript/webpack.prod.js
deleted file mode 100644
index 206de64c..00000000
--- a/samples/demo_npm/typescript/webpack.prod.js
+++ /dev/null
@@ -1,16 +0,0 @@
-const webpack = require ('webpack');
-const merge = require ('webpack-merge');
-const UglifyJSPlugin = require ('uglifyjs-webpack-plugin');
-const common = require ('./webpack.common.js');
-
-module.exports = merge (common, {
- devtool: "source-map",
- plugins: [
- new UglifyJSPlugin ({
- sourceMap: true
- }),
- new webpack.DefinePlugin ({
- 'process.env.NODE_ENV': JSON.stringify ('production')
- })
- ]
-});
\ No newline at end of file