diff --git a/ivette/Makefile b/ivette/Makefile index a30dcad4c5f3265efb03fb9bdf283e93d0243a8f..5dd398d62b47d02db335665a89719302a835b3c7 100644 --- a/ivette/Makefile +++ b/ivette/Makefile @@ -47,7 +47,7 @@ VERSION=$(shell echo "console.log(require('./package.json').version)" | node -) DOC_ICONS_CSS= src/dome/doc/gallery.css DOC_ICONS_MAKE= src/dome/doc/iconsmd.js -DOC_ICONS_DATA= src/dome/src/renderer/controls/gallery.json +DOC_ICONS_DATA= src/dome/renderer/controls/gallery.json DOC_GUIDES= src/dome/doc/guides NODEBIN= ./node_modules/.bin @@ -81,13 +81,6 @@ $(NODEBIN)/%: @echo "[Node] install package $*" yarn add -D $* -# -------------------------------------------------------------------------- -# --- Ivette Plugins -# -------------------------------------------------------------------------- - -DOME_PLUGINS= -DOME_EXPORTS= - # -------------------------------------------------------------------------- include $(DOME)/template/makefile # -------------------------------------------------------------------------- diff --git a/ivette/src/dome/.gitignore b/ivette/src/dome/.gitignore index 7cd1e3e820fe332ae0b7c2364e684d9dfebb5d87..6591bed583d6bb9eb4433e9c6255546ce148706c 100644 --- a/ivette/src/dome/.gitignore +++ b/ivette/src/dome/.gitignore @@ -7,47 +7,6 @@ .dome-*.orig .dome-*.lock -######################################### -# Dome Repository -######################################### - -/.gitdome - -######################################### -# JavaScript -######################################### - -node_modules -yarn.lock -/package.json - -######################################### -# Example Application -######################################### - -/.babelrc -/webpack.main.js -/webpack.renderer.js -/webpack.plugin.js -/electron-webpack.json -/dist -/bin -/src/main/index.js -/src/misc/exports.js -/src/renderer/index.js -/src/renderer/Application.js -/src/renderer/Preferences.js -/src/renderer/styles.css -/src/renderer/demo -/src/plugins - -######################################### -# Documentation -######################################### - -/html /doc/template/gallery-icons.html -/doc/template/gallery-styles.js -/doc/template/gallery-styles.html ######################################### diff --git a/ivette/src/dome/CHANGELOG.md b/ivette/src/dome/CHANGELOG.md deleted file mode 100644 index 4e51470c1da281d1264d99637ca279df412f3ac7..0000000000000000000000000000000000000000 --- a/ivette/src/dome/CHANGELOG.md +++ /dev/null @@ -1 +0,0 @@ -# Version 0.0.1 diff --git a/ivette/src/dome/doc/guides/development.md b/ivette/src/dome/doc/guides/development.md index a1bfa4c54602b2ea514f1be81044601f7196a59b..e2269e794490c6d9ee082bc82968277a340ac4e3 100644 --- a/ivette/src/dome/doc/guides/development.md +++ b/ivette/src/dome/doc/guides/development.md @@ -175,18 +175,10 @@ $ make dome-help make dome-plugins Package plugins for distribution [Dome] Development: - Dome framework DOME = '…' - Local command DOME_CLI = '…' - Arguments (dev) DOME_ARGS = '…' - Export modules DOME_EXPORTS = '…' - Plugin modules DOME_PLUGINS = '…' + … (environment variables) [Dome] Documentation: - Application APP = '…' - Copyright COPYRIGHT = '…' - Dome framework DOME_DOC = '…' - Output dir DOME_DOC = '…' - Public API DOME_API = '…' + … (environment variables) ``` diff --git a/ivette/src/dome/Makefile b/ivette/src/dome/examples/Makefile similarity index 100% rename from ivette/src/dome/Makefile rename to ivette/src/dome/examples/Makefile diff --git a/ivette/src/dome/examples/README.md b/ivette/src/dome/examples/README.md new file mode 100644 index 0000000000000000000000000000000000000000..27ced4fd5e9da5fcd000f09eebfce1d09cea679d --- /dev/null +++ b/ivette/src/dome/examples/README.md @@ -0,0 +1,5 @@ +# Dome Examples + +The `./Makefile` is from an old demo. It is probably outdated. + +**TO BE CONTINUED** diff --git a/ivette/src/dome/src/main/dome.ts b/ivette/src/dome/main/dome.ts similarity index 100% rename from ivette/src/dome/src/main/dome.ts rename to ivette/src/dome/main/dome.ts diff --git a/ivette/src/dome/src/main/menubar.ts b/ivette/src/dome/main/menubar.ts similarity index 100% rename from ivette/src/dome/src/main/menubar.ts rename to ivette/src/dome/main/menubar.ts diff --git a/ivette/src/dome/src/misc/devtools.js b/ivette/src/dome/misc/devtools.js similarity index 100% rename from ivette/src/dome/src/misc/devtools.js rename to ivette/src/dome/misc/devtools.js diff --git a/ivette/src/dome/src/misc/register.js b/ivette/src/dome/misc/register.js similarity index 100% rename from ivette/src/dome/src/misc/register.js rename to ivette/src/dome/misc/register.js diff --git a/ivette/src/dome/src/misc/system.ts b/ivette/src/dome/misc/system.ts similarity index 100% rename from ivette/src/dome/src/misc/system.ts rename to ivette/src/dome/misc/system.ts diff --git a/ivette/src/dome/src/misc/utils.ts b/ivette/src/dome/misc/utils.ts similarity index 100% rename from ivette/src/dome/src/misc/utils.ts rename to ivette/src/dome/misc/utils.ts diff --git a/ivette/src/dome/src/renderer/controls/buttons.tsx b/ivette/src/dome/renderer/controls/buttons.tsx similarity index 100% rename from ivette/src/dome/src/renderer/controls/buttons.tsx rename to ivette/src/dome/renderer/controls/buttons.tsx diff --git a/ivette/src/dome/src/renderer/controls/gallery.json b/ivette/src/dome/renderer/controls/gallery.json similarity index 100% rename from ivette/src/dome/src/renderer/controls/gallery.json rename to ivette/src/dome/renderer/controls/gallery.json diff --git a/ivette/src/dome/src/renderer/controls/icons.tsx b/ivette/src/dome/renderer/controls/icons.tsx similarity index 100% rename from ivette/src/dome/src/renderer/controls/icons.tsx rename to ivette/src/dome/renderer/controls/icons.tsx diff --git a/ivette/src/dome/src/renderer/controls/labels.tsx b/ivette/src/dome/renderer/controls/labels.tsx similarity index 100% rename from ivette/src/dome/src/renderer/controls/labels.tsx rename to ivette/src/dome/renderer/controls/labels.tsx diff --git a/ivette/src/dome/src/renderer/controls/style.css b/ivette/src/dome/renderer/controls/style.css similarity index 100% rename from ivette/src/dome/src/renderer/controls/style.css rename to ivette/src/dome/renderer/controls/style.css diff --git a/ivette/src/dome/src/renderer/data/compare.ts b/ivette/src/dome/renderer/data/compare.ts similarity index 100% rename from ivette/src/dome/src/renderer/data/compare.ts rename to ivette/src/dome/renderer/data/compare.ts diff --git a/ivette/src/dome/src/renderer/data/json.ts b/ivette/src/dome/renderer/data/json.ts similarity index 100% rename from ivette/src/dome/src/renderer/data/json.ts rename to ivette/src/dome/renderer/data/json.ts diff --git a/ivette/src/dome/src/renderer/data/library.js b/ivette/src/dome/renderer/data/library.js similarity index 100% rename from ivette/src/dome/src/renderer/data/library.js rename to ivette/src/dome/renderer/data/library.js diff --git a/ivette/src/dome/src/renderer/data/settings.ts b/ivette/src/dome/renderer/data/settings.ts similarity index 100% rename from ivette/src/dome/src/renderer/data/settings.ts rename to ivette/src/dome/renderer/data/settings.ts diff --git a/ivette/src/dome/src/renderer/data/states.ts b/ivette/src/dome/renderer/data/states.ts similarity index 100% rename from ivette/src/dome/src/renderer/data/states.ts rename to ivette/src/dome/renderer/data/states.ts diff --git a/ivette/src/dome/src/renderer/dialogs.tsx b/ivette/src/dome/renderer/dialogs.tsx similarity index 100% rename from ivette/src/dome/src/renderer/dialogs.tsx rename to ivette/src/dome/renderer/dialogs.tsx diff --git a/ivette/src/dome/src/renderer/dnd.js b/ivette/src/dome/renderer/dnd.js similarity index 100% rename from ivette/src/dome/src/renderer/dnd.js rename to ivette/src/dome/renderer/dnd.js diff --git a/ivette/src/dome/src/renderer/dome.tsx b/ivette/src/dome/renderer/dome.tsx similarity index 100% rename from ivette/src/dome/src/renderer/dome.tsx rename to ivette/src/dome/renderer/dome.tsx diff --git a/ivette/src/dome/src/renderer/errors.tsx b/ivette/src/dome/renderer/errors.tsx similarity index 100% rename from ivette/src/dome/src/renderer/errors.tsx rename to ivette/src/dome/renderer/errors.tsx diff --git a/ivette/src/dome/src/renderer/frame/sidebars.tsx b/ivette/src/dome/renderer/frame/sidebars.tsx similarity index 100% rename from ivette/src/dome/src/renderer/frame/sidebars.tsx rename to ivette/src/dome/renderer/frame/sidebars.tsx diff --git a/ivette/src/dome/src/renderer/frame/style.css b/ivette/src/dome/renderer/frame/style.css similarity index 100% rename from ivette/src/dome/src/renderer/frame/style.css rename to ivette/src/dome/renderer/frame/style.css diff --git a/ivette/src/dome/src/renderer/frame/tabs.tsx b/ivette/src/dome/renderer/frame/tabs.tsx similarity index 100% rename from ivette/src/dome/src/renderer/frame/tabs.tsx rename to ivette/src/dome/renderer/frame/tabs.tsx diff --git a/ivette/src/dome/src/renderer/frame/toolbars.tsx b/ivette/src/dome/renderer/frame/toolbars.tsx similarity index 100% rename from ivette/src/dome/src/renderer/frame/toolbars.tsx rename to ivette/src/dome/renderer/frame/toolbars.tsx diff --git a/ivette/src/dome/src/renderer/layout/boxes.tsx b/ivette/src/dome/renderer/layout/boxes.tsx similarity index 100% rename from ivette/src/dome/src/renderer/layout/boxes.tsx rename to ivette/src/dome/renderer/layout/boxes.tsx diff --git a/ivette/src/dome/src/renderer/layout/dispatch.tsx b/ivette/src/dome/renderer/layout/dispatch.tsx similarity index 100% rename from ivette/src/dome/src/renderer/layout/dispatch.tsx rename to ivette/src/dome/renderer/layout/dispatch.tsx diff --git a/ivette/src/dome/src/renderer/layout/forms.tsx b/ivette/src/dome/renderer/layout/forms.tsx similarity index 100% rename from ivette/src/dome/src/renderer/layout/forms.tsx rename to ivette/src/dome/renderer/layout/forms.tsx diff --git a/ivette/src/dome/src/renderer/layout/grids.js b/ivette/src/dome/renderer/layout/grids.js similarity index 100% rename from ivette/src/dome/src/renderer/layout/grids.js rename to ivette/src/dome/renderer/layout/grids.js diff --git a/ivette/src/dome/src/renderer/layout/splitters.tsx b/ivette/src/dome/renderer/layout/splitters.tsx similarity index 100% rename from ivette/src/dome/src/renderer/layout/splitters.tsx rename to ivette/src/dome/renderer/layout/splitters.tsx diff --git a/ivette/src/dome/src/renderer/layout/style.css b/ivette/src/dome/renderer/layout/style.css similarity index 100% rename from ivette/src/dome/src/renderer/layout/style.css rename to ivette/src/dome/renderer/layout/style.css diff --git a/ivette/src/dome/src/renderer/style.css b/ivette/src/dome/renderer/style.css similarity index 100% rename from ivette/src/dome/src/renderer/style.css rename to ivette/src/dome/renderer/style.css diff --git a/ivette/src/dome/src/renderer/table/arrays.ts b/ivette/src/dome/renderer/table/arrays.ts similarity index 100% rename from ivette/src/dome/src/renderer/table/arrays.ts rename to ivette/src/dome/renderer/table/arrays.ts diff --git a/ivette/src/dome/src/renderer/table/models.ts b/ivette/src/dome/renderer/table/models.ts similarity index 100% rename from ivette/src/dome/src/renderer/table/models.ts rename to ivette/src/dome/renderer/table/models.ts diff --git a/ivette/src/dome/src/renderer/table/style.css b/ivette/src/dome/renderer/table/style.css similarity index 100% rename from ivette/src/dome/src/renderer/table/style.css rename to ivette/src/dome/renderer/table/style.css diff --git a/ivette/src/dome/src/renderer/table/views.tsx b/ivette/src/dome/renderer/table/views.tsx similarity index 100% rename from ivette/src/dome/src/renderer/table/views.tsx rename to ivette/src/dome/renderer/table/views.tsx diff --git a/ivette/src/dome/src/renderer/text/buffers.ts b/ivette/src/dome/renderer/text/buffers.ts similarity index 100% rename from ivette/src/dome/src/renderer/text/buffers.ts rename to ivette/src/dome/renderer/text/buffers.ts diff --git a/ivette/src/dome/src/renderer/text/editors.tsx b/ivette/src/dome/renderer/text/editors.tsx similarity index 100% rename from ivette/src/dome/src/renderer/text/editors.tsx rename to ivette/src/dome/renderer/text/editors.tsx diff --git a/ivette/src/dome/src/renderer/text/pages.tsx b/ivette/src/dome/renderer/text/pages.tsx similarity index 100% rename from ivette/src/dome/src/renderer/text/pages.tsx rename to ivette/src/dome/renderer/text/pages.tsx diff --git a/ivette/src/dome/src/renderer/text/style.css b/ivette/src/dome/renderer/text/style.css similarity index 100% rename from ivette/src/dome/src/renderer/text/style.css rename to ivette/src/dome/renderer/text/style.css diff --git a/ivette/src/dome/src/misc/plugins.js b/ivette/src/dome/src/misc/plugins.js deleted file mode 100644 index 87a08c0c836e960d70158825db1a98a685f2282c..0000000000000000000000000000000000000000 --- a/ivette/src/dome/src/misc/plugins.js +++ /dev/null @@ -1,97 +0,0 @@ -// -------------------------------------------------------------------------- -// --- Dome Plugins Management -// -------------------------------------------------------------------------- - -import fs from 'fs' ; -import path from 'path' ; - -const registry = {} ; - -// -------------------------------------------------------------------------- -// --- Installing Bundle -// -------------------------------------------------------------------------- - -export function register( id, exports ) -{ - registry[id] = Object.assign( {} , exports ); -} - -const WRAPPER_OPEN = '(function(module,require,__static){\n' ; -const WRAPPER_CLOSE = '\n})' ; -const PLUGINS = '@plugins/' ; - -export function install( name ) -{ - // Resolve plugin directory - let dir = path.resolve( __static , "plugins" , name ); - if (!fs.isDirectory()) - throw `Plugin '${name}' not installed` ; - - // Resolve plugin configuration - let pkg = path.resolve( dir , 'package.json' ); - if (!fs.isFile(pkg)) - throw `Plugin '${name}' has no 'package.json' file` ; - let config ; - try { config = JSON.pargse(fs.readFileSync( pkg , 'UTF-8' )); } - catch(err) { - console.error( `[Dome] Reading '${pkg}':\n`, err ); - throw `Plugin '${name}' has invalid 'package.json' file` ; - } - - // Resolve plugin entry points - let bundlejs = path.resolve( dir, config.main || 'bundle.js' ); - if (!fs.isFile(bundlejs)) - throw `Plugin '${name}' entry point not found` ; - let static_d = path.resolve( dir, 'static' ); - if (!fs.isDirectory(static_d)) static_d = undefined; - - // Load bundle file - let bundle ; - try { bundle = fs.readFileSync( bundlejs , 'UTF-8' ); } - catch(err) { - console.error( `[Dome] Loading '${bundlejs}':\n`, err ); - throw `Plugin '${name}' can not load its entry point` ; - } - - // Install bundle file - let id = PLUGINS + name ; - let exports = {} ; - register( id, exports ); // cut circularities - try { - let wrapped = WRAPPER_OPEN + bundle + WRAPPER_CLOSE ; - let compiled ; eval(wrapped); - let module = { id, exports }; - compiled( module, require, static_d ); - } catch(err) { - console.error( `[Dome] Running '${bundlejs}':\n`, err ); - throw `Plugin '${name}' can not install bundle` ; - } - register( id, exports ); // final exports - - // Finally return exports - return exports ; -} - -// -------------------------------------------------------------------------- -// --- Resolving Modules -// -------------------------------------------------------------------------- - -export function require(id) -{ - let exports = registry[id]; - if (exports) return Object.assign( {} , exports ); - - // Resolving plugin - - if (id.startsWith(PLUGINS)) - { - let exports = install( id.substring(PLUGINS.length) ); - return Object.assign( {} , exports ); - } - - // Trap - - throw `Module '${id}' not found` ; -} - -// -------------------------------------------------------------------------- diff --git a/ivette/src/dome/template/Application.js b/ivette/src/dome/template/Application.js index c98deea8572112ba3444adeba90303d3e5d365dc..539097f43bea2e3b23af9a82fcf4e6c0601d51cb 100644 --- a/ivette/src/dome/template/Application.js +++ b/ivette/src/dome/template/Application.js @@ -13,7 +13,6 @@ import React from 'react' ; import * as Dome from 'dome' ; -import 'dome/misc/exports' ; export default (() => ( <h1 className='dome-text-title' style={{margin: 24}}> diff --git a/ivette/src/dome/template/makefile b/ivette/src/dome/template/makefile index 8abb88101324bc5b41a363d3d6ef56fa0e6cf5d3..376d32c4fadf74c1c5bd08d3f8761a1821cb570d 100644 --- a/ivette/src/dome/template/makefile +++ b/ivette/src/dome/template/makefile @@ -13,8 +13,6 @@ DOME?=dome DOME_ARGS?= DOME_DEV_ARGS?= DOME_APP_ARGS?= -DOME_EXPORTS?= -DOME_PLUGINS?= DOME_CLI?=./bin/$(DOME_MK_NAME) DOME_DOC?=./doc/html DOME_API?= @@ -38,15 +36,12 @@ dome-help: @echo " make dome-templ Update templates" @echo " make dome-reboot Rebuild templates from scratch" @echo " make dome-clean Remove dome temporary files" - @echo " make dome-plugins Package plugins for distribution" @echo @echo "[Dome] Development:" @echo " Dome framework DOME = '$(DOME)'" @echo " Local command DOME_CLI = '$(DOME_CLI)'" @echo " Local arguments DOME_ARGS = '$(DOME_ARGS)'" @echo " Extra arg.(dev) DOME_DEV = '$(DOME_DEV)'" - @echo " Export modules DOME_EXPORTS = '$(DOME_EXPORTS)'" - @echo " Plugin modules DOME_PLUGINS = '$(DOME_PLUGINS)'" @echo @echo "[Dome] Documentation:" @echo " Application APP = '$(APP)'" @@ -134,7 +129,6 @@ DOME_MK_TEMPLATES= \ .gitignore \ .babelrc \ webpack.main.js \ - webpack.plugin.js \ webpack.renderer.js \ electron-webpack.json \ src/main/index.js \ @@ -169,9 +163,6 @@ webpack.main.js: $(DOME)/template/update.sh $(DOME)/template/webpack.main.js webpack.renderer.js: $(DOME)/template/update.sh $(DOME)/template/webpack.renderer.js @$^ $@ -webpack.plugin.js: $(DOME)/template/update.sh $(DOME)/template/webpack.plugin.js - @$^ $@ - electron-webpack.json: $(DOME)/template/update.sh $(DOME)/template/electron-webpack.json @$^ $@ @@ -205,82 +196,6 @@ src/renderer/Preferences.js: endif -# -------------------------------------------------------------------------- -# --- Exported API for Plugins -# -------------------------------------------------------------------------- - -.PHONY: dome-export-dev dome-export-app - -DOME_MK_EXPORTS_JS=$(DOME)/src/misc/exports.js - -# -------------------------------------------------------------------------- - -dome-export-dev: - @rm -f $(DOME_MK_EXPORTS_JS) - @echo "// Static Plugins Loader" > $(DOME_MK_EXPORTS_JS) - @for m in $(DOME_EXPORTS) ;\ - do \ - echo "[Dome] installing '$$m'" ;\ - echo "import '$$m';" \ - >> $(DOME_MK_EXPORTS_JS) ;\ - done - @for m in $(DOME_PLUGINS) ;\ - do \ - echo "[Dome] loading plugin $$m" ;\ - echo "import '@plugins/$$m';" >> $(DOME_MK_EXPORTS_JS) ;\ - done - @chmod a-w $(DOME_MK_EXPORTS_JS) - -# -------------------------------------------------------------------------- - -dome-export-app: - @rm -f $(DOME_MK_EXPORTS_JS) - @echo "// Static Loader (Generated by Dome)" > $(DOME_MK_EXPORTS_JS) - @echo "import { register } from 'dome/misc/plugins' ;" >> $(DOME_MK_EXPORTS_JS) ; - @echo "[Dome] export 'dome'" ; - @$(DOME)/template/export.sh $(DOME) >> $(DOME_MK_EXPORTS_JS) - @for m in $(DOME_EXPORTS) ;\ - do \ - echo "[Dome] export '$$m'" ;\ - echo "{ let m = require('$$m'); register('$$m',m); }" \ - >> $(DOME_MK_EXPORTS_JS) ;\ - done - @for m in $(DOME_PLUGINS) ;\ - do \ - echo "[Dome] install '@plugins/$$m'" ;\ - echo "{ let m = require('@plugins/$$m'); register('@plugins/$$m',m); }" \ - >> $(DOME_MK_EXPORTS_JS) ;\ - done - @chmod a-w $(DOME_MK_EXPORTS_JS) - -# -------------------------------------------------------------------------- -# --- Packaging Plugins -# -------------------------------------------------------------------------- - -.PHONY: dome-plugins dome-plugin-% - -DOME_MK_PLUGINS_TARGET=$(addprefix dome-plugin-, $(DOME_PLUGINS)) -DOME_MK_PLUGINS_SOURCE=$(addprefix src/plugins/, $(DOME_PLUGINS)) -DOME_MK_PLUGINS_CONFIG=$(addsuffix /package.json, $(DOME_MK_PLUGINS_SOURCE)) - -dome-plugins: $(DOME_MK_PLUGINS_CONFIG) $(DOME_MK_PLUGINS_TARGET) - -dome-plugin-%: src/plugins/%/package.json webpack.plugin.js - @echo "[Dome] building plugin '$*'" - @rm -fr dist/plugins/$* - @mkdir -p dist/plugins/$* - @node $(DOME)/template/packplugin.js '$*' - DOME=$(DOME) DOME_PLUGIN='$*' yarn run webpack -p --config webpack.plugin.js - @echo "[Dome] plugin packaged in ./dist/plugins/$*" - -src/plugins/%/package.json: - @echo "[Dome] creating package.json for plugin '$*'" - @echo '{' > $@ - @echo ' "name": "$*",' >> $@ - @echo ' "version": "0.1",' >> $@ - @echo ' "license": "UNLICENSED"' >> $@ - @echo '}' >> $@ - # -------------------------------------------------------------------------- # --- Application Development # -------------------------------------------------------------------------- @@ -289,7 +204,7 @@ DOME_MK_CLIDIR=$(dir $(DOME_CLI)) .PHONY: dome-dev -dome-dev: dome-pkg dome-templ dome-export-dev +dome-dev: dome-pkg dome-templ @echo "[Dome] linking $(DOME_CLI)" @mkdir -p $(DOME_MK_CLIDIR) @rm -f $(DOME_CLI) @@ -307,7 +222,7 @@ dome-dev: dome-pkg dome-templ dome-export-dev .PHONY: dome-app -dome-app: dome-pkg dome-templ dome-export-app +dome-app: dome-pkg dome-templ @echo "[Dome] compiling application (production)" DOME=$(DOME) DOME_ENV='app' yarn run electron-webpack app @echo "[Dome] linking $(DOME_CLI)" @@ -334,7 +249,7 @@ dome-dist: dome-app # -------------------------------------------------------------------------- DOME_MK_ICON_MAKE=$(DOME)/doc/icons.js -DOME_MK_ICON_DATA=$(DOME)/src/renderer/controls/icons.json +DOME_MK_ICON_DATA=$(DOME)/renderer/controls/icons.json DOME_MK_ICON_HTML=$(DOME)/doc/template/gallery-icons.html $(DOME_MK_ICON_HTML): $(DOME_MK_ICON_MAKE) $(DOME_MK_ICON_DATA) @@ -345,8 +260,7 @@ $(DOME_MK_ICON_HTML): $(DOME_MK_ICON_MAKE) $(DOME_MK_ICON_DATA) # --- Dome Documentation # -------------------------------------------------------------------------- -DOME_MK_DOC_SRC=$(DOME_API) $(addprefix src/plugins/, $(DOME_PLUGINS)) -DOME_MK_DOC_API=$(addprefix $(CURDIR)/, $(DOME_MK_DOC_SRC)) +DOME_MK_DOC_API=$(addprefix $(CURDIR)/, $(DOME_API)) DOME_MK_DOC_OUT=$(addprefix $(CURDIR)/, $(DOME_DOC)) dome-doc: $(DOME_MK_BIN)/jsdoc $(DOME_MK_ICON_HTML) diff --git a/ivette/src/dome/template/packplugin.js b/ivette/src/dome/template/packplugin.js deleted file mode 100644 index d0a9f265c2826d99fc11b7fed2a32ba4a574fb00..0000000000000000000000000000000000000000 --- a/ivette/src/dome/template/packplugin.js +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/node - -const fs = require('fs'); -const name = process.argv[2]; -const INFOS = [ - 'name', - 'version', - 'description', - 'homepage', - 'bugs', - 'keywords', - 'author', - 'contributors', - 'repository', - 'license' -]; - -const dst = { - name, - version: '0.1', - license: 'UNLICENSED', - main: 'bundle.js' -}; - -let src = './src/plugins/' + name + '/package.json' ; -let tgt = './dist/plugins/' + name + '/package.json' ; -let pkg = JSON.parse( fs.readFileSync( src , 'UTF-8' ) ); -INFOS.forEach((fd) => { let d = pkg[fd] ; if (!d) dst[fd] = d }); -fs.writeFileSync( tgt , JSON.stringify(dst) , 'UTF-8' ); - -// End. diff --git a/ivette/share/typescript-config.el b/ivette/src/dome/template/typescript.el similarity index 100% rename from ivette/share/typescript-config.el rename to ivette/src/dome/template/typescript.el diff --git a/ivette/src/dome/template/webpack.main.js b/ivette/src/dome/template/webpack.main.js index c95133c8fdb4e5eb79f7db0e43ed3a5ce038649d..3d91c95097c725faad8398566de393881c2a3b02 100644 --- a/ivette/src/dome/template/webpack.main.js +++ b/ivette/src/dome/template/webpack.main.js @@ -21,7 +21,7 @@ function domeDevtools() { case 'dev': return 'electron-devtools-installer'; default: - return path.resolve( DOME , 'src/misc/devtools.js' ); + return path.resolve( DOME , 'misc/devtools.js' ); } } @@ -37,8 +37,8 @@ module.exports = { resolve: { extensions: ['.ts', '.tsx', '.js', 'jsx', '.json'], alias: { - 'dome$': path.resolve( DOME , 'src/main/dome.ts' ), - 'dome/system$': path.resolve( DOME , 'src/misc/system.ts' ), + 'dome$': path.resolve( DOME , 'main/dome.ts' ), + 'dome/system$': path.resolve( DOME , 'misc/system.ts' ), 'dome/devtools': domeDevtools() } } diff --git a/ivette/src/dome/template/webpack.plugin.js b/ivette/src/dome/template/webpack.plugin.js deleted file mode 100644 index f60bdbf7ab8cda15ad9dcba2c747a5a3d82e57ed..0000000000000000000000000000000000000000 --- a/ivette/src/dome/template/webpack.plugin.js +++ /dev/null @@ -1,41 +0,0 @@ -// -------------------------------------------------------------------------- -// --- Webpack configuration for packing plugins -// -------------------------------------------------------------------------- - -/* - Template of ./webpack.plugin.js from $(DOME)/template/webpack.plugin.js - - This webpack definitions will be used to make plugin bundles. - - You may extend it with your own additions. -*/ - -const path = require('path'); -const DOME = process.env.DOME || path.resolve( __dirname , 'dome' ); -const PLUGIN = process.env.DOME_PLUGIN ; -const ENTRY = path.resolve( __dirname , 'src/plugins' , PLUGIN ); -const DIST = path.resolve( __dirname , 'dist/plugins' , PLUGIN ); - -module.exports = { - entry: ENTRY, - output: { - path: DIST, - filename: 'bundle.js', - libraryTarget: 'commonjs2' - }, - module: { - rules: [ - { test: /\.css$/, use: [ 'style-loader', 'css-loader' ] }, - { test: /\.js$/, use: [ 'babel-loader' ], exclude: /(node_modules)/ } - ] - }, - externals: [ - 'lodash', - 'react', - /^dome\/.+$/, - /^@plugins\/.+$/, - /^@\/.+$/ - ] -}; - -// -------------------------------------------------------------------------- diff --git a/ivette/src/dome/template/webpack.renderer.js b/ivette/src/dome/template/webpack.renderer.js index 8c79890dffa9b4d26c1a635a43c04cf99e9c51d0..f0b03d02cbe34d8c1399c36dbfa899cac95a368e 100644 --- a/ivette/src/dome/template/webpack.renderer.js +++ b/ivette/src/dome/template/webpack.renderer.js @@ -27,11 +27,10 @@ module.exports = { resolve: { extensions: ['.ts', '.tsx', '.js', 'jsx', '.json'], alias: { - '@plugins': path.resolve( __dirname , 'src/plugins' ), - 'dome/misc': path.resolve( DOME , 'src/misc' ), - 'dome/system': path.resolve( DOME , 'src/misc/system.ts' ), - 'dome$': path.resolve( DOME , 'src/renderer/dome.tsx' ), - 'dome': path.resolve( DOME , 'src/renderer' ), + 'dome/misc': path.resolve( DOME , 'misc' ), + 'dome/system': path.resolve( DOME , 'misc/system.ts' ), + 'dome$': path.resolve( DOME , 'renderer/dome.tsx' ), + 'dome': path.resolve( DOME , 'renderer' ), 'react-dom': '@hot-loader/react-dom' } } diff --git a/ivette/tsconfig.json b/ivette/tsconfig.json index e929dbfa220830cf6f51d162318b913b2c90242d..1292c840771384a411a81a932177c88805047f1c 100644 --- a/ivette/tsconfig.json +++ b/ivette/tsconfig.json @@ -45,11 +45,11 @@ "paths": { /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ "frama-c/api/*": [ "api/generated/*" ], "frama-c/*": [ "src/frama-c/*" ], - "dome": [ "src/dome/src/renderer/dome.tsx" ], - "dome/system": [ "src/dome/src/misc/system.js" ], - "dome/devtools": [ "src/dome/src/misc/devtools.js" ], - "dome/misc/*": [ "src/dome/src/misc/*"], - "dome/*": [ "src/dome/src/renderer/*" ], + "dome": [ "src/dome/renderer/dome.tsx" ], + "dome/system": [ "src/dome/misc/system.js" ], + "dome/devtools": [ "src/dome/misc/devtools.js" ], + "dome/misc/*": [ "src/dome/misc/*"], + "dome/*": [ "src/dome/renderer/*" ], "codemirror/lib/codemirror": ["node_modules/@types/codemirror/index.d.ts"], }, // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */ @@ -104,9 +104,9 @@ "src/frama-c/states.ts", "src/frama-c/utils.ts", "api/generated", - "src/dome/src/renderer", - "src/dome/src/misc/utils.ts", - "src/dome/src/misc/system.ts", + "src/dome/renderer", + "src/dome/misc/utils.ts", + "src/dome/misc/system.ts", ] } } diff --git a/ivette/webpack.main.js b/ivette/webpack.main.js index c95133c8fdb4e5eb79f7db0e43ed3a5ce038649d..3d91c95097c725faad8398566de393881c2a3b02 100644 --- a/ivette/webpack.main.js +++ b/ivette/webpack.main.js @@ -21,7 +21,7 @@ function domeDevtools() { case 'dev': return 'electron-devtools-installer'; default: - return path.resolve( DOME , 'src/misc/devtools.js' ); + return path.resolve( DOME , 'misc/devtools.js' ); } } @@ -37,8 +37,8 @@ module.exports = { resolve: { extensions: ['.ts', '.tsx', '.js', 'jsx', '.json'], alias: { - 'dome$': path.resolve( DOME , 'src/main/dome.ts' ), - 'dome/system$': path.resolve( DOME , 'src/misc/system.ts' ), + 'dome$': path.resolve( DOME , 'main/dome.ts' ), + 'dome/system$': path.resolve( DOME , 'misc/system.ts' ), 'dome/devtools': domeDevtools() } } diff --git a/ivette/webpack.plugin.js b/ivette/webpack.plugin.js deleted file mode 100644 index f60bdbf7ab8cda15ad9dcba2c747a5a3d82e57ed..0000000000000000000000000000000000000000 --- a/ivette/webpack.plugin.js +++ /dev/null @@ -1,41 +0,0 @@ -// -------------------------------------------------------------------------- -// --- Webpack configuration for packing plugins -// -------------------------------------------------------------------------- - -/* - Template of ./webpack.plugin.js from $(DOME)/template/webpack.plugin.js - - This webpack definitions will be used to make plugin bundles. - - You may extend it with your own additions. -*/ - -const path = require('path'); -const DOME = process.env.DOME || path.resolve( __dirname , 'dome' ); -const PLUGIN = process.env.DOME_PLUGIN ; -const ENTRY = path.resolve( __dirname , 'src/plugins' , PLUGIN ); -const DIST = path.resolve( __dirname , 'dist/plugins' , PLUGIN ); - -module.exports = { - entry: ENTRY, - output: { - path: DIST, - filename: 'bundle.js', - libraryTarget: 'commonjs2' - }, - module: { - rules: [ - { test: /\.css$/, use: [ 'style-loader', 'css-loader' ] }, - { test: /\.js$/, use: [ 'babel-loader' ], exclude: /(node_modules)/ } - ] - }, - externals: [ - 'lodash', - 'react', - /^dome\/.+$/, - /^@plugins\/.+$/, - /^@\/.+$/ - ] -}; - -// -------------------------------------------------------------------------- diff --git a/ivette/webpack.renderer.js b/ivette/webpack.renderer.js index e84c7293cb846ed8f5f4cdeeb40460f5350b808f..3a087a4b936b409aa9f22b85124205bd4dd3edfe 100644 --- a/ivette/webpack.renderer.js +++ b/ivette/webpack.renderer.js @@ -29,11 +29,10 @@ module.exports = { alias: { 'frama-c/api': path.resolve( __dirname , 'api/generated' ), 'frama-c': path.resolve( __dirname , 'src/frama-c' ), - '@plugins': path.resolve( __dirname , 'src/plugins' ), - 'dome/misc': path.resolve( DOME , 'src/misc' ), - 'dome/system': path.resolve( DOME , 'src/misc/system.ts' ), - 'dome$': path.resolve( DOME , 'src/renderer/dome.tsx' ), - 'dome': path.resolve( DOME , 'src/renderer' ), + 'dome/misc': path.resolve( DOME , 'misc' ), + 'dome/system': path.resolve( DOME , 'misc/system.ts' ), + 'dome$': path.resolve( DOME , 'renderer/dome.tsx' ), + 'dome': path.resolve( DOME , 'renderer' ), 'react-dom': '@hot-loader/react-dom' } }