Skip to content

Commit e9bd0d3

Browse files
feat: implement
1 parent 688a6af commit e9bd0d3

35 files changed

+4737
-2433
lines changed

.editorconfig

-4
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,6 @@ charset = utf-8
55
end_of_line = lf
66
insert_final_newline = true
77
trim_trailing_whitespace = true
8-
indent_style = tab
9-
indent_size = 4
10-
11-
[{*.json,*.yml}]
128
indent_style = space
139
indent_size = 2
1410

.eslintrc

+149-148
Original file line numberDiff line numberDiff line change
@@ -1,150 +1,151 @@
11
{
2-
"extends": [
3-
"eslint:recommended",
4-
"plugin:@typescript-eslint/recommended",
5-
"plugin:@typescript-eslint/eslint-recommended"
6-
],
7-
"plugins": [
8-
"@typescript-eslint"
9-
],
10-
"parser": "@typescript-eslint/parser",
11-
"parserOptions": {
12-
"sourceType": "module",
13-
"ecmaVersion": 2018
14-
},
15-
"env": {
16-
"node": true,
17-
"jest": true,
18-
"es6": true,
19-
"browser": true
20-
},
21-
"settings": {
22-
"react": {
23-
"version": "latest"
24-
}
25-
},
26-
"rules": {
27-
"camelcase": [
28-
"error",
29-
{
30-
"properties": "always"
31-
}
32-
],
33-
"require-jsdoc": [
34-
"error",
35-
{
36-
"require": {
37-
"FunctionDeclaration": true,
38-
"MethodDefinition": true,
39-
"ClassDeclaration": true
40-
}
41-
}
42-
],
43-
"valid-jsdoc": [
44-
"error",
45-
{
46-
"requireReturn": false,
47-
"preferType": {
48-
"String": "string",
49-
"Object": "object",
50-
"Number": "number",
51-
"Function": "function",
52-
"Void": "void"
53-
}
54-
}
55-
],
56-
"quotes": [
57-
"error",
58-
"single",
59-
"avoid-escape"
60-
],
61-
"key-spacing": [
62-
"error",
63-
{
64-
"singleLine": {
65-
"beforeColon": false,
66-
"afterColon": true
67-
},
68-
"multiLine": {
69-
"beforeColon": false,
70-
"afterColon": true
71-
}
72-
}
73-
],
74-
"no-magic-numbers": [
75-
"error",
76-
{
77-
"ignoreArrayIndexes": true
78-
}
79-
],
80-
"eqeqeq": "error",
81-
"block-scoped-var": "error",
82-
"complexity": [
83-
"error",
84-
{
85-
"maximum": 20
86-
}
87-
],
88-
"curly": "error",
89-
"default-case": "error",
90-
"dot-location": [
91-
"error",
92-
"property"
93-
],
94-
"guard-for-in": "error",
95-
"no-eval": "error",
96-
"block-spacing": "error",
97-
"brace-style": "error",
98-
"comma-spacing": [
99-
"error",
100-
{
101-
"before": false,
102-
"after": true
103-
}
104-
],
105-
"id-length": [
106-
"error",
107-
{
108-
"min": 2,
109-
"properties": "never",
110-
"exceptions": [
111-
"$"
112-
]
113-
}
114-
],
115-
"indent": [
116-
"error",
117-
"tab",
118-
{
119-
"MemberExpression": "off",
120-
"SwitchCase": 1
121-
}
122-
],
123-
"space-before-function-paren": [
124-
"error",
125-
"never"
126-
],
127-
"space-before-blocks": "error",
128-
"prefer-const": "error",
129-
"no-var": "error",
130-
"arrow-body-style": "off",
131-
"arrow-spacing": "error",
132-
"strict": [
133-
"error"
134-
],
135-
"no-warning-comments": [
136-
"warn",
137-
{
138-
"terms": [
139-
"todo",
140-
"fixme",
141-
"hack"
142-
],
143-
"location": "anywhere"
144-
}
145-
],
146-
"semi": [
147-
"error"
148-
]
149-
}
2+
"env": {
3+
"node": true,
4+
"browser": true,
5+
"es6": true
6+
},
7+
"extends": [
8+
"eslint:recommended",
9+
"plugin:@typescript-eslint/recommended",
10+
"plugin:@typescript-eslint/eslint-recommended"
11+
],
12+
"parserOptions": {
13+
"ecmaFeatures": {
14+
"experimentalObjectRestSpread": true,
15+
"jsx": true
16+
},
17+
"sourceType": "module",
18+
"ecmaVersion": 2018
19+
},
20+
"plugins": [
21+
"react",
22+
"react-hooks",
23+
"@typescript-eslint"
24+
],
25+
"settings": {
26+
"react": {
27+
"version": "latest"
28+
}
29+
},
30+
"parser": "@typescript-eslint/parser",
31+
"rules": {
32+
"camelcase": [
33+
"error",
34+
{
35+
"properties": "always"
36+
}
37+
],
38+
"quotes": [
39+
"error",
40+
"single",
41+
"avoid-escape"
42+
],
43+
"key-spacing": [
44+
"error",
45+
{
46+
"singleLine": {
47+
"beforeColon": false,
48+
"afterColon": true
49+
},
50+
"multiLine": {
51+
"beforeColon": false,
52+
"afterColon": true
53+
}
54+
}
55+
],
56+
"no-magic-numbers": [
57+
"error",
58+
{
59+
"ignoreArrayIndexes": true
60+
}
61+
],
62+
"eqeqeq": "error",
63+
"block-scoped-var": "error",
64+
"complexity": [
65+
"error",
66+
{
67+
"maximum": 20
68+
}
69+
],
70+
"curly": "error",
71+
"default-case": "error",
72+
"dot-location": [
73+
"error",
74+
"property"
75+
],
76+
"guard-for-in": "error",
77+
"no-eval": "error",
78+
"block-spacing": "error",
79+
"brace-style": "error",
80+
"comma-spacing": [
81+
"error",
82+
{
83+
"before": false,
84+
"after": true
85+
}
86+
],
87+
"id-length": [
88+
"error",
89+
{
90+
"min": 2,
91+
"properties": "never",
92+
"exceptions": [
93+
"$"
94+
]
95+
}
96+
],
97+
"indent": [
98+
"error",
99+
2,
100+
{
101+
"SwitchCase": 1
102+
}
103+
],
104+
"space-before-function-paren": [
105+
"error",
106+
"never"
107+
],
108+
"space-before-blocks": "error",
109+
"prefer-const": "error",
110+
"no-var": "error",
111+
"arrow-body-style": "off",
112+
"arrow-spacing": "error",
113+
"strict": [
114+
"error"
115+
],
116+
"no-warning-comments": [
117+
"warn",
118+
{
119+
"terms": [
120+
"todo",
121+
"fixme",
122+
"hack"
123+
],
124+
"location": "anywhere"
125+
}
126+
],
127+
"semi": [
128+
"error",
129+
"always"
130+
],
131+
"@typescript-eslint/interface-name-prefix": [
132+
"error",
133+
{
134+
"prefixWithI": "always"
135+
}
136+
],
137+
"no-func-assign": "off",
138+
"arrow-parens": [
139+
"off",
140+
"as-needed"
141+
],
142+
"comma-dangle": [
143+
"error",
144+
"always-multiline"
145+
],
146+
"react-hooks/rules-of-hooks": "error",
147+
"react/jsx-uses-react": 1,
148+
"react/jsx-uses-vars": 1,
149+
"@typescript-eslint/no-var-requires": "off"
150+
}
150151
}

README.md

+6-7
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
1-
# TypeScript Package Template
1+
# GA Framework
22

3-
[![npm version](https://badge.fury.io/js/%40technote-space%2Fts-package-template.svg)](https://badge.fury.io/js/%40technote-space%2Fts-package-template)
4-
[![CI Status](https://github.com/technote-space/ts-package-template/workflows/CI/badge.svg)](https://github.com/technote-space/ts-package-template/actions)
5-
[![codecov](https://codecov.io/gh/technote-space/ts-package-template/branch/master/graph/badge.svg)](https://codecov.io/gh/technote-space/ts-package-template)
6-
[![CodeFactor](https://www.codefactor.io/repository/github/technote-space/ts-package-template/badge)](https://www.codefactor.io/repository/github/technote-space/ts-package-template)
7-
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://github.com/technote-space/ts-package-template/blob/master/LICENSE)
3+
[![npm version](https://badge.fury.io/js/%40technote-space%2Fga-framework.svg)](https://badge.fury.io/js/%40technote-space%2Fga-framework)
4+
[![CI Status](https://github.com/technote-space/ga-framework/workflows/CI/badge.svg)](https://github.com/technote-space/ga-framework/actions)
5+
[![CodeFactor](https://www.codefactor.io/repository/github/technote-space/ga-framework/badge)](https://www.codefactor.io/repository/github/technote-space/ga-framework)
6+
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://github.com/technote-space/ga-framework/blob/master/LICENSE)
87

9-
Template for npm package.
8+
GA Framework
109

1110
## Table of Contents
1211

__tests__/index.test.ts

-8
This file was deleted.

babel.config.js

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
module.exports = {
2+
presets: [
3+
[
4+
'@babel/preset-env',
5+
{
6+
targets: {
7+
node: 'current',
8+
},
9+
},
10+
],
11+
'@babel/preset-flow',
12+
'@babel/preset-react',
13+
'@babel/typescript',
14+
],
15+
plugins: [
16+
'@babel/plugin-proposal-class-properties',
17+
'@babel/proposal-object-rest-spread',
18+
'@babel/plugin-syntax-dynamic-import',
19+
'@babel/plugin-transform-react-inline-elements',
20+
'react-html-attrs',
21+
'react-hot-loader/babel',
22+
'transform-class-properties',
23+
[
24+
'i18next-extract', {
25+
locales: ['ja', 'en'],
26+
outputPath: './src/locales/{{locale}}.json',
27+
},
28+
],
29+
],
30+
ignore: ['node_modules', 'build', 'distDev', 'distProd'],
31+
};

0 commit comments

Comments
 (0)