Skip to content

Commit e8f8d0a

Browse files
authored
Merge pull request #89 from SoftwareBrothers/fix/fix-packagejson-main
fix: fix main entry in package.json and move beta -> master
2 parents 543ceca + 11c106c commit e8f8d0a

27 files changed

+5099
-4931
lines changed

.eslintrc.js

Lines changed: 21 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,12 @@
11
module.exports = {
22
env: {
3-
browser: true,
43
es2020: true,
54
},
65
extends: [
76
'airbnb',
87
'plugin:react/recommended',
98
'plugin:@typescript-eslint/recommended',
109
],
11-
ignorePatterns: [
12-
'*/build/**/*',
13-
'*.json',
14-
'*.txt',
15-
'yarn.lock',
16-
'*.yaml',
17-
],
1810
parser: '@typescript-eslint/parser',
1911
parserOptions: {
2012
ecmaFeatures: {
@@ -23,38 +15,35 @@ module.exports = {
2315
ecmaVersion: 11,
2416
sourceType: 'module',
2517
},
26-
plugins: [
27-
'react',
28-
'@typescript-eslint',
29-
],
18+
plugins: ['react', '@typescript-eslint'],
3019
rules: {
31-
semi: ['error', 'never'],
20+
semi: ['error', 'always'],
3221
'no-unused-vars': 'off',
3322
'import/extensions': 'off',
3423
'import/no-unresolved': 'off',
3524
'react/jsx-filename-extension': 'off',
36-
indent: [
37-
'error',
38-
2,
39-
],
25+
indent: ['error', 2],
4026
'linebreak-style': ['error', 'unix'],
4127
'object-curly-newline': 'off',
4228
'@typescript-eslint/no-explicit-any': 'off',
4329
},
44-
overrides: [{
45-
files: ['*.tsx'],
46-
rules: {
47-
'react/prop-types': 'off',
48-
'react/jsx-props-no-spreading': 'off',
49-
'import/no-extraneous-dependencies': 'off',
30+
overrides: [
31+
{
32+
files: ['*.tsx'],
33+
rules: {
34+
'react/prop-types': 'off',
35+
'react/jsx-props-no-spreading': 'off',
36+
'import/no-extraneous-dependencies': 'off',
37+
},
5038
},
51-
}, {
52-
files: ['./src/**/*.spec.ts', 'spec/*.ts'],
53-
rules: {
54-
'no-unused-expressions': 'off',
55-
'prefer-arrow-callback': 'off',
56-
'func-names': 'off',
57-
'import/no-extraneous-dependencies': 'off',
39+
{
40+
files: ['./src/**/*.spec.ts', 'spec/*.ts'],
41+
rules: {
42+
'no-unused-expressions': 'off',
43+
'prefer-arrow-callback': 'off',
44+
'func-names': 'off',
45+
'import/no-extraneous-dependencies': 'off',
46+
},
5847
},
59-
}],
60-
}
48+
],
49+
};

.github/workflows/push.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@ jobs:
1212
- name: Checkout
1313
uses: actions/checkout@v2
1414
- name: Setup
15-
uses: actions/setup-node@v1
15+
uses: actions/setup-node@v2
1616
with:
17-
node-version: '10.x'
17+
node-version: '16.x'
1818
- uses: actions/cache@v1
1919
id: yarn-cache
2020
with:
@@ -45,9 +45,9 @@ jobs:
4545
- name: Checkout
4646
uses: actions/checkout@v2
4747
- name: Setup
48-
uses: actions/setup-node@v1
48+
uses: actions/setup-node@v2
4949
with:
50-
node-version: '10.x'
50+
node-version: '16.x'
5151
- uses: actions/cache@v1
5252
id: yarn-cache
5353
with:

.gitignore

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,5 @@ dist
115115
.yarn/install-state.gz
116116
.pnp.*
117117

118-
build
119-
types
118+
lib
120119
.vscode

.npmignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ example-app
22
migrations
33
models
44
.github
5-
src
5+
./src/

index.d.ts

Lines changed: 0 additions & 7 deletions
This file was deleted.

index.js renamed to index.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
/* eslint-disable @typescript-eslint/no-var-requires */
21
/**
32
* @module @adminjs/sequelize
43
* @subcategory Adapters
@@ -79,7 +78,7 @@
7978
* @type {typeof BaseDatabase}
8079
* @static
8180
*/
82-
const Database = require('./build/database').default
81+
import Database from './src/database';
8382

8483
/**
8584
* Implementation of {@link BaseResource} for Sequelize Adapter
@@ -88,6 +87,11 @@ const Database = require('./build/database').default
8887
* @type {typeof BaseResource}
8988
* @static
9089
*/
91-
const Resource = require('./build/resource').default
90+
import Resource from './src/resource';
9291

93-
module.exports = { Database, Resource }
92+
export { default as Resource } from './src/resource';
93+
export { default as Database } from './src/database';
94+
95+
module.exports = { Database, Resource };
96+
97+
export default { Database, Resource };

package.json

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
"name": "@adminjs/sequelize",
33
"version": "2.0.0",
44
"description": "Sequelize adapter for AdminJS",
5-
"main": "build/index.js",
6-
"types": "index.d.ts",
5+
"main": "lib/index.js",
6+
"types": "lib/index.d.ts",
77
"scripts": {
88
"build": "tsc",
99
"dev": "tsc --watch",
@@ -35,28 +35,29 @@
3535
"@semantic-release/git": "^9.0.0",
3636
"@types/chai": "^4.2.12",
3737
"@types/mocha": "^8.0.3",
38+
"@types/node": "^14.14.37",
3839
"@types/sinon": "^9.0.5",
3940
"@types/sinon-chai": "^3.2.4",
4041
"@typescript-eslint/eslint-plugin": "^3.7.0",
4142
"@typescript-eslint/parser": "^3.7.0",
4243
"adminjs": "^5.0.0",
43-
"chai": "^4.2.0",
44+
"chai": "^4.3.4",
4445
"eslint": "^7.5.0",
4546
"eslint-config-airbnb": "^18.2.0",
4647
"eslint-plugin-import": "^2.22.0",
4748
"eslint-plugin-jsx-a11y": "^6.3.1",
4849
"eslint-plugin-react": "^7.20.3",
4950
"eslint-plugin-react-hooks": "^4.0.8",
5051
"husky": "^4.2.5",
51-
"mocha": "^5.2.0",
52+
"mocha": "^9.1.3",
5253
"nyc": "^12.0.2",
5354
"pg": "^7.7.1",
5455
"semantic-release": "^17.0.7",
5556
"semantic-release-slack-bot": "^1.6.2",
5657
"sequelize": ">4.42.0",
5758
"sequelize-cli": "^6.2.0",
58-
"sinon": "^7.1.1",
59-
"sinon-chai": "^3.3.0",
59+
"sinon": "^12.0.1",
60+
"sinon-chai": "^3.7.0",
6061
"ts-node": "^9.0.0",
6162
"typescript": "^4.0.2"
6263
},

src/database.spec.ts

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,48 @@
1-
import Sequelize from 'sequelize'
1+
import Sequelize from 'sequelize';
22

3-
import chai, { expect } from 'chai'
4-
import sinonChai from 'sinon-chai'
3+
import chai, { expect } from 'chai';
4+
import sinonChai from 'sinon-chai';
55

6-
import Database from './database'
7-
import Resource from './resource'
8-
import db from '../models/index.js'
6+
import Database from './database';
7+
import Resource from './resource';
8+
import db from '../models/index.js';
99

10-
chai.use(sinonChai)
10+
chai.use(sinonChai);
1111

12-
const config = require('../config/config')
12+
const config = require('../config/config');
1313

1414
describe('Database', () => {
1515
before(function () {
16-
this.sequelize = new (Sequelize as any)(config[process.env.NODE_ENV as string]) as any
16+
this.sequelize = new (Sequelize as any)(config[process.env.NODE_ENV as string]) as any;
1717
this.sequelize.define('User', {
1818
firstName: Sequelize.STRING,
1919
lastName: Sequelize.STRING,
2020
email: Sequelize.STRING,
2121
arrayed: Sequelize.ARRAY(Sequelize.STRING),
22-
}, {})
23-
})
22+
}, {});
23+
});
2424

2525
describe('.isAdapterFor', () => {
2626
it('returns true when user gives entire db object generated by cli', () => {
27-
expect(Database.isAdapterFor(db)).to.equal(true)
28-
})
27+
expect(Database.isAdapterFor(db)).to.equal(true);
28+
});
2929

3030
it('returns true when user gives sequelize', function () {
31-
expect(Database.isAdapterFor(this.sequelize)).to.equal(true)
32-
})
33-
})
31+
expect(Database.isAdapterFor(this.sequelize)).to.equal(true);
32+
});
33+
});
3434

3535
describe('#resources', () => {
3636
it('fetches all resources when entire db is given', () => {
37-
const database = new Database(db)
38-
expect(database.resources()).to.have.lengthOf(Object.keys(db.sequelize.models).length)
39-
expect(database.resources()[0]).to.be.an.instanceof(Resource)
40-
})
37+
const database = new Database(db);
38+
expect(database.resources()).to.have.lengthOf(Object.keys(db.sequelize.models).length);
39+
expect(database.resources()[0]).to.be.an.instanceof(Resource);
40+
});
4141

4242
it('fetches all resources when user gives sequelize', function () {
43-
const database = new Database(this.sequelize)
44-
expect(database.resources()).to.have.lengthOf(1)
45-
expect(database.resources()[0]).to.be.an.instanceof(Resource)
46-
})
47-
})
48-
})
43+
const database = new Database(this.sequelize);
44+
expect(database.resources()).to.have.lengthOf(1);
45+
expect(database.resources()[0]).to.be.an.instanceof(Resource);
46+
});
47+
});
48+
});

src/database.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,27 @@
1-
import { BaseDatabase, BaseResource } from 'adminjs'
2-
import { Sequelize } from 'sequelize'
1+
import { BaseDatabase, BaseResource } from 'adminjs';
2+
import { Sequelize } from 'sequelize';
33

4-
import Resource from './resource'
4+
import Resource from './resource';
55

66
class Database extends BaseDatabase {
77
private sequelize: Sequelize
88

99
static isAdapterFor(database: any): boolean {
1010
return (database.sequelize
1111
&& database.sequelize.constructor.name === 'Sequelize')
12-
|| database.constructor.name === 'Sequelize'
12+
|| database.constructor.name === 'Sequelize';
1313
}
1414

1515
constructor(database: any) {
16-
super(database)
17-
this.sequelize = database.sequelize || database
16+
super(database);
17+
this.sequelize = database.sequelize || database;
1818
}
1919

2020
resources(): Array<BaseResource> {
2121
return Object.keys(this.sequelize.models).map((key) => (
2222
new Resource(this.sequelize.models[key])
23-
))
23+
));
2424
}
2525
}
2626

27-
export default Database
27+
export default Database;

0 commit comments

Comments
 (0)