shinkansen-gears 1.2.16 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/eslint.config.mjs +2 -9
- package/package.json +34 -13
- package/src/gears/forward/index.cjs +5 -2
- package/src/gears/forward/index.jsx +3 -3
- package/src/gears/index.cjs +8 -1
- package/src/gears/index.d.mts +2 -7
- package/src/gears/index.jsx +10 -43
- package/src/gears/reverse/index.cjs +5 -2
- package/src/gears/reverse/index.jsx +3 -3
- package/src/index.cjs +7 -5
- package/src/index.d.cts +17 -3
- package/src/index.d.mts +17 -3
- package/src/index.mjs +9 -1
- package/src/render/forward/index.cjs +20 -0
- package/src/render/forward/index.d.cts +1 -0
- package/src/render/forward/index.d.mts +9 -0
- package/src/render/forward/index.jsx +24 -0
- package/src/render/index.cjs +17 -0
- package/src/render/index.d.cts +7 -0
- package/src/render/index.d.mts +7 -0
- package/src/render/index.mjs +13 -0
- package/src/render/reverse/index.cjs +20 -0
- package/src/render/reverse/index.d.cts +1 -0
- package/src/render/reverse/index.d.mts +9 -0
- package/src/render/reverse/index.jsx +24 -0
package/eslint.config.mjs
CHANGED
|
@@ -139,10 +139,7 @@ export default [
|
|
|
139
139
|
...reactRules
|
|
140
140
|
},
|
|
141
141
|
settings: {
|
|
142
|
-
...reactSettings
|
|
143
|
-
'import/resolver': {
|
|
144
|
-
'babel-module': {}
|
|
145
|
-
}
|
|
142
|
+
...reactSettings
|
|
146
143
|
}
|
|
147
144
|
}),
|
|
148
145
|
standard({
|
|
@@ -169,10 +166,7 @@ export default [
|
|
|
169
166
|
...reactRules
|
|
170
167
|
},
|
|
171
168
|
settings: {
|
|
172
|
-
...reactSettings
|
|
173
|
-
'import/resolver': {
|
|
174
|
-
'babel-module': {}
|
|
175
|
-
}
|
|
169
|
+
...reactSettings
|
|
176
170
|
}
|
|
177
171
|
}),
|
|
178
172
|
/**
|
|
@@ -184,7 +178,6 @@ export default [
|
|
|
184
178
|
],
|
|
185
179
|
ignores: [
|
|
186
180
|
'src',
|
|
187
|
-
'stories',
|
|
188
181
|
'test'
|
|
189
182
|
],
|
|
190
183
|
languageOptions: {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "shinkansen-gears",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.1",
|
|
4
4
|
"description": "Shinkansen Gears",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Shinkansen",
|
|
@@ -40,7 +40,9 @@
|
|
|
40
40
|
"prestorybook": "npm run build && npm run transform",
|
|
41
41
|
"pretest": "npm run nvm",
|
|
42
42
|
"storybook": "storybook dev -p 6008",
|
|
43
|
-
"test": "
|
|
43
|
+
"test": "npm run test:mocha && npm run test:jest",
|
|
44
|
+
"test:jest": "cross-env NODE_ENV=test jest",
|
|
45
|
+
"test:mocha": "cross-env NODE_ENV=test mocha test --recursive",
|
|
44
46
|
"transform": "cross-env DEBUG=shinkansen-gears* ./transform.sh"
|
|
45
47
|
},
|
|
46
48
|
"dependencies": {
|
|
@@ -56,30 +58,36 @@
|
|
|
56
58
|
"@modernpoacher/design-system": "1.1.31",
|
|
57
59
|
"@sequencemedia/eslint-config-standard": "^0.2.41",
|
|
58
60
|
"@sequencemedia/eslint-config-typescript": "^0.1.57",
|
|
59
|
-
"@storybook/addon-actions": "
|
|
60
|
-
"@storybook/addon-essentials": "
|
|
61
|
-
"@storybook/addon-links": "
|
|
62
|
-
"@storybook/
|
|
63
|
-
"@storybook/
|
|
61
|
+
"@storybook/addon-actions": "^8.6.4",
|
|
62
|
+
"@storybook/addon-essentials": "^8.6.4",
|
|
63
|
+
"@storybook/addon-links": "^8.6.4",
|
|
64
|
+
"@storybook/addon-webpack5-compiler-babel": "^3.0.5",
|
|
65
|
+
"@storybook/manager-api": "^8.6.4",
|
|
66
|
+
"@storybook/react": "^8.6.4",
|
|
67
|
+
"@storybook/react-webpack5": "^8.6.4",
|
|
68
|
+
"@storybook/theming": "^8.6.4",
|
|
64
69
|
"@types/babel__register": "^7.17.3",
|
|
70
|
+
"@types/chai": "^5.0.1",
|
|
65
71
|
"@types/debug": "^4.1.12",
|
|
66
72
|
"@types/jest": "^29.5.14",
|
|
73
|
+
"@types/mocha": "^10.0.10",
|
|
67
74
|
"@types/react": "18.3.13",
|
|
68
75
|
"@types/react-test-renderer": "^19.0.0",
|
|
69
76
|
"@typescript-eslint/eslint-plugin": "^8.26.0",
|
|
70
77
|
"@typescript-eslint/parser": "^8.26.0",
|
|
71
78
|
"autoprefixer": "^10.4.20",
|
|
79
|
+
"chai": "^5.2.0",
|
|
72
80
|
"clean-webpack-plugin": "^4.0.0",
|
|
73
81
|
"core-js": "^3.41.0",
|
|
74
82
|
"cross-env": "^7.0.3",
|
|
75
83
|
"eslint": "^9.21.0",
|
|
76
|
-
"eslint-import-resolver-babel-module": "^5.3.2",
|
|
77
84
|
"eslint-plugin-react": "^7.37.4",
|
|
78
85
|
"eslint-plugin-storybook": "^0.11.4",
|
|
79
86
|
"globals": "^16.0.0",
|
|
80
87
|
"husky": "^9.1.7",
|
|
81
88
|
"jest": "^29.7.0",
|
|
82
89
|
"mini-css-extract-plugin": "^2.9.2",
|
|
90
|
+
"mocha": "^11.1.0",
|
|
83
91
|
"perfectionist": "^2.4.0",
|
|
84
92
|
"postcss": "^8.5.3",
|
|
85
93
|
"postcss-discard-comments": "^7.0.3",
|
|
@@ -95,13 +103,13 @@
|
|
|
95
103
|
"remove-files-webpack-plugin": "^1.5.0",
|
|
96
104
|
"sass": "^1.85.1",
|
|
97
105
|
"sass-loader": "^16.0.5",
|
|
98
|
-
"shinkansen-rails": "1.0
|
|
99
|
-
"storybook": "
|
|
106
|
+
"shinkansen-rails": "1.1.0",
|
|
107
|
+
"storybook": "^8.6.4",
|
|
100
108
|
"webpack": "^5.98.0",
|
|
101
109
|
"webpack-cli": "^6.0.1"
|
|
102
110
|
},
|
|
103
111
|
"peerDependencies": {
|
|
104
|
-
"shinkansen-rails": "1.
|
|
112
|
+
"shinkansen-rails": "1.1.x"
|
|
105
113
|
},
|
|
106
114
|
"imports": {
|
|
107
115
|
"#build/paths": "./build/paths.mjs",
|
|
@@ -112,7 +120,13 @@
|
|
|
112
120
|
"#gears/gears": "./src/gears/index.cjs",
|
|
113
121
|
"#gears/gears/*": "./src/gears/*/index.cjs",
|
|
114
122
|
"#gears/gears/forward": "./src/gears/forward/index.cjs",
|
|
115
|
-
"#gears/gears/reverse": "./src/gears/reverse/index.cjs"
|
|
123
|
+
"#gears/gears/reverse": "./src/gears/reverse/index.cjs",
|
|
124
|
+
"#gears/render": {
|
|
125
|
+
"require": "./src/render/index.cjs",
|
|
126
|
+
"import": "./src/render/index.mjs"
|
|
127
|
+
},
|
|
128
|
+
"#gears/render/forward": "./src/render/forward/index.cjs",
|
|
129
|
+
"#gears/render/reverse": "./src/render/reverse/index.cjs"
|
|
116
130
|
},
|
|
117
131
|
"exports": {
|
|
118
132
|
".": {
|
|
@@ -120,7 +134,14 @@
|
|
|
120
134
|
"import": "./src/index.mjs"
|
|
121
135
|
},
|
|
122
136
|
"./gears": "./src/gears/index.cjs",
|
|
137
|
+
"./gears/*": "./src/gears/*/index.cjs",
|
|
123
138
|
"./gears/forward": "./src/gears/forward/index.cjs",
|
|
124
|
-
"./gears/reverse": "./src/gears/reverse/index.cjs"
|
|
139
|
+
"./gears/reverse": "./src/gears/reverse/index.cjs",
|
|
140
|
+
"./render": {
|
|
141
|
+
"require": "./src/render/index.cjs",
|
|
142
|
+
"import": "./src/render/index.mjs"
|
|
143
|
+
},
|
|
144
|
+
"./render/forward": "./src/render/forward/index.cjs",
|
|
145
|
+
"./render/reverse": "./src/render/reverse/index.cjs"
|
|
125
146
|
}
|
|
126
147
|
}
|
|
@@ -11,7 +11,10 @@ const log = debug('shinkansen-gears/gears/forward')
|
|
|
11
11
|
log('`shinkansen` is awake')
|
|
12
12
|
|
|
13
13
|
const {
|
|
14
|
-
default:
|
|
14
|
+
default: Forward // @ts-expect-error
|
|
15
15
|
} = require('./index.jsx')
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
/**
|
|
18
|
+
* Exports only default
|
|
19
|
+
*/
|
|
20
|
+
module.exports = Forward
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* @typedef {GearsTypes.Forward.ForwardProps} ForwardProps
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
5
|
import React from 'react'
|
|
@@ -10,8 +10,8 @@ import {
|
|
|
10
10
|
} from 'react-router'
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
|
-
*
|
|
14
|
-
*
|
|
13
|
+
* @param {ForwardProps} props
|
|
14
|
+
* @returns {React.JSX.Element}
|
|
15
15
|
*/
|
|
16
16
|
function Forward ({ pathname }) {
|
|
17
17
|
const key = pathname.concat('-forward')
|
package/src/gears/index.cjs
CHANGED
|
@@ -10,4 +10,11 @@ const log = debug('shinkansen-gears/gears')
|
|
|
10
10
|
|
|
11
11
|
log('`shinkansen` is awake')
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
const {
|
|
14
|
+
default: Gears // @ts-expect-error
|
|
15
|
+
} = require('./index.jsx')
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Exports only default
|
|
19
|
+
*/
|
|
20
|
+
module.exports = Gears
|
package/src/gears/index.d.mts
CHANGED
|
@@ -1,18 +1,13 @@
|
|
|
1
1
|
declare module '#gears/gears' {
|
|
2
2
|
import React from 'react'
|
|
3
3
|
|
|
4
|
-
type GearsProps = GearsTypes.GearsProps
|
|
5
|
-
type GearsState = GearsTypes.GearsState
|
|
4
|
+
export type GearsProps = GearsTypes.GearsProps
|
|
5
|
+
export type GearsState = GearsTypes.GearsState
|
|
6
6
|
|
|
7
|
-
export function renderReverse (reverse?: Record<string, unknown>, pattern?: string): React.JSX.Element | null
|
|
8
|
-
export function renderForward (forward?: Record<string, unknown>, pattern?: string): React.JSX.Element | null
|
|
9
7
|
export default class Gears extends React.Component<GearsProps, GearsState> {}
|
|
10
8
|
}
|
|
11
9
|
|
|
12
10
|
declare module 'shinkansen-gears/gears' {
|
|
13
|
-
export type GearsProps = GearsTypes.GearsProps
|
|
14
|
-
export type GearsState = GearsTypes.GearsState
|
|
15
|
-
|
|
16
11
|
export { default } from '#gears/gears'
|
|
17
12
|
export * from '#gears/gears'
|
|
18
13
|
}
|
package/src/gears/index.jsx
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
2
|
+
* @typedef {GearsTypes.GearsProps} GearsProps
|
|
3
|
+
* @typedef {GearsTypes.GearsState} GearsState
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
import React, { Component } from 'react'
|
|
@@ -11,42 +11,9 @@ import {
|
|
|
11
11
|
Rails
|
|
12
12
|
} from 'shinkansen-rails'
|
|
13
13
|
|
|
14
|
-
import
|
|
15
|
-
import Forward from './forward/index.jsx'
|
|
14
|
+
import renderReverse from '#gears/render/reverse'
|
|
16
15
|
|
|
17
|
-
|
|
18
|
-
* @type {(reverse?: Record<string, unknown>, pattern?: string) => React.JSX.Element | null}
|
|
19
|
-
*/
|
|
20
|
-
export function renderReverse (reverse, pattern) {
|
|
21
|
-
if (Rails.go(reverse, pattern)) {
|
|
22
|
-
const pathname = Rails.to(reverse, pattern)
|
|
23
|
-
|
|
24
|
-
return (
|
|
25
|
-
<Reverse
|
|
26
|
-
pathname={pathname}
|
|
27
|
-
/>
|
|
28
|
-
)
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
return null
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* @type {(forward?: Record<string, unknown>, pattern?: string) => React.JSX.Element | null}
|
|
36
|
-
*/
|
|
37
|
-
export function renderForward (forward, pattern) {
|
|
38
|
-
if (Rails.go(forward, pattern)) {
|
|
39
|
-
const pathname = Rails.to(forward, pattern)
|
|
40
|
-
|
|
41
|
-
return (
|
|
42
|
-
<Forward
|
|
43
|
-
pathname={pathname}
|
|
44
|
-
/>
|
|
45
|
-
)
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
return null
|
|
49
|
-
}
|
|
16
|
+
import renderForward from '#gears/render/forward'
|
|
50
17
|
|
|
51
18
|
export default class Gears extends Component {
|
|
52
19
|
/**
|
|
@@ -57,9 +24,9 @@ export default class Gears extends Component {
|
|
|
57
24
|
/**
|
|
58
25
|
* Store latest 'props' in 'state'
|
|
59
26
|
*
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
27
|
+
* @param {GearsProps} props Latest props
|
|
28
|
+
* @param {GearsState} state Current state
|
|
29
|
+
* @returns {GearsState} Derived state
|
|
63
30
|
*/
|
|
64
31
|
static getDerivedStateFromProps ({ reverse, forward }, { reverse: R, forward: F }) {
|
|
65
32
|
return {
|
|
@@ -71,9 +38,9 @@ export default class Gears extends Component {
|
|
|
71
38
|
/**
|
|
72
39
|
* Compare latest 'props' and 'state' for changes to 'pattern', 'reverse' or 'forward'
|
|
73
40
|
*
|
|
74
|
-
*
|
|
75
|
-
*
|
|
76
|
-
*
|
|
41
|
+
* @param {GearsProps} props Latest props
|
|
42
|
+
* @param {GearsState} state Current state
|
|
43
|
+
* @returns {boolean}
|
|
77
44
|
*/
|
|
78
45
|
shouldComponentUpdate ({ pattern }, state) {
|
|
79
46
|
const {
|
|
@@ -11,7 +11,10 @@ const log = debug('shinkansen-gears/gears/reverse')
|
|
|
11
11
|
log('`shinkansen` is awake')
|
|
12
12
|
|
|
13
13
|
const {
|
|
14
|
-
default:
|
|
14
|
+
default: Reverse // @ts-expect-error
|
|
15
15
|
} = require('./index.jsx')
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
/**
|
|
18
|
+
* Exports only default
|
|
19
|
+
*/
|
|
20
|
+
module.exports = Reverse
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* @typedef {GearsTypes.Reverse.ReverseProps} ReverseProps
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
5
|
import React from 'react'
|
|
@@ -10,8 +10,8 @@ import {
|
|
|
10
10
|
} from 'react-router'
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
|
-
*
|
|
14
|
-
*
|
|
13
|
+
* @param {ReverseProps} props
|
|
14
|
+
* @returns {React.JSX.Element}
|
|
15
15
|
*/
|
|
16
16
|
function Reverse ({ pathname }) {
|
|
17
17
|
const key = pathname.concat('-reverse')
|
package/src/index.cjs
CHANGED
|
@@ -10,12 +10,14 @@ const log = debug('shinkansen-gears')
|
|
|
10
10
|
|
|
11
11
|
log('`shinkansen` is awake')
|
|
12
12
|
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
const Gears = require('./gears/index.cjs')
|
|
14
|
+
const Reverse = require('./gears/reverse/index.cjs')
|
|
15
|
+
const Forward = require('./gears/forward/index.cjs')
|
|
16
|
+
const renderReverse = require('./render/reverse/index.cjs')
|
|
17
|
+
const renderForward = require('./render/forward/index.cjs')
|
|
18
18
|
|
|
19
19
|
module.exports.Gears = Gears
|
|
20
|
+
module.exports.Reverse = Reverse
|
|
21
|
+
module.exports.Forward = Forward
|
|
20
22
|
module.exports.renderReverse = renderReverse
|
|
21
23
|
module.exports.renderForward = renderForward
|
package/src/index.d.cts
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
export {
|
|
2
|
-
default as Gears
|
|
3
|
-
renderReverse,
|
|
4
|
-
renderForward
|
|
2
|
+
default as Gears
|
|
5
3
|
} from '#gears/gears'
|
|
4
|
+
|
|
5
|
+
export {
|
|
6
|
+
default as Reverse
|
|
7
|
+
} from '#gears/gears/reverse'
|
|
8
|
+
|
|
9
|
+
export {
|
|
10
|
+
default as Forward
|
|
11
|
+
} from '#gears/gears/forward'
|
|
12
|
+
|
|
13
|
+
export {
|
|
14
|
+
default as renderReverse
|
|
15
|
+
} from '#gears/render/reverse'
|
|
16
|
+
|
|
17
|
+
export {
|
|
18
|
+
default as renderForward
|
|
19
|
+
} from '#gears/render/forward'
|
package/src/index.d.mts
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
export {
|
|
2
|
-
default as Gears
|
|
3
|
-
renderReverse,
|
|
4
|
-
renderForward
|
|
2
|
+
default as Gears
|
|
5
3
|
} from '#gears/gears'
|
|
4
|
+
|
|
5
|
+
export {
|
|
6
|
+
default as Reverse
|
|
7
|
+
} from '#gears/gears/reverse'
|
|
8
|
+
|
|
9
|
+
export {
|
|
10
|
+
default as Forward
|
|
11
|
+
} from '#gears/gears/forward'
|
|
12
|
+
|
|
13
|
+
export {
|
|
14
|
+
default as renderReverse
|
|
15
|
+
} from '#gears/render/reverse'
|
|
16
|
+
|
|
17
|
+
export {
|
|
18
|
+
default as renderForward
|
|
19
|
+
} from '#gears/render/forward'
|
package/src/index.mjs
CHANGED
|
@@ -1,11 +1,19 @@
|
|
|
1
1
|
import debug from 'debug'
|
|
2
2
|
|
|
3
|
+
import Gears from './gears/index.cjs'
|
|
4
|
+
import Reverse from './gears/reverse/index.cjs'
|
|
5
|
+
import Forward from './gears/forward/index.cjs'
|
|
6
|
+
import renderReverse from './render/reverse/index.cjs'
|
|
7
|
+
import renderForward from './render/forward/index.cjs'
|
|
8
|
+
|
|
3
9
|
const log = debug('shinkansen-gears')
|
|
4
10
|
|
|
5
11
|
log('`shinkansen` is awake')
|
|
6
12
|
|
|
7
13
|
export {
|
|
8
14
|
Gears,
|
|
15
|
+
Reverse,
|
|
16
|
+
Forward,
|
|
9
17
|
renderReverse,
|
|
10
18
|
renderForward
|
|
11
|
-
}
|
|
19
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
require('@babel/register')({
|
|
2
|
+
ignore: [
|
|
3
|
+
/node_modules\/(?!shinkansen|@modernpoacher)/
|
|
4
|
+
]
|
|
5
|
+
})
|
|
6
|
+
|
|
7
|
+
const debug = require('debug')
|
|
8
|
+
|
|
9
|
+
const log = debug('shinkansen-gears/render/forward')
|
|
10
|
+
|
|
11
|
+
log('`shinkansen` is awake')
|
|
12
|
+
|
|
13
|
+
const {
|
|
14
|
+
default: renderForward // @ts-expect-error
|
|
15
|
+
} = require('./index.jsx')
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Exports only default
|
|
19
|
+
*/
|
|
20
|
+
module.exports = renderForward
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '#gears/render/forward'
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
declare module '#gears/render/forward' {
|
|
2
|
+
import type React from 'react'
|
|
3
|
+
|
|
4
|
+
export default function renderForward (forward?: Record<string, unknown>, pattern?: string): React.JSX.Element | null
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
declare module 'shinkansen-gears/render/forward' {
|
|
8
|
+
export { default } from '#gears/render/forward'
|
|
9
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
|
|
3
|
+
import {
|
|
4
|
+
Rails
|
|
5
|
+
} from 'shinkansen-rails'
|
|
6
|
+
|
|
7
|
+
import Forward from '#gears/gears/forward'
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* @type {(forward?: Record<string, unknown>, pattern?: string) => React.JSX.Element | null}
|
|
11
|
+
*/
|
|
12
|
+
export default function renderForward (forward, pattern) {
|
|
13
|
+
if (Rails.go(forward, pattern)) {
|
|
14
|
+
const pathname = Rails.to(forward, pattern)
|
|
15
|
+
|
|
16
|
+
return (
|
|
17
|
+
<Forward
|
|
18
|
+
pathname={pathname}
|
|
19
|
+
/>
|
|
20
|
+
)
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
return null
|
|
24
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
require('@babel/register')({
|
|
2
|
+
ignore: [
|
|
3
|
+
/node_modules\/(?!shinkansen|@modernpoacher)/
|
|
4
|
+
]
|
|
5
|
+
})
|
|
6
|
+
|
|
7
|
+
const debug = require('debug')
|
|
8
|
+
|
|
9
|
+
const log = debug('shinkansen-gears/render')
|
|
10
|
+
|
|
11
|
+
log('`shinkansen` is awake')
|
|
12
|
+
|
|
13
|
+
const renderReverse = require('./reverse/index.cjs')
|
|
14
|
+
const renderForward = require('./forward/index.cjs')
|
|
15
|
+
|
|
16
|
+
module.exports.renderReverse = renderReverse
|
|
17
|
+
module.exports.renderForward = renderForward
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import debug from 'debug'
|
|
2
|
+
|
|
3
|
+
import renderReverse from './reverse/index.cjs'
|
|
4
|
+
import renderForward from './forward/index.cjs'
|
|
5
|
+
|
|
6
|
+
const log = debug('shinkansen-gears/render')
|
|
7
|
+
|
|
8
|
+
log('`shinkansen` is awake')
|
|
9
|
+
|
|
10
|
+
export {
|
|
11
|
+
renderReverse,
|
|
12
|
+
renderForward
|
|
13
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
require('@babel/register')({
|
|
2
|
+
ignore: [
|
|
3
|
+
/node_modules\/(?!shinkansen|@modernpoacher)/
|
|
4
|
+
]
|
|
5
|
+
})
|
|
6
|
+
|
|
7
|
+
const debug = require('debug')
|
|
8
|
+
|
|
9
|
+
const log = debug('shinkansen-gears/render/reverse')
|
|
10
|
+
|
|
11
|
+
log('`shinkansen` is awake')
|
|
12
|
+
|
|
13
|
+
const {
|
|
14
|
+
default: renderReverse // @ts-expect-error
|
|
15
|
+
} = require('./index.jsx')
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Exports only default
|
|
19
|
+
*/
|
|
20
|
+
module.exports = renderReverse
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '#gears/render/reverse'
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
declare module '#gears/render/reverse' {
|
|
2
|
+
import type React from 'react'
|
|
3
|
+
|
|
4
|
+
export default function renderReverse (reverse?: Record<string, unknown>, pattern?: string): React.JSX.Element | null
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
declare module 'shinkansen-gears/render/reverse' {
|
|
8
|
+
export { default } from '#gears/render/reverse'
|
|
9
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
|
|
3
|
+
import {
|
|
4
|
+
Rails
|
|
5
|
+
} from 'shinkansen-rails'
|
|
6
|
+
|
|
7
|
+
import Reverse from '#gears/gears/reverse'
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* @type {(reverse?: Record<string, unknown>, pattern?: string) => React.JSX.Element | null}
|
|
11
|
+
*/
|
|
12
|
+
export default function renderReverse (reverse, pattern) {
|
|
13
|
+
if (Rails.go(reverse, pattern)) {
|
|
14
|
+
const pathname = Rails.to(reverse, pattern)
|
|
15
|
+
|
|
16
|
+
return (
|
|
17
|
+
<Reverse
|
|
18
|
+
pathname={pathname}
|
|
19
|
+
/>
|
|
20
|
+
)
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
return null
|
|
24
|
+
}
|