Skip to content

Commit

Permalink
Convert to ESM module
Browse files Browse the repository at this point in the history
  • Loading branch information
dex4er committed Oct 24, 2021
1 parent e4b1a49 commit 72fc42d
Show file tree
Hide file tree
Showing 17 changed files with 283 additions and 287 deletions.
16 changes: 14 additions & 2 deletions .eslintrc.yaml
Expand Up @@ -3,7 +3,19 @@
env:
node: true

extends: prettier
extends:
- prettier

parser: "@typescript-eslint/parser"

parserOptions:
ecmaVersion: 2017
ecmaVersion: 2020
sourceType: module
extraFileExtensions:
- .mjs
- .mts

plugins:
- "@typescript-eslint"
- import
- jsdoc
10 changes: 10 additions & 0 deletions .mocharc.yml
@@ -0,0 +1,10 @@
color: true
diff: true
loader: ts-node/esm
no-warnings: true
package: ./package.json
spec:
- test/*.ts
timeout: 90000
throw-deprecation: true
ui: bdd
1 change: 1 addition & 0 deletions .tool-versions
@@ -0,0 +1 @@
nodejs 16.12.0
14 changes: 7 additions & 7 deletions .travis.yml
Expand Up @@ -5,17 +5,17 @@ language: node_js
matrix:
include:
- node_js: 'node'
env: NPM_RUN_SCRIPT=test NPM_AUDIT=true MOCHA_ARGS="-- --node-arg=--pending-deprecation --node-arg=--throw-deprecation" NYC="nyc --reporter json"
- node_js: '10'
- node_js: '8'
- node_js: '6'
env: NPM_RUN_SCRIPT=test:coverage NPM_AUDIT=true
- node_js: '16'
- node_js: '14'

install:
- npm install
- if [ "$NPM_AUDIT" = true ]; then npm audit; fi

script:
- echo "--reporter dot --color" > test/mocha.opts
- >
echo "reporter: dot" >> .mocharc.yml
- npm run build
- $NYC npm run ${NPM_RUN_SCRIPT:-test:spec} -- ${MOCHA_ARGS}
- if [ -n "$NYC" ]; then nyc report --color && nyc report --reporter=text-lcov | coveralls; fi
- npm run ${NPM_RUN_SCRIPT:-test:spec} -- ${MOCHA_ARGS}
- if [ "$NPM_RUN_SCRIPT" = "test:coverage" ]; then coveralls < coverage/lcov.info; fi
22 changes: 14 additions & 8 deletions CHANGELOG.md
@@ -1,29 +1,35 @@
# Changelog

## v1.0.0 2021-10-24

- Convert to ESM module.
- Requires Node >= 14.
- Upgraded nrv2e-decompress@1.0.0.

## v0.5.0 2019-05-08

* Ported fix dex4er/drpdecompress#2 for omitted word in C.1.2 field's description.
* Compiled as ES5.
- Ported fix dex4er/drpdecompress#2 for omitted word in C.1.2 field's description.
- Compiled as ES5.

## v0.4.1 2018-09-07

* Correct import syntax in documentation and examples.
- Correct import syntax in documentation and examples.

## v0.4.0 2018-08-29

* Rewritten in Typescript
- Rewritten in Typescript

## v0.3.0 2018-08-18

* Decoding of fuel code to `valueDescription` property.
- Decoding of fuel code to `valueDescription` property.

## v0.2.0 2018-08-06

* Support for old data format.
* Data object is an instance of
- Support for old data format.
- Data object is an instance of
`PolishVehicleRegistrationCertificateNewFormatData` or
`PolishVehicleRegistrationCertificateOldFormatData` class.

## v0.1.0 2018-07-28

* Initial release
- Initial release
299 changes: 151 additions & 148 deletions LICENSE

Large diffs are not rendered by default.

49 changes: 9 additions & 40 deletions README.md
@@ -1,14 +1,16 @@
# polish-vehicle-registration-certificate-decoder

<!-- markdownlint-disable MD013 -->
[![Build Status](https://secure.travis-ci.org/dex4er/js-polish-vehicle-registration-certificate-decoder.svg)](http://travis-ci.org/dex4er/js-polish-vehicle-registration-certificate-decoder) [![Coverage Status](https://coveralls.io/repos/github/dex4er/js-polish-vehicle-registration-certificate-decoder/badge.svg)](https://coveralls.io/github/dex4er/js-polish-vehicle-registration-certificate-decoder) [![npm](https://img.shields.io/npm/v/polish-vehicle-registration-certificate-decoder.svg)](https://www.npmjs.com/package/polish-vehicle-registration-certificate-decoder)

[![Build Status](https://api.travis-ci.com/dex4er/js-polish-vehicle-registration-certificate-decoder.svg)](https://api.travis-ci.com/github/dex4er/js-polish-vehicle-registration-certificate-decoder) [![Coverage Status](https://coveralls.io/repos/github/dex4er/js-polish-vehicle-registration-certificate-decoder/badge.svg)](https://coveralls.io/github/dex4er/js-polish-vehicle-registration-certificate-decoder) [![npm](https://img.shields.io/npm/v/polish-vehicle-registration-certificate-decoder.svg)](https://www.npmjs.com/package/polish-vehicle-registration-certificate-decoder)

<!-- markdownlint-enable MD013 -->

Decode Polish Vehicle Registration Certificate Aztec 2D barcode data.

## Requirements

This module requires ES6 with Node >= 4.
This is ESM module which requires ES2020 and Node >= 14.

## Installation

Expand All @@ -25,47 +27,19 @@ npm install -D @types/node
## Usage

```js
const { PolishVehicleRegistrationCertificateDecoder } = require('polish-vehicle-registration-certificate-decoder')
```

or:

```js
const {
PolishVehicleRegistrationCertificateDecoder,
PolishVehicleRegistrationCertificateNewFormatData,
PolishVehicleRegistrationCertificateOldFormatData
} = require('polish-vehicle-registration-certificate-decoder')
```

_Typescript:_

```ts
import PolishVehicleRegistrationCertificateDecoder from 'polish-vehicle-registration-certificate-decoder'
```

or:

```ts
```js
import {
PolishVehicleRegistrationCertificateDecoder,
PolishVehicleRegistrationCertificateNewFormatData,
PolishVehicleRegistrationCertificateOldFormatData
PolishVehicleRegistrationCertificateOldFormatData,
} from 'polish-vehicle-registration-certificate-decoder'
```

Transpiling this module with own settings in `tsconfig.json`:

```json
{
"compilerOptions": {
"paths": {
"polish-vehicle-registration-certificate-decoder": ["node_modules/polish-vehicle-registration-certificate-decoder/src/polish-vehicle-registration-certificate-decoder"]
}
}
}
```

### constructor

```js
Expand All @@ -74,7 +48,7 @@ const decoder = new PolishVehicleRegistrationCertificateDecoder(b64Input)

_Arguments:_

* `b64Input` is a string with base64 data scanned from Aztec 2D barcode
- `b64Input` is a string with base64 data scanned from Aztec 2D barcode

## data

Expand Down Expand Up @@ -128,12 +102,7 @@ Output:
"organWydajacy": {
"name": "ORGAN WYDAJĄCY",
"description": "",
"value": [
"PREZYDENT M. ST. WARSZAWY",
"DZIELNICA MOKOTÓW",
"UL. RAKOWIECKA 25/27",
"02-517 WARSZAWA"
]
"value": ["PREZYDENT M. ST. WARSZAWY", "DZIELNICA MOKOTÓW", "UL. RAKOWIECKA 25/27", "02-517 WARSZAWA"]
},
"numerRejestracyjnyPojazdu": {
"name": "A",
Expand Down Expand Up @@ -438,6 +407,6 @@ Output:

## License

Copyright (c) 2018-2019 Piotr Roszatycki <piotr.roszatycki@gmail.com>
Copyright (c) 2018-2021 Piotr Roszatycki <piotr.roszatycki@gmail.com>

[GPL-2.0](https://opensource.org/licenses/GPL-2.0)
2 changes: 1 addition & 1 deletion examples/polish-vehicle-registration-certificate.js
@@ -1,6 +1,6 @@
#!/usr/bin/env node

const {PolishVehicleRegistrationCertificateDecoder} = require('../lib/polish-vehicle-registration-certificate-decoder')
import {PolishVehicleRegistrationCertificateDecoder} from 'polish-vehicle-registration-certificate-decoder'

// Scanned from https://www.pwpw.pl/binaries/content/gallery/pwpwcms_pl/Dla_mediow/zdjecia_do_artykulow/2016/03/dsc_1548.jpg
const b64Input =
Expand Down
1 change: 0 additions & 1 deletion index.js

This file was deleted.

81 changes: 43 additions & 38 deletions package.json
@@ -1,7 +1,14 @@
{
"name": "polish-vehicle-registration-certificate-decoder",
"version": "0.5.0",
"version": "1.0.0",
"description": "Decode Polish Vehicle Registration Certificate Aztec 2D barcode data",
"type": "module",
"exports": {
".": {
"default": "./lib/polish-vehicle-registration-certificate-decoder.js",
"typings": "./lib/polish-vehicle-registration-certificate-decoder.d.ts"
}
},
"main": "lib/polish-vehicle-registration-certificate-decoder.js",
"typings": "lib/polish-vehicle-registration-certificate-decoder.d.ts",
"repository": {
Expand All @@ -24,53 +31,51 @@
},
"homepage": "http://github.com/dex4er/js-polish-vehicle-registration-certificate-decoder",
"engines": {
"node": ">=4.0.0"
"node": ">=14.0.0"
},
"dependencies": {
"nrv2e-decompress": "^0.3.0",
"tslib": "^1.9.3"
"nrv2e-decompress": "^1.0.0",
"tslib": "^2.3.1"
},
"devDependencies": {
"@types/chai": "^4.1.7",
"@types/mocha": "^5.2.6",
"@types/node": "^12.0.0",
"chai": "^4.2.0",
"coveralls": "^3.0.3",
"eslint": "^5.16.0",
"eslint-config-prettier": "^4.2.0",
"eslint-plugin-import": "^2.17.2",
"eslint-plugin-node": "^9.0.1",
"eslint-plugin-promise": "^4.1.1",
"eslint-plugin-react": "^7.13.0",
"markdownlint-cli": "^0.15.0",
"mocha": "^6.1.4",
"nyc": "^14.1.0",
"prettier": "^1.17.0",
"shx": "^0.3.2",
"source-map-support": "^0.5.12",
"ts-node": "^8.1.0",
"tslint": "^5.16.0",
"tslint-config-prettier": "^1.18.0",
"typescript": "^3.4.5"
"@tsconfig/node14": "^1.0.1",
"@types/chai": "^4.2.22",
"@types/mocha": "^9.0.0",
"@types/node": "^16.11.4",
"@typescript-eslint/eslint-plugin": "^5.1.0",
"@typescript-eslint/parser": "^5.1.0",
"c8": "^7.10.0",
"chai": "^4.3.4",
"coveralls": "^3.1.1",
"eslint": "^8.1.0",
"eslint-config-prettier": "^8.3.0",
"eslint-plugin-import": "^2.25.2",
"eslint-plugin-jsdoc": "^37.0.0",
"eslint-plugin-node": "^11.1.0",
"markdownlint-cli": "^0.29.0",
"mocha": "^9.1.3",
"mocha-steps": "^1.3.0",
"prettier": "^2.4.1",
"shx": "^0.3.3",
"ts-node": "^10.4.0",
"typescript": "^4.4.4"
},
"scripts": {
"build": "npm run compile",
"compile": "tsc --pretty",
"compile": "tsc --pretty --project .",
"clean": "shx rm -rf lib",
"lint": "npm run lint:tsc:src && npm run lint:tsc:test && npm run lint:tsc:examples && npm run lint:eslint && npm run lint:prettier && npm run lint:markdownlint",
"lint:tsc:examples": "tsc --noEmit --pretty --project examples",
"lint:tsc:src": "tsc --noEmit --pretty --project .",
"lint:tsc:test": "tsc --noEmit --pretty --project test",
"lint:eslint": "eslint --ext .js,.ts .",
"lint:prettier": "prettier --ignore-path .gitignore --list-different '**/*.{js,json,md,ts,yml}'",
"lint:markdownlint": "markdownlint \"*.md\"",
"postpublish": "git tag v$npm_package_version -a -m \"Release v$npm_package_version\" && git push --tags",
"prepublishOnly": "npm run build",
"pretest": "npm run build && tsc --pretty -p examples && tsc --pretty -p test && eslint . && tslint -t stylish -p . && tslint -t stylish -p examples && tslint -t stylish -p test && prettier --ignore-path .gitignore --list-different '**/*.js' '**/*.ts' '**/*.yaml' && markdownlint \"*.md\"",
"pretest": "npm run lint",
"test": "npm run test:spec",
"test:spec": "npm run ts-mocha -- \"test/*.ts\"",
"test:coverage": "nyc --reporter json npm run test:spec && nyc report",
"ts-mocha": "mocha --use_strict --throw-deprecation --require source-map-support/register --require ts-node/register --timeout 90000"
},
"nyc": {
"extension": [
".ts"
],
"exclude": [
"**/*.d.ts"
]
"test:spec": "mocha",
"test:coverage": "c8 --no-clean --reporter=lcov npm run test:spec && c8 report --reporter=text-summary --color"
}
}
18 changes: 18 additions & 0 deletions renovate.json
@@ -0,0 +1,18 @@
{
"extends": [
"config:base",
"group:allNonMajor",
"group:definitelyTyped",
"group:linters",
"group:monorepos",
"group:testNonMajor"
],
"packageRules": [
{
"packageNames": ["node"],
"enabled": false
}
],
"rangeStrategy": "bump",
"semanticCommits": false
}
12 changes: 4 additions & 8 deletions src/polish-vehicle-registration-certificate-decoder.ts
@@ -1,7 +1,7 @@
/// <reference types="node" />

import {PolishVehicleRegistrationCertificateNewFormatData} from './polish-vehicle-registration-certificate-new-format-data'
import {PolishVehicleRegistrationCertificateOldFormatData} from './polish-vehicle-registration-certificate-old-format-data'
import {PolishVehicleRegistrationCertificateNewFormatData} from './polish-vehicle-registration-certificate-new-format-data.js'
import {PolishVehicleRegistrationCertificateOldFormatData} from './polish-vehicle-registration-certificate-old-format-data.js'

import nrv2eDecompress from 'nrv2e-decompress'

Expand All @@ -10,12 +10,8 @@ import {
PolishVehicleRegistrationCertificateFuel,
PolishVehicleRegistrationCertificateFuelCode,
} from './polish-vehicle-registration-certificate-fields'
export {
PolishVehicleRegistrationCertificateNewFormatData,
} from './polish-vehicle-registration-certificate-new-format-data'
export {
PolishVehicleRegistrationCertificateOldFormatData,
} from './polish-vehicle-registration-certificate-old-format-data'
export {PolishVehicleRegistrationCertificateNewFormatData} from './polish-vehicle-registration-certificate-new-format-data.js'
export {PolishVehicleRegistrationCertificateOldFormatData} from './polish-vehicle-registration-certificate-old-format-data.js'

export type PolishVehicleRegistrationCertificateData =
| PolishVehicleRegistrationCertificateOldFormatData
Expand Down
Expand Up @@ -2,7 +2,7 @@ import {
PolishVehicleRegistrationCertificateFuel,
PolishVehicleRegistrationCertificateIssuer,
PolishVehicleRegistrationCertificateValue,
} from './polish-vehicle-registration-certificate-fields'
} from './polish-vehicle-registration-certificate-fields.js'

export class PolishVehicleRegistrationCertificateNewFormatData {
/** identyfikator formatu */
Expand Down
Expand Up @@ -3,7 +3,7 @@ import {
PolishVehicleRegistrationCertificateFuel,
PolishVehicleRegistrationCertificateIssuer,
PolishVehicleRegistrationCertificateValue,
} from './polish-vehicle-registration-certificate-fields'
} from './polish-vehicle-registration-certificate-fields.js'

export class PolishVehicleRegistrationCertificateOldFormatData {
/** seria dowodu rejestracyjnego */
Expand Down
4 changes: 2 additions & 2 deletions test/polish-vehicle-registration-certificate-decoder.ts
@@ -1,6 +1,6 @@
import {Feature, Given, Scenario, Then, When} from './lib/steps'
import {Feature, Given, Scenario, Then, When} from './lib/steps.js'

import PolishVehicleRegistrationCertificateDecoder from '../src/polish-vehicle-registration-certificate-decoder'
import PolishVehicleRegistrationCertificateDecoder from '../src/polish-vehicle-registration-certificate-decoder.js'

Feature('Test nrv2eDecompress', () => {
Scenario('Decompress file', () => {
Expand Down

0 comments on commit 72fc42d

Please sign in to comment.