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

chore: Build update #454

Open
wants to merge 62 commits into
base: master
Choose a base branch
from
Open

chore: Build update #454

wants to merge 62 commits into from

Conversation

BurtHarris
Copy link
Collaborator

Removes npm link from the build process.

This command was leaving the development version of antlr4ts installed in the npm "global" space, which could get messy. This PR cleans up from the messy situation, and prevents it from occurring again.

Burt Harris added 2 commits April 11, 2020 16:46
Use a relative path devDependency on antlr4ts-cli, that's cleaner.
Add steps to cleanup any npm global mess made before.
Added 'npm run reinstall' script for clean-up of truly ugly problems.
Note: reinstall involves a 'git purge -idx'.   It asks permission...
@BurtHarris BurtHarris requested a review from sharwell April 12, 2020 00:03
@BurtHarris
Copy link
Collaborator Author

BurtHarris commented Apr 15, 2020

Change to xml.pom - see Question #458.
This reduces fragility of the build.
Fixes #458

Burt Harris added 4 commits April 15, 2020 16:15
Disentangle imports / directory reorg
Makes antlr4ts more like the other ANTLR4 target directory structure
Build process now split out for packages, with each getting it's own package.json, and tsconfig.json.   Eliminate relative path imports anywhere outside the src/ directory.
checking in .d.ts files to track any api changes
Note: currently TypeScript v3.x is problematic in this context,
but 2.9 is OK
@viceice
Copy link

viceice commented Apr 16, 2020

run-s can really simplify your npm scripts

@BurtHarris
Copy link
Collaborator Author

BurtHarris commented Apr 16, 2020

Thanks @viceice, it looks nice. I'll look into incorporating it into a larger build_reorg branch I am still working on. Do you have any experience using run-p from the same package?

Implements suggestion in PR #454
@viceice
Copy link

viceice commented Apr 16, 2020

Yes, I use it a lot, run-p is simply the parallel version. 😅 You can see it at our renovatebot/renovate repo in action, at least the sequencial version

Burt Harris added 9 commits April 16, 2020 14:53
Version 3.8.3 generates errors that don't seem right, so 3.7.5 it is.

Getting to V3.x gets us the new project build mode, which is a big win in terms of build time.   tsc will use tsconfig.tsbuildinfo files to manage an incremental compile which can really speed up many situations.  Switches used on tsc commands change for this mode.

One copy of the compiler, set in --watch mode, and watch the entire directory tree, performing compiles on change even if different parts of the tree uses different settings.

Making this work right requires a change in import statments.   None of them should ever reference the "src" directory, if needed use "dist" instead.
…sitory

To run antlr, we use the `lerna run antlr` command.   Any package that has an antlr script is run, lerna controls the ordering based on dependencies declared in the package.json files.

The typescript compiler has multi-package build-in (in V3+).  Combined
with a new incremetal compile feature, this is a big time savings.
Fixes: #459
Yet more fixes for tslint gripes
Burt Harris added 27 commits April 30, 2020 11:03
Note: currently TypeScript v3.x is problematic in this context,
but 2.9 is OK
Disentangle imports / directory reorg
Makes antlr4ts more like the other ANTLR4 target directory structure
Build process now split out for packages, with each getting it's own package.json, and tsconfig.json.   Eliminate relative path imports anywhere outside the src/ directory.
checking in .d.ts files to track any api changes
Implements suggestion in PR #454
Version 3.8.3 generates errors that don't seem right, so 3.7.5 it is.

Getting to V3.x gets us the new project build mode, which is a big win in terms of build time.   tsc will use tsconfig.tsbuildinfo files to manage an incremental compile which can really speed up many situations.  Switches used on tsc commands change for this mode.

One copy of the compiler, set in --watch mode, and watch the entire directory tree, performing compiles on change even if different parts of the tree uses different settings.

Making this work right requires a change in import statments.   None of them should ever reference the "src" directory, if needed use "dist" instead.
…sitory

To run antlr, we use the `lerna run antlr` command.   Any package that has an antlr script is run, lerna controls the ordering based on dependencies declared in the package.json files.

The typescript compiler has multi-package build-in (in V3+).  Combined
with a new incremetal compile feature, this is a big time savings.
Fixes: #459
Yet more fixes for tslint gripes
@NotNull, @nullable, @SuppressWarnings- typescript native alternatives
@OverRide - Use retained as comments for documentation
internal.ts becomes the single controlling point for module load order
fixes: #466
@BurtHarris
Copy link
Collaborator Author

BurtHarris commented Apr 30, 2020

Rebase in PR #469 (dependabot jquery bump).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment