mirror of
https://github.com/samuelthomas2774/nxapi.git
synced 2026-03-24 19:34:21 -05:00
Publish to npm
This commit is contained in:
parent
32cf761bf2
commit
d548a0e37e
94
.gitlab-ci.yml
Normal file
94
.gitlab-ci.yml
Normal file
|
|
@ -0,0 +1,94 @@
|
|||
image: node:latest
|
||||
|
||||
cache:
|
||||
paths:
|
||||
- node_modules/
|
||||
|
||||
before_script:
|
||||
- npm --color="always" install
|
||||
|
||||
build:
|
||||
stage: build
|
||||
script:
|
||||
- npx tsc
|
||||
- PACKAGE=`npm --color="always" pack`
|
||||
- mv "$PACKAGE" nxapi.tgz
|
||||
|
||||
- npm run build-macos-linux
|
||||
- npm run build-windows
|
||||
- mv dist/bin/nxapi .
|
||||
- mv dist/bin/nxapi.exe .
|
||||
artifacts:
|
||||
paths:
|
||||
- dist
|
||||
- nxapi.tgz
|
||||
- nxapi
|
||||
- nxapi.exe
|
||||
|
||||
publish-npm:
|
||||
stage: deploy
|
||||
script:
|
||||
- echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > .npmrc
|
||||
- npm --color="always" publish
|
||||
dependencies:
|
||||
- build
|
||||
only:
|
||||
refs:
|
||||
- /^v.*$/
|
||||
variables:
|
||||
- $NPM_TOKEN
|
||||
except:
|
||||
- branches
|
||||
cache:
|
||||
paths:
|
||||
- node_modules/
|
||||
policy: pull
|
||||
|
||||
publish-gitlab:
|
||||
stage: deploy
|
||||
script:
|
||||
# Update the package.json and package-lock.json
|
||||
- "node -e \"fs.writeFileSync('package.json', JSON.stringify((json => {json.name = process.env.GITLAB_NPM_PACKAGE_NAME; json.publishConfig = {access: 'public'}; return json;})(JSON.parse(fs.readFileSync('package.json', 'utf-8'))), null, 4) + '\\n', 'utf-8')\""
|
||||
- "node -e \"fs.writeFileSync('package-lock.json', JSON.stringify((json => {json.name = process.env.GITLAB_NPM_PACKAGE_NAME; return json;})(JSON.parse(fs.readFileSync('package-lock.json', 'utf-8'))), null, 4) + '\\n', 'utf-8')\""
|
||||
|
||||
- echo "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}" | sed s/^https:// > .npmrc
|
||||
- npm --color="always" --registry=${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/npm/ publish
|
||||
dependencies:
|
||||
- build
|
||||
only:
|
||||
refs:
|
||||
- /^v.*$/
|
||||
variables:
|
||||
- $GITLAB_NPM_PUBLISH
|
||||
- $GITLAB_NPM_PACKAGE_NAME
|
||||
except:
|
||||
- branches
|
||||
cache:
|
||||
paths:
|
||||
- node_modules/
|
||||
policy: pull
|
||||
|
||||
publish-github:
|
||||
stage: deploy
|
||||
script:
|
||||
# Update the package.json and package-lock.json
|
||||
- "node -e \"fs.writeFileSync('package.json', JSON.stringify((json => {json.name = process.env.GITHUB_NPM_PACKAGE_NAME; json.publishConfig = {access: 'public'}; json.repository = {type: 'git', url: 'https://github.com/' + process.env.GITHUB_REPOSITORY + '.git'}; return json;})(JSON.parse(fs.readFileSync('package.json', 'utf-8'))), null, 4) + '\\n', 'utf-8')\""
|
||||
- "node -e \"fs.writeFileSync('package-lock.json', JSON.stringify((json => {json.name = process.env.GITHUB_NPM_PACKAGE_NAME; return json;})(JSON.parse(fs.readFileSync('package-lock.json', 'utf-8'))), null, 4) + '\\n', 'utf-8')\""
|
||||
|
||||
- echo "//npm.pkg.github.com/:_authToken=${GITHUB_NPM_TOKEN}" > .npmrc
|
||||
- npm --color="always" --registry=https://npm.pkg.github.com/ publish
|
||||
dependencies:
|
||||
- build
|
||||
only:
|
||||
refs:
|
||||
- /^v.*$/
|
||||
variables:
|
||||
- $GITHUB_REPOSITORY
|
||||
- $GITHUB_NPM_PACKAGE_NAME
|
||||
- $GITHUB_NPM_TOKEN
|
||||
except:
|
||||
- branches
|
||||
cache:
|
||||
paths:
|
||||
- node_modules/
|
||||
policy: pull
|
||||
11
README.md
11
README.md
|
|
@ -28,6 +28,17 @@ The API library and types are exported for use in JavaScript/TypeScript software
|
|||
|
||||
### Install
|
||||
|
||||
```sh
|
||||
# From registry.npmjs.com
|
||||
npm install --global nxapi
|
||||
|
||||
# From gitlab.fancy.org.uk
|
||||
npm install --global --registry https://gitlab.fancy.org.uk/api/v4/packages/npm/ @samuel/nxapi
|
||||
|
||||
# From npm.pkg.github.com
|
||||
npm install --global --registry https://npm.pkg.github.com @samuelthomas2774/nxapi
|
||||
```
|
||||
|
||||
#### Install from source
|
||||
|
||||
Node.js and npm must already be installed.
|
||||
|
|
|
|||
|
|
@ -1,3 +1,7 @@
|
|||
#!/usr/bin/env node
|
||||
|
||||
import createDebug from 'debug';
|
||||
|
||||
createDebug.log = console.warn.bind(console);
|
||||
|
||||
import('../dist/cli.js').then(cli => cli.default.argv);
|
||||
|
|
|
|||
40
package-lock.json
generated
40
package-lock.json
generated
|
|
@ -1,12 +1,12 @@
|
|||
{
|
||||
"name": "nxapi",
|
||||
"version": "1.0.0",
|
||||
"version": "0.1.0",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "nxapi",
|
||||
"version": "1.0.0",
|
||||
"version": "0.1.0",
|
||||
"dependencies": {
|
||||
"body-parser": "^1.19.2",
|
||||
"cli-table": "^0.3.11",
|
||||
|
|
@ -20,6 +20,7 @@
|
|||
"node-notifier": "^10.0.1",
|
||||
"node-persist": "^3.1.0",
|
||||
"read": "^1.0.7",
|
||||
"supports-color": "^8.1.1",
|
||||
"uuid": "^8.3.2",
|
||||
"yargs": "^17.3.1"
|
||||
},
|
||||
|
|
@ -1314,6 +1315,14 @@
|
|||
"resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz",
|
||||
"integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE="
|
||||
},
|
||||
"node_modules/has-flag": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
|
||||
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/has-unicode": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
|
||||
|
|
@ -2429,6 +2438,20 @@
|
|||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/supports-color": {
|
||||
"version": "8.1.1",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
|
||||
"integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
|
||||
"dependencies": {
|
||||
"has-flag": "^4.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/supports-color?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/tar-fs": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz",
|
||||
|
|
@ -3738,6 +3761,11 @@
|
|||
"resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz",
|
||||
"integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE="
|
||||
},
|
||||
"has-flag": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
|
||||
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
|
||||
},
|
||||
"has-unicode": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
|
||||
|
|
@ -4527,6 +4555,14 @@
|
|||
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
|
||||
"integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo="
|
||||
},
|
||||
"supports-color": {
|
||||
"version": "8.1.1",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
|
||||
"integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
|
||||
"requires": {
|
||||
"has-flag": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"tar-fs": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz",
|
||||
|
|
|
|||
14
package.json
14
package.json
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "nxapi",
|
||||
"version": "1.0.0",
|
||||
"version": "0.1.0",
|
||||
"description": "",
|
||||
"author": "Samuel Elliott",
|
||||
"main": "dist/index.js",
|
||||
|
|
@ -9,15 +9,20 @@
|
|||
"type": "git",
|
||||
"url": "git@gitlab.fancy.org.uk:samuel/nxapi.git"
|
||||
},
|
||||
"files": [
|
||||
"dist",
|
||||
"bin",
|
||||
"resources"
|
||||
],
|
||||
"bin": {
|
||||
"nxapi": "bin/nxapi.js"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1",
|
||||
"cli": "node bin/nxapi.js",
|
||||
"build-macos-linux": "caxa --input . --exclude src dist/bin data node_modules --prepare-command \"npm ci --production\" --output dist/bin/nintendo-znc -- \"{{caxa}}/node_modules/.bin/node\" \"{{caxa}}/bin/nxapi.js\"",
|
||||
"build-macosapp": "caxa --input . --exclude src dist/bin data node_modules --prepare-command \"npm ci --production\" --output dist/bin/nintendo-znc.app -- \"{{caxa}}/node_modules/.bin/node\" \"{{caxa}}/bin/nxapi.js\" \"presence\"",
|
||||
"build-windows": "caxa --input . --exclude src dist/bin data node_modules --prepare-command \"npm ci --production\" --output dist/bin/nintendo-znc.exe -- \"{{caxa}}/node_modules/.bin/node\" \"{{caxa}}/bin/nxapi.js\"",
|
||||
"build-macos-linux": "caxa --input . --exclude src dist/bin data node_modules --prepare-command \"npm ci --production\" --output dist/bin/nxapi -- \"{{caxa}}/node_modules/.bin/node\" \"{{caxa}}/bin/nxapi.js\"",
|
||||
"build-macosapp": "caxa --input . --exclude src dist/bin data node_modules --prepare-command \"npm ci --production\" --output dist/bin/nxapi.app -- \"{{caxa}}/node_modules/.bin/node\" \"{{caxa}}/bin/nxapi.js\" \"presence\"",
|
||||
"build-windows": "caxa --input . --exclude src dist/bin data node_modules --prepare-command \"npm ci --production\" --output dist/bin/nxapi.exe -- \"{{caxa}}/node_modules/.bin/node\" \"{{caxa}}/bin/nxapi.js\"",
|
||||
"start": "node bin/nxapi.js presence"
|
||||
},
|
||||
"dependencies": {
|
||||
|
|
@ -33,6 +38,7 @@
|
|||
"node-notifier": "^10.0.1",
|
||||
"node-persist": "^3.1.0",
|
||||
"read": "^1.0.7",
|
||||
"supports-color": "^8.1.1",
|
||||
"uuid": "^8.3.2",
|
||||
"yargs": "^17.3.1"
|
||||
},
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user