forked from uncefact/project-vckit
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(agent): initialise agent library (#3)
- Loading branch information
1 parent
4c891d5
commit e5fa0ad
Showing
18 changed files
with
2,243 additions
and
59 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,133 @@ | ||
name: | ||
|
||
on: | ||
push: | ||
branches: | ||
- master | ||
pull_request: | ||
|
||
env: | ||
HUSKY: 0 | ||
|
||
jobs: | ||
main: | ||
runs-on: ubuntu-latest | ||
defaults: | ||
run: | ||
working-directory: ${{ github.workspace }} | ||
strategy: | ||
matrix: | ||
node-version: [16] | ||
npm-version: [8] | ||
yarn-version: ['1.22.x'] | ||
pnpm-version: [7] | ||
steps: | ||
- name: Checkout [Pull Request] | ||
uses: actions/checkout@v2 | ||
if: ${{ github.event_name == 'pull_request' }} | ||
with: | ||
ref: ${{ github.event.pull_request.head.sha }} | ||
token: ${{ secrets.GH_TOKEN }} | ||
fetch-depth: 0 | ||
|
||
- name: Checkout [Default Branch] | ||
uses: actions/checkout@v2 | ||
if: ${{ github.event_name != 'pull_request' }} | ||
with: | ||
token: ${{ secrets.GH_TOKEN }} | ||
fetch-depth: 0 | ||
|
||
- name: Derive appropriate SHAs for base and head for `nx affected` commands | ||
uses: nrwl/nx-set-shas@v2 | ||
with: | ||
main-branch-name: ${{ github.base_ref }} | ||
|
||
- name: Detect package manager | ||
id: package_manager | ||
run: | | ||
echo "::set-output name=name::$([[ -f ./yarn.lock ]] && echo "yarn" || ([[ -f ./pnpm-lock.yaml ]] && echo "pnpm") || echo "npm")" | ||
- name: Set node/npm/yarn versions using volta | ||
uses: volta-cli/action@fdf4cf319494429a105efaa71d0e5ec67f338c6e | ||
with: | ||
node-version: '${{ matrix.node-version }}' | ||
npm-version: '${{ matrix.npm-version }}' | ||
yarn-version: '${{ matrix.yarn-version }}' | ||
|
||
- name: Install PNPM | ||
if: steps.package_manager.outputs.name == 'pnpm' | ||
uses: pnpm/[email protected] | ||
with: | ||
version: '${{ matrix.pnpm-version }}' | ||
|
||
- name: Print node/npm/yarn/pnpm versions | ||
id: versions | ||
run: | | ||
node_ver=$( node --version ) | ||
yarn_ver=$( yarn --version || true ) | ||
pnpm_ver=$( pnpm --version || true ) | ||
echo "Node: ${node_ver:1}" | ||
echo "NPM: $(npm --version )" | ||
if [[ $yarn_ver != '' ]]; then echo "Yarn: $yarn_ver"; fi | ||
if [[ $pnpm_ver != '' ]]; then echo "PNPM: $pnpm_ver"; fi | ||
echo "::set-output name=node_version::${node_ver:1}" | ||
- name: Use the node_modules cache if available [npm] | ||
if: steps.package_manager.outputs.name == 'npm' | ||
uses: actions/cache@v2 | ||
with: | ||
path: ~/.npm | ||
key: ${{ runner.os }}-node-${{ steps.versions.outputs.node_version }}-${{ hashFiles('**/package-lock.json') }} | ||
restore-keys: | | ||
${{ runner.os }}-node-${{ steps.versions.outputs.node_version }}- | ||
- name: Use the node_modules cache if available [pnpm] | ||
if: steps.package_manager.outputs.name == 'pnpm' | ||
uses: actions/cache@v2 | ||
with: | ||
path: ~/.pnpm-store | ||
key: ${{ runner.os }}-node-${{ steps.versions.outputs.node_version }}-${{ hashFiles('**/pnpm-lock.yaml') }} | ||
restore-keys: | | ||
${{ runner.os }}-node-${{ steps.versions.outputs.node_version }}- | ||
- name: Get yarn cache directory path | ||
if: steps.package_manager.outputs.name == 'yarn' | ||
id: yarn-cache-dir-path | ||
run: echo "::set-output name=dir::$(yarn cache dir)" | ||
|
||
- name: Use the node_modules cache if available [yarn] | ||
if: steps.package_manager.outputs.name == 'yarn' | ||
uses: actions/cache@v2 | ||
with: | ||
path: ${{ steps.yarn-cache-dir-path.outputs.dir }} | ||
key: ${{ runner.os }}-node-${{ steps.versions.outputs.node_version }}-yarn-${{ hashFiles('**/yarn.lock') }} | ||
restore-keys: | | ||
${{ runner.os }}-node-${{ steps.versions.outputs.node_version }}- | ||
- name: Install dependencies | ||
run: | | ||
if [ "${{ steps.package_manager.outputs.name == 'yarn' }}" == "true" ]; then | ||
echo "Running yarn install --frozen-lockfile" | ||
yarn install --frozen-lockfile | ||
elif [ "${{ steps.package_manager.outputs.name == 'pnpm' }}" == "true" ]; then | ||
echo "Running pnpm install --frozen-lockfile" | ||
pnpm install --frozen-lockfile | ||
else | ||
echo "Running npm ci" | ||
npm ci | ||
fi | ||
- run: | | ||
npx nx workspace-lint | ||
npx nx format:check | ||
npx nx affected --target lint --parallel 3 | ||
npx nx affected --target test --parallel 3 --ci --code-coverage | ||
npx nx affected --target build --parallel 3 | ||
- name: Release | ||
if: ${{ success() && (github.event_name != 'pull_request' || github.event.action == 'closed' && github.event.pull_request.merged == true) }} | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
NPM_TOKEN: ${{ secrets.NPM_TOKEN }} | ||
run: | | ||
npx nx affected --target release |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
{ | ||
"presets": [["@nrwl/web/babel", { "useBuiltIns": "usage" }]] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
{ | ||
"extends": ["../../.eslintrc.json"], | ||
"ignorePatterns": ["!**/*"], | ||
"overrides": [ | ||
{ | ||
"files": ["*.ts", "*.tsx", "*.js", "*.jsx"], | ||
"rules": {} | ||
}, | ||
{ | ||
"files": ["*.ts", "*.tsx"], | ||
"rules": {} | ||
}, | ||
{ | ||
"files": ["*.js", "*.jsx"], | ||
"rules": {} | ||
} | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
# agent | ||
|
||
This library was generated with [Nx](https://nx.dev). | ||
|
||
## Running unit tests | ||
|
||
Run `nx test agent` to execute the unit tests via [Jest](https://jestjs.io). | ||
|
||
## Running lint | ||
|
||
Run `nx lint agent` to execute the lint via [ESLint](https://eslint.org/). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
/* eslint-disable */ | ||
export default { | ||
displayName: 'agent', | ||
preset: '../../jest.preset.js', | ||
globals: { | ||
'ts-jest': { | ||
tsconfig: '<rootDir>/tsconfig.spec.json', | ||
}, | ||
}, | ||
transform: { | ||
'^.+\\.[tj]sx?$': 'ts-jest', | ||
}, | ||
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx'], | ||
coverageDirectory: '../../coverage/libs/agent', | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
{ | ||
"name": "@vckit/agent", | ||
"version": "0.0.1-semantic-release", | ||
"repository": { | ||
"type": "git", | ||
"url": "https://github.com/uncefact/project-vckit.git", | ||
"directory":"libs/agent" | ||
}, | ||
"publishConfig": { | ||
"registry": "https://registry.npmjs.org" | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
{ | ||
"name": "agent", | ||
"$schema": "../../node_modules/nx/schemas/project-schema.json", | ||
"sourceRoot": "libs/agent/src", | ||
"projectType": "library", | ||
"targets": { | ||
"build": { | ||
"executor": "@nrwl/js:tsc", | ||
"outputs": ["{options.outputPath}"], | ||
"options": { | ||
"outputPath": "dist/libs/agent", | ||
"main": "libs/agent/src/index.ts", | ||
"tsConfig": "libs/agent/tsconfig.lib.json", | ||
"assets": ["libs/agent/*.md"] | ||
} | ||
}, | ||
"lint": { | ||
"executor": "@nrwl/linter:eslint", | ||
"outputs": ["{options.outputFile}"], | ||
"options": { | ||
"lintFilePatterns": ["libs/agent/**/*.ts"] | ||
} | ||
}, | ||
"test": { | ||
"executor": "@nrwl/jest:jest", | ||
"outputs": ["{workspaceRoot}/coverage/{projectRoot}"], | ||
"options": { | ||
"jestConfig": "libs/agent/jest.config.ts", | ||
"passWithNoTests": true | ||
} | ||
}, | ||
"release": { | ||
"executor": "nx:run-commands", | ||
"outputs": [], | ||
"options": { | ||
"command": "npx semantic-release-plus --extends ./packages/agent/release.config.js", | ||
"parallel": false | ||
} | ||
} | ||
}, | ||
"tags": [] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
const name = 'agent'; | ||
const srcRoot = `libs/${name}`; | ||
|
||
module.exports = { | ||
extends: 'release.config.base.js', | ||
pkgRoot: `dist/${srcRoot}`, | ||
tagFormat: name + '-v${version}', | ||
commitPaths: [`${srcRoot}/*`], | ||
plugins: [ | ||
'@semantic-release/commit-analyser', | ||
'@semantic-release/release-notes-generator', | ||
[ | ||
'@semantic-release/changelog', | ||
{ | ||
changelogFile: `${srcRoot}CHANGELOG.md` | ||
}, | ||
], | ||
'@semantic-release/npm', | ||
[ | ||
'@semantic-release/git', | ||
{ | ||
assets: [`${srcRoot}/package.json`, `${srcRoot}/CHANGELOG.md`], | ||
message: | ||
`release (version): Release ${name}` + | ||
'$nextRelease.version [skip ci] \n\n${nextRelease.notes}', | ||
} | ||
] | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
export * from './lib/agent'; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
import { agent } from './agent'; | ||
|
||
describe('agent', () => { | ||
it('should work', () => { | ||
expect(agent()).toEqual('agent'); | ||
}); | ||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
export function agent(): string { | ||
return 'agent'; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
{ | ||
"extends": "../../tsconfig.base.json", | ||
"files": [], | ||
"include": [], | ||
"references": [ | ||
{ | ||
"path": "./tsconfig.lib.json" | ||
}, | ||
{ | ||
"path": "./tsconfig.spec.json" | ||
} | ||
], | ||
"compilerOptions": { | ||
"forceConsistentCasingInFileNames": true, | ||
"strict": true, | ||
"noImplicitReturns": true, | ||
"noFallthroughCasesInSwitch": true | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
{ | ||
"extends": "./tsconfig.json", | ||
"compilerOptions": { | ||
"outDir": "../../dist/out-tsc", | ||
"declaration": true, | ||
"types": [] | ||
}, | ||
"include": ["**/*.ts"], | ||
"exclude": ["jest.config.ts", "**/*.spec.ts"] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
{ | ||
"extends": "./tsconfig.json", | ||
"compilerOptions": { | ||
"outDir": "../../dist/out-tsc", | ||
"module": "commonjs", | ||
"types": ["jest", "node"] | ||
}, | ||
"include": [ | ||
"jest.config.ts", | ||
"**/*.test.ts", | ||
"**/*.spec.ts", | ||
"**/*.test.tsx", | ||
"**/*.spec.tsx", | ||
"**/*.test.js", | ||
"**/*.spec.js", | ||
"**/*.test.jsx", | ||
"**/*.spec.jsx", | ||
"**/*.d.ts" | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
module.exports = { | ||
extends: 'semantic-release-npm-github-publish' | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.