generate indexes + r3-r3.js

master
Theunis J. Botha 2021-07-04 20:32:41 +02:00
parent 0bd771da31
commit 3835bbe9fa
11 changed files with 2938 additions and 646 deletions

3479
dist/r3.js vendored

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,6 @@
{
"name": "r3",
"version": "2.0.0",
"version" : "2.0.18",
"description": "",
"private": true,
"dependencies": {
@ -19,6 +19,7 @@
"map-stream": "0.0.7",
"mocha": "^9.0.0",
"webpack": "^5.39.1",
"webpack-cli": "*",
"webpack-stream": "^6.1.2"
},
"scripts": {

View File

@ -1,15 +1,18 @@
//GENERATE_IMPORTS_START
const R3 = require('./r3-r3.js');
const System = require('./r3-system/r3-system.js');
const Event = require('./r3-event.js');
const Utils = require('./r3-utils.js');
const R3 = require('r3-r3.js');
//GENERATE_IMPORTS_END
//GENERATE_INDEX_BODY_START
R3.System.Linking.Start()
R3.System.Socket.Start()
R3.System.Test.Start()
console.log('r3.js - version ' + R3.version + ' compiled ' + R3.compileDate);
//GENERATE_INDEX_BODY_END
module.exports = {
//GENERATE_EXPORTS_START
R3,
System,
Event,
Utils
R3
//GENERATE_EXPORTS_END
}

View File

@ -3,6 +3,9 @@ const Component = require('./r3-component.js');
const Image = require('./r3-image.js');
//GENERATE_IMPORTS_END
//GENERATE_INDEX_BODY_START
//GENERATE_INDEX_BODY_END
module.exports = {
//GENERATE_EXPORTS_START
Component,

View File

@ -1,6 +1,6 @@
class R3 {
static version = '__VERSION__';
static compileDate = '__DATE__';
static version = '2.0.18';
static compileDate = '2021 Jul 04 - 16:34:09 pm';
}
//GENERATE_IMPORTS_START
@ -29,10 +29,13 @@ R3.Event.Object.Project = Project;
R3.Event.Object.Component.Image = Image;
//GENERATE_DEFINES_END
//GENERATE_CONVENIENT_DEFINES_START
R3.Object = R3Object;
R3.Component = Component;
//GENERATE_CONVENIENT_DEFINES_END
//CUSTOM_CONVENIENT_DEFINES_START
R3.Object = R3.Event.Object;
R3.Project = R3.Event.Object.Project;
R3.Component = R3.Event.Object.Component;
R3.Project = Project;
//CUSTOM_CONVENIENT_DEFINES_END
module.exports = R3;

View File

@ -5,6 +5,9 @@ const SystemSocket = require('./r3-system-socket.js');
const SystemTest = require('./r3-system-test.js');
//GENERATE_IMPORTS_END
//GENERATE_INDEX_BODY_START
//GENERATE_INDEX_BODY_END
module.exports = {
//GENERATE_EXPORTS_START
System,

View File

@ -1,6 +1,9 @@
//GENERATE_IMPORTS_START
//GENERATE_IMPORTS_END
//GENERATE_INDEX_BODY_START
//GENERATE_INDEX_BODY_END
module.exports = {
//GENERATE_EXPORTS_START
//GENERATE_EXPORTS_END

View File

@ -1,6 +1,6 @@
class R3 {
static version = '__VERSION__';
static compileDate = '__DATE__';
static version = 'VERSION';
static compileDate = 'DATE';
}
//GENERATE_IMPORTS_START
@ -9,6 +9,9 @@ class R3 {
//GENERATE_DEFINES_START
//GENERATE_DEFINES_END
//GENERATE_CONVENIENT_DEFINES_START
//GENERATE_CONVENIENT_DEFINES_END
//CUSTOM_CONVENIENT_DEFINES_START
//CUSTOM_CONVENIENT_DEFINES_END

View File

@ -1,6 +1,7 @@
GENERATE_ASYNC_METHOD
GENERATE_CONSTRUCTOR
GENERATE_CONSTRUCTOR_EXTENDS
GENERATE_CONVENIENT_DEFINES
GENERATE_CREATE_INSTANCE_METHOD
GENERATE_CREATE_INSTANCE_OPTIONS
GENERATE_DEFINES
@ -10,6 +11,7 @@ GENERATE_EMIT_METHOD
GENERATE_EVENT_LISTENERS
GENERATE_EXPORTS
GENERATE_IMPORTS
GENERATE_INDEX_BODY
GENERATE_INHERITED
GENERATE_METHOD_NAME_UPPERCASE_METHOD
GENERATE_METHODS

View File

@ -952,6 +952,11 @@ function generateR3($nodes)
$file = str_replace('src/r3', '.', $node->file);
array_push($imports, "const " . $node->name . ' = require(\'' . $file . "');");
array_push($defines, $node->nameSpace . $node->nameSpaceClassName . ' = ' . $node->name);
if (sizeof($node->children) > 0 && substr_count($node->nameSpace, ".") > 1) {
$convenientDefine = "R3." . $node->nameSpaceClassName . ' = ' . $node->name;
array_push($convenientDefines, $convenientDefine);
}
}
@ -963,13 +968,59 @@ function generateR3($nodes)
$template = file_get_contents('src/templates/r3-base.template');
$version = file_get_contents('version');
$template = str_replace('DATE', date("Y M d - H:i:s a"), $template);
$template = str_replace('VERSION', $version, $template);
file_put_contents($r3File, $template);
$packageJson = file_get_contents('package.json');
$packageJson = preg_replace('/(.*version.*: ").*(".*)/', '${1}' . $version . '${2}', $packageJson);
file_put_contents('package.json', $packageJson);
updateSection($r3File, 'GENERATE_IMPORTS', implode("\n", $imports));
updateSection($r3File, 'GENERATE_DEFINES', implode(";\n", $defines) . ";");
updateSection($r3File, 'GENERATE_CONVENIENT_DEFINES', implode(";\n", $convenientDefines) . ";");
if (in_array('CUSTOM_CONVENIENT_DEFINES', array_keys($tokens))) {
updateSection($r3File, 'CUSTOM_CONVENIENT_DEFINES', $tokens['CUSTOM_CONVENIENT_DEFINES']);
}
$indexFile = 'src/r3/index.js';
$template = file_get_contents('src/templates/index.template');
file_put_contents($indexFile, $template);
$imports = ['const R3 = require(\'r3-r3.js\');'];
$exports = ' R3';
$indexBody = [];
foreach ($nodes as $node) {
/**
* Node $node
*/
if (preg_match('/\bSystem\w+\b/', $node->name)){
array_push($indexBody, $node->nameSpace . $node->nameSpaceClassName . ".Start()");
}
}
array_push($indexBody, "\nconsole.log('r3.js - version ' + R3.version + ' compiled ' + R3.compileDate);\n\n");
updateSection($indexFile, 'GENERATE_IMPORTS', implode("\n", $imports));
updateSection($indexFile, 'GENERATE_INDEX_BODY', implode("\n", $indexBody));
updateSection($indexFile, 'GENERATE_EXPORTS', $exports);
$r3js = fopen('dist/r3.js', "w");
ftruncate($r3js, 0);
foreach ($nodes as $node) {
$contents = file_get_contents($node->file);
fwrite($r3js, $contents);
}
fclose($r3js);
}
if ($argv[2] == 'build-graph') {

1
version Normal file
View File

@ -0,0 +1 @@
2.0.18