Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

@@-substitutions break validity of plugins' sources #50

Closed
johnd0e opened this issue Jan 10, 2019 · 7 comments · Fixed by #229 or #282
Closed

@@-substitutions break validity of plugins' sources #50

johnd0e opened this issue Jan 10, 2019 · 7 comments · Fixed by #229 or #282
Labels
development general development issue

Comments

@johnd0e
Copy link
Contributor

johnd0e commented Jan 10, 2019

Plugin's sources now are not valid js code, because of build-time substitution blocks like @@METAINFO@@, @@PLUGINSTART@@, @@PLUGINEND@@.

It complicates applying such tools like eslint.

It would be great if we could rearrange the code to make the substitutions appear commented, e.g.

// @@METAINFO@@
// ...
// @@PLUGINSTART@@
// ...
// @@PLUGINEND@@
@johnd0e johnd0e changed the title @@-substitutions breaks validity of plugins' sources @@-substitutions break validity of plugins' sources Jan 10, 2019
@modos189
Copy link
Contributor

I think that if not now, then in the future we will still be forced to use nodejs in the project. And if so, then let's add it now. Can you connect nodejs, babel and eslint to our build system? You seem to have more experience with this than I do.

@johnd0e
Copy link
Contributor Author

johnd0e commented Jan 12, 2019

And if so, then let's add it now.

Why not. But in fact it is beyond of scope of this issue: here we need very minor change to build script (I can make PR).


P.S
Yes, in the end it's about nodejs-dependent tools, but at first we need to be able to use them locally.
Later (but only after we have all the sources prepared) we also could include linting/prettying in our CI pipeline.

Currently we also need node.js+babel in our build process in order to resolve #47 keeping backward compatibility, but is is separate issue.

You seem to have more experience with this than I do.

Actually I do not. But it seems not hard, so let's try)

@modos189 modos189 added enhancement New feature or request core labels Jan 21, 2019
@johnd0e johnd0e added development general development issue and removed enhancement New feature or request core labels Jan 23, 2019
@johnd0e johnd0e added this to In progress in General development issues Feb 1, 2019
@angel93ayora
Copy link

angel93ayora commented Feb 8, 2019

I've been building plugins with gulp and linting with eslint for a while, y simply inject code this way:
/* inject: ./src/folder/file.js */
or for html strings
someHTMLElement.html(`/* inject ./src/html/file.html */`)

i can send you the gulpfile and eslint files

@johnd0e
Copy link
Contributor Author

johnd0e commented Feb 8, 2019

i can send you the gulpfile and eslint files

I'd like to see some samples, thanks in advance.

@angel93ayora
Copy link

i upload them here
build-files.zip

take a look

@angel93ayora
Copy link

angel93ayora commented Apr 3, 2019

The gulpfile and eslint files would need to be changed to match folders, also gulpfile will need changes to build plugins separatedly and IITC.

@johnd0e
Copy link
Contributor Author

johnd0e commented Apr 3, 2019

@angel93ayora, thank you for samples.
I suppose we will transfer all our build system from python to node at some point.

As for this PR: I have new idea how we could completely get rid of all @@METAINFO/PLUGINSTART/PLUGINEND...
But it will be another PR.

johnd0e pushed a commit to johnd0e/ingress-intel-total-conversion that referenced this issue Oct 29, 2019
Refactor build system into several modules:
- settings.py: to provide common settings (from buildsettings.py / localbuildsettings.py)
- build_plugin.py: to build single plugin
  formats userscript metablock, preprocesses sources - makes templates substitutions,
  inlines dependencies js/css/img - and wraps into wrapper (from pluginwrapper.py)
- build_mobile.py: to build android apk (embedding scripts from given directory)
- build.py: to build
Each module can be used independently as cli utility.

Escape macros in code in order to keep js-validity, fix IITC-CE#50.
Simplify userscripts source template, completely get rid of these ugly substitutions:
- `@@MetaInfo@@`
- `@@PLUGINSTART@@`
- `@@PLUGINEND@@`
- `.@@DATETIMEVERSION@@`
- `[@@Buildname@@-@@BUILDDATE@@]`
johnd0e pushed a commit to johnd0e/ingress-intel-total-conversion that referenced this issue Oct 29, 2019
Refactor build system into several modules:
- settings.py: to provide common settings (from buildsettings.py / localbuildsettings.py)
- build_plugin.py: to build single plugin
  formats userscript metablock, preprocesses sources - makes templates substitutions,
  inlines dependencies js/css/img - and wraps into wrapper (from pluginwrapper.py)
- build_mobile.py: to build android apk (embedding scripts from given directory)
- build.py: to build
Each module can be used independently as cli utility.

Escape macros in code in order to keep js-validity, fix IITC-CE#50.
Simplify userscripts source template, completely get rid of these ugly substitutions:
- `@@MetaInfo@@`
- `@@PLUGINSTART@@`
- `@@PLUGINEND@@`
- `.@@DATETIMEVERSION@@`
- `[@@Buildname@@-@@BUILDDATE@@]`
@johnd0e johnd0e removed this from In progress in General development issues Oct 30, 2019
johnd0e pushed a commit to johnd0e/ingress-intel-total-conversion that referenced this issue Oct 30, 2019
Refactor build system into several modules:
- `settings.py`: to provide common settings (from `buildsettings.py` / `localbuildsettings.py`)
- `build_plugin.py`: to build single plugin
  formats userscript metablock, preprocesses sources - makes templates substitutions,
  inlines dependencies js/css/img - and wraps into wrapper (from `pluginwrapper.py`)
- `build_mobile.py`: to build android apk (embedding scripts from given directory)
- `build.py`: to build all: main IITC script, all plugins, and (optionally) Android apk.

Each module can be used independently as cli utility.

Escape macros in code in order to keep js-validity, fix IITC-CE#50.
Simplify userscripts source template, completely get rid of these ugly substitutions:
- `@@MetaInfo@@`
- `@@PLUGINSTART@@`
- `@@PLUGINEND@@`
- `.@@DATETIMEVERSION@@`
- `[@@Buildname@@-@@BUILDDATE@@]`

Rename plugin sources:  `*.user.js` -> `*.js`

Close IITC-CE#150: use template from settings instead of url harcoding.

Close IITC-CE#99: remove timestamp component from `version` of Release scripts.
@johnd0e johnd0e mentioned this issue Oct 30, 2019
9 tasks
johnd0e pushed a commit to johnd0e/ingress-intel-total-conversion that referenced this issue Oct 31, 2019
Refactor build system into several modules:
- `settings.py`: to provide common settings (from `buildsettings.py` / `localbuildsettings.py`)
- `build_plugin.py`: to build single plugin
  formats userscript metablock, preprocesses sources - makes templates substitutions,
  inlines dependencies js/css/img - and wraps into wrapper (from `pluginwrapper.py`)
- `build_mobile.py`: to build android apk (embedding scripts from given directory)
- `build.py`: to build all: main IITC script, all plugins, and (optionally) Android apk.

Each module can be used independently as cli utility.

Escape macros in code in order to keep js-validity, fix IITC-CE#50.
Simplify userscripts source template, completely get rid of these ugly substitutions:
- `@@MetaInfo@@`
- `@@PLUGINSTART@@`
- `@@PLUGINEND@@`
- `.@@DATETIMEVERSION@@`
- `[@@Buildname@@-@@BUILDDATE@@]`

Rename plugin sources:  `*.user.js` -> `*.js`

Close IITC-CE#150: use template from settings instead of url harcoding.

Close IITC-CE#99: remove timestamp component from `version` of Release scripts.
johnd0e pushed a commit to johnd0e/ingress-intel-total-conversion that referenced this issue Nov 9, 2019
Refactor build system into several modules:
- `settings.py`: to provide common settings (from `buildsettings.py` / `localbuildsettings.py`)
- `build_plugin.py`: to build single plugin
  formats userscript metablock, preprocesses sources - makes templates substitutions,
  inlines dependencies js/css/img - and wraps into wrapper (from `pluginwrapper.py`)
- `build_mobile.py`: to build android apk (embedding scripts from given directory)
- `build.py`: to build all: main IITC script, all plugins, and (optionally) Android apk.

Each module can be used independently as cli utility.

Escape macros in code in order to keep js-validity, fix IITC-CE#50.
Simplify userscripts source template, completely get rid of these ugly substitutions:
- `@@MetaInfo@@`
- `@@PLUGINSTART@@`
- `@@PLUGINEND@@`
- `.@@DATETIMEVERSION@@`
- `[@@Buildname@@-@@BUILDDATE@@]`

Rename plugin sources:  `*.user.js` -> `*.js`

Close IITC-CE#150: use template from settings instead of url harcoding.

Close IITC-CE#99: remove timestamp component from `version` of Release scripts.
johnd0e pushed a commit to johnd0e/ingress-intel-total-conversion that referenced this issue Nov 12, 2019
Refactor build system into several modules:
- `settings.py`: to provide common settings (from `buildsettings.py` / `localbuildsettings.py`)
- `build_plugin.py`: to build single plugin
  formats userscript metablock, preprocesses sources - makes templates substitutions,
  inlines dependencies js/css/img - and wraps into wrapper (from `pluginwrapper.py`)
- `build_mobile.py`: to build android apk (embedding scripts from given directory)
- `build.py`: to build all: main IITC script, all plugins, and (optionally) Android apk.

Each module can be used independently as cli utility.

Escape macros in code in order to keep js-validity, fix IITC-CE#50.
Simplify userscripts source template, completely get rid of these ugly substitutions:
- `@@MetaInfo@@`
- `@@PLUGINSTART@@`
- `@@PLUGINEND@@`
- `.@@DATETIMEVERSION@@`
- `[@@Buildname@@-@@BUILDDATE@@]`

Rename plugin sources:  `*.user.js` -> `*.js`

Close IITC-CE#150: use template from settings instead of url harcoding.

Close IITC-CE#99: remove timestamp component from `version` of Release scripts.
johnd0e pushed a commit to johnd0e/ingress-intel-total-conversion that referenced this issue Nov 17, 2019
Refactor build system into several modules:
- `settings.py`: to provide common settings (from `buildsettings.py` / `localbuildsettings.py`)
- `build_plugin.py`: to build single plugin
  formats userscript metablock, preprocesses sources - makes templates substitutions,
  inlines dependencies js/css/img - and wraps into wrapper (from `pluginwrapper.py`)
- `build_mobile.py`: to build android apk (embedding scripts from given directory)
- `build.py`: to build all: main IITC script, all plugins, and (optionally) Android apk.

Each module can be used independently as cli utility.

Escape macros in code in order to keep js-validity, fix IITC-CE#50.
Simplify userscripts source template, completely get rid of these ugly substitutions:
- `@@MetaInfo@@`
- `@@PLUGINSTART@@`
- `@@PLUGINEND@@`
- `.@@DATETIMEVERSION@@`
- `[@@Buildname@@-@@BUILDDATE@@]`

Rename plugin sources:  `*.user.js` -> `*.js`

Close IITC-CE#150: use template from settings instead of url harcoding.

Close IITC-CE#99: remove timestamp component from `version` of Release scripts.
johnd0e pushed a commit to johnd0e/ingress-intel-total-conversion that referenced this issue Nov 18, 2019
Refactor build system into several modules:
- `settings.py`: to provide common settings (from `buildsettings.py` / `localbuildsettings.py`)
- `build_plugin.py`: to build single plugin
  formats userscript metablock, preprocesses sources - makes templates substitutions,
  inlines dependencies js/css/img - and wraps into wrapper (from `pluginwrapper.py`)
  - `pluginwrapper_noinject.py` - alternative wrapper, useful for debugging scripts.
     Sample usage in `buildsettings.py`, for build name 'tmdev'.
- `build_mobile.py`: to build android apk (embedding scripts from given directory)
- `build.py`: to build all: main IITC script, all plugins, and (optionally) Android apk.
  - `--watch` mode (auto-rebuild on sources changes)

Each module can be used independently as cli utility.

Escape macros in code in order to keep js-validity, fix IITC-CE#50.
Simplify userscripts source template, completely get rid of these ugly substitutions:
- `@@MetaInfo@@`
- `@@PLUGINSTART@@`
- `@@PLUGINEND@@`
- `.@@DATETIMEVERSION@@`
- `[@@Buildname@@-@@BUILDDATE@@]`

Close IITC-CE#150: use template from settings instead of url harcoding.

Close IITC-CE#99: remove timestamp component from `version` of Release scripts.

Rename plugin sources:  `*.user.js` -> `*.js`

Additional dev utilities:
- `web_meta_gen.py` to generate meta.json for IITC-Button.
  Can be used as standalone cli, or as part of build process.
- `web_server_local.py` to start local webserver for specified build name.
johnd0e pushed a commit to johnd0e/ingress-intel-total-conversion that referenced this issue Nov 20, 2019
Refactor build system into several modules:
- `settings.py`: to provide common settings (from `buildsettings.py` / `localbuildsettings.py`)
- `build_plugin.py`: to build single plugin
  formats userscript metablock, preprocesses sources - makes templates substitutions,
  inlines dependencies js/css/img - and wraps into wrapper (from `pluginwrapper.py`)
  - `pluginwrapper_noinject.py` - alternative wrapper, useful for debugging scripts.
     Sample usage in `buildsettings.py`, for build name 'tmdev'.
- `build_mobile.py`: to build android apk (embedding scripts from given directory)
- `build.py`: to build all: main IITC script, all plugins, and (optionally) Android apk.
  - `--watch` mode (auto-rebuild on sources changes)

Each module can be used independently as cli utility.

Escape macros in code in order to keep js-validity, fix IITC-CE#50.
Simplify userscripts source template, completely get rid of these ugly substitutions:
- `@@MetaInfo@@`
- `@@PLUGINSTART@@`
- `@@PLUGINEND@@`
- `.@@DATETIMEVERSION@@`
- `[@@Buildname@@-@@BUILDDATE@@]`

Close IITC-CE#150: use template from settings instead of url harcoding.

Close IITC-CE#99: remove timestamp component from `version` of Release scripts.
johnd0e pushed a commit to johnd0e/ingress-intel-total-conversion that referenced this issue Nov 22, 2019
Refactor build system into several modules:
- `settings.py`: to provide common settings (from `buildsettings.py` / `localbuildsettings.py`)
- `build_plugin.py`: to build single plugin
  formats userscript metablock, preprocesses sources - makes templates substitutions,
  inlines dependencies js/css/img - and wraps into wrapper (from `pluginwrapper.py`)
  - `pluginwrapper_noinject.py` - alternative wrapper, useful for debugging scripts.
     Sample usage in `buildsettings.py`, for build name 'tmdev'.
- `build_mobile.py`: to build android apk (embedding scripts from given directory)
- `build.py`: to build all: main IITC script, all plugins, and (optionally) Android apk.
  - `--watch` mode (auto-rebuild on sources changes)

Each module can be used independently as cli utility.

Escape macros in code in order to keep js-validity, fix IITC-CE#50.
Simplify userscripts source template, completely get rid of these ugly substitutions:
- `@@MetaInfo@@`
- `@@PLUGINSTART@@`
- `@@PLUGINEND@@`
- `.@@DATETIMEVERSION@@`
- `[@@Buildname@@-@@BUILDDATE@@]`

Close IITC-CE#150: use template from settings instead of url harcoding.

Close IITC-CE#99: remove timestamp component from `version` of Release scripts.
johnd0e pushed a commit to johnd0e/ingress-intel-total-conversion that referenced this issue Nov 25, 2019
Refactor build system into several modules:
- `settings.py`: to provide common settings (from `buildsettings.py` / `localbuildsettings.py`)
- `build_plugin.py`: to build single plugin
  formats userscript metablock, preprocesses sources - makes templates substitutions,
  inlines dependencies js/css/img - and wraps into wrapper (from `pluginwrapper.py`)
  - `pluginwrapper_noinject.py` - alternative wrapper, useful for debugging scripts.
     Sample usage in `buildsettings.py`, for build name 'tmdev'.
- `build_mobile.py`: to build android apk (embedding scripts from given directory)
- `build.py`: to build all: main IITC script, all plugins, and (optionally) Android apk.
  - `--watch` mode (auto-rebuild on sources changes)

Each module can be used independently as cli utility.

Escape macros in code in order to keep js-validity, fix IITC-CE#50.
Simplify userscripts source template, completely get rid of these ugly substitutions:
- `@@MetaInfo@@`
- `@@PLUGINSTART@@`
- `@@PLUGINEND@@`
- `.@@DATETIMEVERSION@@`
- `[@@Buildname@@-@@BUILDDATE@@]`

Close IITC-CE#150: use template from settings instead of url harcoding.

Close IITC-CE#99: remove timestamp component from `version` of Release scripts.
johnd0e pushed a commit to johnd0e/ingress-intel-total-conversion that referenced this issue Nov 30, 2019
Refactor build system into several modules:
- `settings.py`: to provide common settings (from `buildsettings.py` / `localbuildsettings.py`)
- `build_plugin.py`: to build single plugin
  formats userscript metablock, preprocesses sources - makes templates substitutions,
  inlines dependencies js/css/img - and wraps into wrapper (from `pluginwrapper.py`)
  - `pluginwrapper_noinject.py` - alternative wrapper, useful for debugging scripts.
     Sample usage in `buildsettings.py`, for build name 'tmdev'.
- `build_mobile.py`: to build android apk (embedding scripts from given directory)
- `build.py`: to build all: main IITC script, all plugins, and (optionally) Android apk.
  - `--watch` mode (auto-rebuild on sources changes)

Each module can be used independently as cli utility.

Escape macros in code in order to keep js-validity, fix IITC-CE#50.
Simplify userscripts source template, completely get rid of these ugly substitutions:
- `@@MetaInfo@@`
- `@@PLUGINSTART@@`
- `@@PLUGINEND@@`
- `.@@DATETIMEVERSION@@`
- `[@@Buildname@@-@@BUILDDATE@@]`

Close IITC-CE#150: use template from settings instead of url harcoding.

Close IITC-CE#99: remove timestamp component from `version` of Release scripts.
johnd0e pushed a commit to johnd0e/ingress-intel-total-conversion that referenced this issue Dec 5, 2019
Refactor build system into several modules:
- `settings.py`: to provide common settings (from `buildsettings.py` / `localbuildsettings.py`)
- `build_plugin.py`: to build single plugin
  formats userscript metablock, preprocesses sources - makes templates substitutions,
  inlines dependencies js/css/img - and wraps into wrapper (from `pluginwrapper.py`)
  - `pluginwrapper_noinject.py` - alternative wrapper, useful for debugging scripts.
     Sample usage in `buildsettings.py`, for build name 'tmdev'.
- `build_mobile.py`: to build android apk (embedding scripts from given directory)
- `build.py`: to build all: main IITC script, all plugins, and (optionally) Android apk.
  - `--watch` mode (auto-rebuild on sources changes)

Each module can be used independently as cli utility.

Escape macros in code in order to keep js-validity, fix IITC-CE#50.
Simplify userscripts source template, completely get rid of these ugly substitutions:
- `@@MetaInfo@@`
- `@@PLUGINSTART@@`
- `@@PLUGINEND@@`
- `.@@DATETIMEVERSION@@`
- `[@@Buildname@@-@@BUILDDATE@@]`

Close IITC-CE#150: use template from settings instead of url harcoding.

Close IITC-CE#99: remove timestamp component from `version` of Release scripts.
johnd0e pushed a commit that referenced this issue Dec 5, 2019
Refactor build system, simplify templates and escape macros in code

- Refactor build system into several modules (can be used as cli utilities). Implement `watch` mode to auto-rebuild on source changes.
- Escape macros in code in order to keep js-validity, fix #50.
  Use template from settings instead of url harcoding (closes #150).
- Simplify userscripts source template, rename plugin sources:  `*.user.js` -> `*.js`, rearrange source directories.
- Remove timestamp component from `version` of Release scripts (closes #99).
- Additional dev tools: `web_meta_gen.py`, `web_server_local.py`, `tampermonkey_stubs_gen.py`.
johnd0e pushed a commit to johnd0e/ingress-intel-total-conversion that referenced this issue Dec 5, 2019
- Update most upstream sources, and significantly enhance several plugins IITC-CE#134 (a lot of changes, follow the link to see)
- Fix performance drop when displaying a large number of ornaments IITC-CE#181
- Improve RegionScoreboard IITC-CE#179 © McBen + some fixes
- Remove confusing message from artifacts dialog IITC-CE#216
- Portal info: display coordinates without angled brackets IITC-CE#233
- Leaflet controls: prevent mobile style on desktop IITC-CE#189
- Increase map renderer padding (and make value customizable) IITC-CE#201
- Portal info: `shielding` tooltip: round mitigation `excess` to cope with lack of js float precision IITC-CE#279

- Fix miscellaneous bugs in core and plugins IITC-CE#157
- Change default intel url (to match stock) IITC-CE#267

- Implement plugins priority control IITC-CE#205
- Stop console 'spam' using customizable logger IITC-CE#235
- Consistent errors throwing IITC-CE#248
- API for local files (up|down)loading IITC-CE#243
- Remove some unused stuff from window object IITC-CE#101
- Refactor to use common function `window.makePermalink` (utils_misc.js) IITC-CE#198
- Isolate every core module in separate IIFE IITC-CE#234
- Move wrapper template to separate file IITC-CE#238
- DEFAULT_ZOOM = 15 (to match stock intel) IITC-CE#281
- IITC-CE#229:
  - Refactor build system into several modules (can be used as cli utilities).
    Implement `watch` mode to auto-rebuild on source changes.
  - Escape macros in code in order to keep js-validity, fix IITC-CE#50.
    Use template from settings instead of url harcoding (closes IITC-CE#150).
  - Simplify userscripts source template, rename plugin sources:  `*.user.js` -> `*.js`, rearrange source directories.
  - Remove timestamp component from `version` of Release scripts (closes IITC-CE#99).
  - Additional dev tools: `web_meta_gen.py`, `web_server_local.py`, `tampermonkey_stubs_gen.py`.
- Other
  - see IITC-CE#134 (solve IITC-CE#70: Manage upstream externals)
  - Update docs IITC-CE#264, remove outdated (info transferred to [wiki](https://github.com/IITC-CE/ingress-intel-total-conversion/wiki))

- Improve scale-bar and scoreboard plugins IITC-CE#158
- Improve styles of text labels (portal-level-numbers, portal-names, portal-names, regions, keys-on-map) IITC-CE#104
- Other
  - draw-tools, bookmarks: (make use of IITC-CE#243) support file import/export on desktop too
  - see IITC-CE#134: significantly enhance several plugins : overlay-kml, minimap, basemap-bing, basemap-yandex, tidy-links, pan-control, etc (see commit messages)

- sync: fix and update IITC-CE#212
- draw-tools: fix mobile-related bugs; add Circle again IITC-CE#175
- bookmarks: fix iitc download url IITC-CE#150
- portals-list: filter out portal without real data (bug in intel) IITC-CE#265
- Other: see IITC-CE#157 (cache-portals-on-map, layer-count, draw-tools, bookmarks, missions)

- 'Support DeX desktop mode' option IITC-CE#161
- Add 'Plugins' shortcut to main menu IITC-CE#266

- fix bugs on login page IITC-CE#164
- fix some bugs in plugins handling IITC-CE#245
- fix 'Send screenshot' function IITC-CE#169
- fix error that made it difficult to pick plugin file IITC-CE#239
- fix plugin initialization bug IITC-CE#270

- better handling of uploads IITC-CE#250
johnd0e pushed a commit to johnd0e/ingress-intel-total-conversion that referenced this issue Dec 5, 2019
# Release notes

## IITC main script

### enhancements
- Update most upstream sources, and significantly enhance several plugins IITC-CE#134 (a lot of changes, follow the link to see)
- Fix performance drop when displaying a large number of ornaments IITC-CE#181
- Improve RegionScoreboard IITC-CE#179 © McBen + some fixes
- Remove confusing message from artifacts dialog IITC-CE#216
- Portal info: display coordinates without angled brackets IITC-CE#233
- Leaflet controls: prevent mobile style on desktop IITC-CE#189
- Increase map renderer padding (and make value customizable) IITC-CE#201
- Portal info: `shielding` tooltip: round mitigation `excess` to cope with lack of js float precision IITC-CE#279

### bugfixes
- Fix miscellaneous bugs in core and plugins IITC-CE#157
- Change default intel url (to match stock) IITC-CE#267

### development
- Implement plugins priority control IITC-CE#205
- Stop console 'spam' using customizable logger IITC-CE#235
- Consistent errors throwing IITC-CE#248
- API for local files (up|down)loading IITC-CE#243
- Remove some unused stuff from window object IITC-CE#101
- Refactor to use common function `window.makePermalink` (utils_misc.js) IITC-CE#198
- Isolate every core module in separate IIFE IITC-CE#234
- Move wrapper template to separate file IITC-CE#238
- DEFAULT_ZOOM = 15 (to match stock intel) IITC-CE#281
- IITC-CE#229:
  - Refactor build system into several modules (can be used as cli utilities).
    Implement `watch` mode to auto-rebuild on source changes.
  - Escape macros in code in order to keep js-validity, fix IITC-CE#50.
    Use template from settings instead of url harcoding (closes IITC-CE#150).
  - Simplify userscripts source template, rename plugin sources:  `*.user.js` -> `*.js`, rearrange source directories.
  - Remove timestamp component from `version` of Release scripts (closes IITC-CE#99).
  - Additional dev tools: `web_meta_gen.py`, `web_server_local.py`, `tampermonkey_stubs_gen.py`.
- Other
  - see IITC-CE#134 (solve IITC-CE#70: Manage upstream externals)
  - Update docs IITC-CE#264, remove outdated (info transferred to [wiki](https://github.com/IITC-CE/ingress-intel-total-conversion/wiki))

## Plugins

### enhancements
- Improve scale-bar and scoreboard plugins IITC-CE#158
- Improve styles of text labels (portal-level-numbers, portal-names, portal-names, regions, keys-on-map) IITC-CE#104
- Other
  - draw-tools, bookmarks: (make use of IITC-CE#243) support file import/export on desktop too
  - see IITC-CE#134: significantly enhance several plugins : overlay-kml, minimap, basemap-bing, basemap-yandex, tidy-links, pan-control, etc (see commit messages)

### bugfixes
- sync: fix and update IITC-CE#212
- draw-tools: fix mobile-related bugs; add Circle again IITC-CE#175
- bookmarks: fix iitc download url IITC-CE#150
- portals-list: filter out portal without real data (bug in intel) IITC-CE#265
- Other: see IITC-CE#157 (cache-portals-on-map, layer-count, draw-tools, bookmarks, missions)

## IITC-Mobile app

### enhancements
- 'Support DeX desktop mode' option IITC-CE#161
- Add 'Plugins' shortcut to main menu IITC-CE#266

### bugfixes
- fix bugs on login page IITC-CE#164
- fix some bugs in plugins handling IITC-CE#245
- fix 'Send screenshot' function IITC-CE#169
- fix error that made it difficult to pick plugin file IITC-CE#239
- fix plugin initialization bug IITC-CE#270

### development
- better handling of uploads IITC-CE#250
johnd0e pushed a commit that referenced this issue Dec 7, 2019
bump version to 0.30

# Release notes

## IITC main script

### enhancements
- Update most upstream sources, and significantly enhance several plugins #134 (a lot of changes, follow the link to see)
- Fix performance drop when displaying a large number of ornaments #181
- Improve RegionScoreboard #179 © McBen + some fixes
- Remove confusing message from artifacts dialog #216
- Portal info: display coordinates without angled brackets #233
- Leaflet controls: prevent mobile style on desktop #189
- Increase map renderer padding (and make value customizable) #201
- Portal info: `shielding` tooltip: round mitigation `excess` to cope with lack of js float precision #279

### bugfixes
- Fix miscellaneous bugs in core and plugins #157
- Change default intel url (to match stock) #267

### development
- Implement plugins priority control #205
- Stop console 'spam' using customizable logger #235
- Consistent errors throwing #248
- API for local files (up|down)loading #243
- Remove some unused stuff from window object #101
- Refactor to use common function `window.makePermalink` (utils_misc.js) #198
- Isolate every core module in separate IIFE #234
- Move wrapper template to separate file #238
- DEFAULT_ZOOM = 15 (to match stock intel) #281
- #229:
  - Refactor build system into several modules (can be used as cli utilities).
    Implement `watch` mode to auto-rebuild on source changes.
  - Escape macros in code in order to keep js-validity, fix #50.
    Use template from settings instead of url harcoding (closes #150).
  - Simplify userscripts source template, rename plugin sources:  `*.user.js` -> `*.js`, rearrange source directories.
  - Remove timestamp component from `version` of Release scripts (closes #99).
  - Additional dev tools: `web_meta_gen.py`, `web_server_local.py`, `tampermonkey_stubs_gen.py`.
- Other
  - see #134 (solve #70: Manage upstream externals)
  - Update docs #264, remove outdated (info transferred to [wiki](https://github.com/IITC-CE/ingress-intel-total-conversion/wiki))

## Plugins

### enhancements
- Improve scale-bar and scoreboard plugins #158
- Improve styles of text labels (portal-level-numbers, portal-names, portal-names, regions, keys-on-map) #104
- Other
  - draw-tools, bookmarks: (make use of #243) support file import/export on desktop too
  - see #134: significantly enhance several plugins : overlay-kml, minimap, basemap-bing, basemap-yandex, tidy-links, pan-control, etc (see commit messages)

### bugfixes
- sync: fix and update #212
- draw-tools: fix mobile-related bugs; add Circle again #175
- bookmarks: fix iitc download url #150
- portals-list: filter out portal without real data (bug in intel) #265
- Other: see #157 (cache-portals-on-map, layer-count, draw-tools, bookmarks, missions)

## IITC-Mobile app

### enhancements
- 'Support DeX desktop mode' option #161
- Add 'Plugins' shortcut to main menu #266
- Adapt to changes in Google authorization #283

### bugfixes
- fix bugs on login page #164
- fix some bugs in plugins handling #245
- fix 'Send screenshot' function #169
- fix error that made it difficult to pick plugin file #239
- fix plugin initialization bug #270

### development
- better handling of uploads #250
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment