Skip to content

Commit

Permalink
Build components with Node 16 or greater.
Browse files Browse the repository at this point in the history
Add minimum requirement of Node 16 and npm 8.

Upgrade dependencies, where possible.
Some packages are not upgrade due to problems or potential problems.

Switch from `rxjs` to `rxjs-compat`, which is the new location for the old `rxjs` that we are using.
This allows for using the `^` character to get the latest bugfix version for the 6.x releases.

Replace tslint with eslint using `tslint-to-eslint-config` like this:
```
npx tslint-to-eslint-config --prettier --comments
```
This requires removing `angular-tslint-rules`.

Fix bug in `scripts/build-version.js` that prevents building.
The directory path `./dist/bundle` may not exist and needs to be created if it does not exist.

Running this on Node 18 is not easily supported.
An extra step of adding an environment variable might be needed, such as:
```
export NODE_OPTIONS=--openssl-legacy-provider
```

Switching to the new Angular (13+, 14+, etc..) would avoid this but this introduces more problems.

The `package.json` utilizes `overrides` for eslint due to webpack bringing in a version that causes problems:
```
Error: node_modules/@types/eslint/index.d.ts:451:42 - error TS2724: '"/home/runner/work/weaver-components/weaver-components/node_modules/@types/estree/index"' has no exported member named 'ChainExpression'. Did you mean 'ThisExpression'?

451         ChainExpression?: ((node: ESTree.ChainExpression & NodeParentExtension) => void) | undefined;
                                             ~~~~~~~~~~~~~~~
Error: node_modules/@types/eslint/index.d.ts:474:43 - error TS2694: Namespace '"/home/runner/work/weaver-components/weaver-components/node_modules/@types/estree/index"' has no exported member 'ImportExpression'.

474         ImportExpression?: ((node: ESTree.ImportExpression & NodeParentExtension) => void) | undefined;
                                              ~~~~~~~~~~~~~~~~

Error: Process completed with exit code 1.
```

Updated dependencies based on the results of:
```
npx npm-check-updates
```
  • Loading branch information
kaladay committed Aug 30, 2022
1 parent de24ab0 commit 67c9e15
Show file tree
Hide file tree
Showing 6 changed files with 128 additions and 43 deletions.
69 changes: 69 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
/*
👋 Hi! This file was autogenerated by tslint-to-eslint-config.
https://github.com/typescript-eslint/tslint-to-eslint-config
It represents the closest reasonable ESLint configuration to this
project's original TSLint configuration.
We recommend eventually switching this configuration to extend from
the recommended rulesets in typescript-eslint.
https://github.com/typescript-eslint/tslint-to-eslint-config/blob/master/docs/FAQs.md
Happy linting! 💖
*/
module.exports = {
"env": {
"browser": true,
"node": true
},
"extends": [
"prettier"
],
"parser": "@typescript-eslint/parser",
"parserOptions": {
"project": "tsconfig.json",
"sourceType": "module"
},
"plugins": [
"eslint-plugin-import",
"@angular-eslint/eslint-plugin",
"@typescript-eslint",
"@typescript-eslint/tslint"
],
"root": true,
"rules": {
"@angular-eslint/component-selector": [
"error",
{
"type": "element",
"prefix": "tl",
"style": "kebab-case"
}
],
"@angular-eslint/directive-selector": [
"error",
{
"type": "attribute",
"prefix": "tl",
"style": "camelCase"
}
],
"@typescript-eslint/member-ordering": "error",
"@typescript-eslint/tslint/config": [
"error",
{
"rules": {
"comment-type": true
}
}
],
"import/no-deprecated": "warn",
"import/no-extraneous-dependencies": [
"error",
{
"devDependencies": false
}
],
"import/order": "error"
}
};
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
- name: "Setup Node"
uses: actions/setup-node@v2
with:
node-version: 12
node-version: 16

- name: "Install Node"
run: npm install
Expand Down
Empty file modified docker-entrypoint
100755 → 100644
Empty file.
94 changes: 53 additions & 41 deletions package.json
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@
"version": "2.0.1-rc.1",
"private": false,
"license": "MIT",
"engines": {
"node": ">=16.0.0",
"npm": ">=8.0.0"
},
"config": {
"DOCKER_SERVER": ""
},
Expand Down Expand Up @@ -55,76 +59,84 @@
"test:ci": "npm run test:audit && npm run test:coverage"
},
"dependencies": {
"@angular/animations": "^12.2.7",
"@angular/common": "^12.2.7",
"@angular/compiler": "^12.2.7",
"@angular/core": "^12.2.7",
"@angular/elements": "^12.2.7",
"@angular/forms": "^12.2.7",
"@angular/localize": "^12.2.7",
"@angular/platform-browser": "^12.2.7",
"@angular/platform-browser-dynamic": "^12.2.7",
"@angular/router": "^12.2.7",
"@angular/animations": "^12.2.16",
"@angular/common": "^12.2.16",
"@angular/compiler": "^12.2.16",
"@angular/core": "^12.2.16",
"@angular/elements": "^12.2.16",
"@angular/forms": "^12.2.16",
"@angular/localize": "^12.2.16",
"@angular/platform-browser": "^12.2.16",
"@angular/platform-browser-dynamic": "^12.2.16",
"@angular/router": "^12.2.16",
"@ng-bootstrap/ng-bootstrap": "^10.0.0",
"@ngrx/effects": "^12.4.0",
"@ngrx/entity": "^12.4.0",
"@ngrx/store": "^12.4.0",
"@ngrx/store-devtools": "^12.4.0",
"@stomp/stompjs": "^6.1.2",
"@tinymce/tinymce-angular": "^4.2.4",
"@ungap/custom-elements": "^1.0.0",
"@ungap/custom-elements": "^1.1.0",
"@wvr/elements": "2.0.0",
"bootstrap": "^4.6.0",
"bootstrap": "^4.6.2",
"css-element-queries": "^1.2.3",
"handlebars": "^4.7.7",
"jsdom": "^17.0.0",
"karma-viewport": "^1.0.8",
"ng-inline-svg": "^13.0.0",
"ng-lazyload-image": "^9.1.0",
"jsdom": "^20.0.0",
"karma-viewport": "^1.0.9",
"ng-inline-svg": "^13.1.1",
"ng-lazyload-image": "^9.1.3",
"ngx-build-plus": "^12.2.0",
"rxjs": "~6.6.7",
"sockjs-client": "^1.5.2",
"tinymce": "^5.9.2",
"tslib": "^2.3.1",
"rxjs-compat": "^6.6.7",
"sockjs-client": "^1.6.1",
"tinymce": "^6.1.2",
"tslib": "^2.4.0",
"web-animations-js": "^2.3.2",
"zone.js": "~0.11.4"
"zone.js": "~0.11.8"
},
"devDependencies": {
"@angular-devkit/build-angular": "~12.2.7",
"@angular-devkit/schematics": "^12.2.7",
"@angular/cli": "^12.2.7",
"@angular/compiler-cli": "^12.2.7",
"@angular/language-service": "^12.2.7",
"@compodoc/compodoc": "^1.1.15",
"@angular-devkit/build-angular": "^12.2.16",
"@angular-devkit/schematics": "^12.2.16",
"@angular-eslint/eslint-plugin": "^14.0.3",
"@angular/cli": "^12.2.16",
"@angular/compiler-cli": "^12.2.16",
"@angular/language-service": "^12.2.16",
"@compodoc/compodoc": "^1.1.19",
"@lhci/cli": "^0.8.1",
"@types/jasmine": "~3.9.1",
"@types/jasmine": "~3.10.3",
"@types/jasminewd2": "~2.0.10",
"@types/node": "^16.9.6",
"angular-tslint-rules": "^1.20.4",
"@types/node": "^16.11.7",
"@typescript-eslint/eslint-plugin": "^5.36.1",
"@typescript-eslint/eslint-plugin-tslint": "^5.36.1",
"@typescript-eslint/parser": "^5.36.1",
"codelyzer": "^6.0.2",
"concat": "^1.0.3",
"console-stamp": "^3.0.3",
"console-stamp": "^3.0.6",
"coveralls": "^3.1.1",
"dotenv-override-true": "^6.2.2",
"glob": "^7.2.0",
"eslint": "^8.23.0",
"eslint-config-prettier": "^8.5.0",
"eslint-plugin-import": "^2.26.0",
"glob": "^7.2.3",
"jasmine-core": "~3.9.0",
"jasmine-spec-reporter": "~7.0.0",
"karma": "~6.3.4",
"karma-chrome-launcher": "~3.1.0",
"karma-coverage": "^2.0.3",
"karma": "~6.4.0",
"karma-chrome-launcher": "~3.1.1",
"karma-coverage": "^2.2.0",
"karma-coverage-istanbul-reporter": "~3.0.3",
"karma-jasmine": "~4.0.1",
"karma-jasmine": "~4.0.2",
"karma-jasmine-html-reporter": "^1.7.0",
"karma-ng-html2js-preprocessor": "^1.0.0",
"lighthouse": "^8.5.1",
"lighthouse-badges": "^1.1.13",
"ng-packagr": "^12.2.2",
"lighthouse": "^9.6.6",
"lighthouse-badges": "^1.1.26",
"ng-packagr": "^12.2.7",
"protractor": "~7.0.0",
"rimraf": "^3.0.2",
"shelljs": "^0.8.4",
"shelljs": "^0.8.5",
"static-server": "^2.2.1",
"ts-node": "~10.2.1",
"tslint": "~6.1.3",
"typescript": "~4.3.5"
},
"overrides": {
"@types/eslint": "^6.1.3"
}
}
5 changes: 5 additions & 0 deletions scripts/build-version.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,10 @@
const fs = require('fs-extra');

if (fs.existsSync('./dist')) {

if (!fs.existsSync('./dist/bundle')) {
fs.mkdir('./dist/bundle');
}

fs.writeFile('./dist/bundle/version.txt', process.env.npm_package_version);
}
1 change: 0 additions & 1 deletion tslint.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
"node_modules/codelyzer"
],
"extends": [
"angular-tslint-rules"
],
"rules": {
"deprecation": {
Expand Down

0 comments on commit 67c9e15

Please sign in to comment.