shinkansen-gears 1.2.15 → 1.3.0
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 +28 -10
- 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.0",
|
|
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": {
|
|
@@ -54,32 +56,35 @@
|
|
|
54
56
|
"@babel/preset-react": "^7.26.3",
|
|
55
57
|
"@babel/register": "^7.25.9",
|
|
56
58
|
"@modernpoacher/design-system": "1.1.31",
|
|
57
|
-
"@sequencemedia/eslint-config-standard": "^0.2.
|
|
58
|
-
"@sequencemedia/eslint-config-typescript": "^0.1.
|
|
59
|
+
"@sequencemedia/eslint-config-standard": "^0.2.41",
|
|
60
|
+
"@sequencemedia/eslint-config-typescript": "^0.1.57",
|
|
59
61
|
"@storybook/addon-actions": "7.6.20",
|
|
60
62
|
"@storybook/addon-essentials": "7.6.20",
|
|
61
63
|
"@storybook/addon-links": "7.6.20",
|
|
62
64
|
"@storybook/react": "7.6.20",
|
|
63
65
|
"@storybook/react-webpack5": "7.6.20",
|
|
64
66
|
"@types/babel__register": "^7.17.3",
|
|
67
|
+
"@types/chai": "^5.0.1",
|
|
65
68
|
"@types/debug": "^4.1.12",
|
|
66
69
|
"@types/jest": "^29.5.14",
|
|
70
|
+
"@types/mocha": "^10.0.10",
|
|
67
71
|
"@types/react": "18.3.13",
|
|
68
72
|
"@types/react-test-renderer": "^19.0.0",
|
|
69
73
|
"@typescript-eslint/eslint-plugin": "^8.26.0",
|
|
70
74
|
"@typescript-eslint/parser": "^8.26.0",
|
|
71
75
|
"autoprefixer": "^10.4.20",
|
|
76
|
+
"chai": "^5.2.0",
|
|
72
77
|
"clean-webpack-plugin": "^4.0.0",
|
|
73
78
|
"core-js": "^3.41.0",
|
|
74
79
|
"cross-env": "^7.0.3",
|
|
75
80
|
"eslint": "^9.21.0",
|
|
76
|
-
"eslint-import-resolver-babel-module": "^5.3.2",
|
|
77
81
|
"eslint-plugin-react": "^7.37.4",
|
|
78
82
|
"eslint-plugin-storybook": "^0.11.4",
|
|
79
83
|
"globals": "^16.0.0",
|
|
80
84
|
"husky": "^9.1.7",
|
|
81
85
|
"jest": "^29.7.0",
|
|
82
86
|
"mini-css-extract-plugin": "^2.9.2",
|
|
87
|
+
"mocha": "^11.1.0",
|
|
83
88
|
"perfectionist": "^2.4.0",
|
|
84
89
|
"postcss": "^8.5.3",
|
|
85
90
|
"postcss-discard-comments": "^7.0.3",
|
|
@@ -90,18 +95,18 @@
|
|
|
90
95
|
"prop-types": "^15.8.1",
|
|
91
96
|
"react": "18.3.1",
|
|
92
97
|
"react-dom": "18.3.1",
|
|
93
|
-
"react-router": "^7.
|
|
98
|
+
"react-router": "^7.3.0",
|
|
94
99
|
"react-test-renderer": "18.3.1",
|
|
95
100
|
"remove-files-webpack-plugin": "^1.5.0",
|
|
96
101
|
"sass": "^1.85.1",
|
|
97
102
|
"sass-loader": "^16.0.5",
|
|
98
|
-
"shinkansen-rails": "1.0
|
|
103
|
+
"shinkansen-rails": "1.1.0",
|
|
99
104
|
"storybook": "7.6.20",
|
|
100
105
|
"webpack": "^5.98.0",
|
|
101
106
|
"webpack-cli": "^6.0.1"
|
|
102
107
|
},
|
|
103
108
|
"peerDependencies": {
|
|
104
|
-
"shinkansen-rails": "1.
|
|
109
|
+
"shinkansen-rails": "1.1.x"
|
|
105
110
|
},
|
|
106
111
|
"imports": {
|
|
107
112
|
"#build/paths": "./build/paths.mjs",
|
|
@@ -112,7 +117,13 @@
|
|
|
112
117
|
"#gears/gears": "./src/gears/index.cjs",
|
|
113
118
|
"#gears/gears/*": "./src/gears/*/index.cjs",
|
|
114
119
|
"#gears/gears/forward": "./src/gears/forward/index.cjs",
|
|
115
|
-
"#gears/gears/reverse": "./src/gears/reverse/index.cjs"
|
|
120
|
+
"#gears/gears/reverse": "./src/gears/reverse/index.cjs",
|
|
121
|
+
"#gears/render": {
|
|
122
|
+
"require": "./src/render/index.cjs",
|
|
123
|
+
"import": "./src/render/index.mjs"
|
|
124
|
+
},
|
|
125
|
+
"#gears/render/forward": "./src/render/forward/index.cjs",
|
|
126
|
+
"#gears/render/reverse": "./src/render/reverse/index.cjs"
|
|
116
127
|
},
|
|
117
128
|
"exports": {
|
|
118
129
|
".": {
|
|
@@ -120,7 +131,14 @@
|
|
|
120
131
|
"import": "./src/index.mjs"
|
|
121
132
|
},
|
|
122
133
|
"./gears": "./src/gears/index.cjs",
|
|
134
|
+
"./gears/*": "./src/gears/*/index.cjs",
|
|
123
135
|
"./gears/forward": "./src/gears/forward/index.cjs",
|
|
124
|
-
"./gears/reverse": "./src/gears/reverse/index.cjs"
|
|
136
|
+
"./gears/reverse": "./src/gears/reverse/index.cjs",
|
|
137
|
+
"./render": {
|
|
138
|
+
"require": "./src/render/index.cjs",
|
|
139
|
+
"import": "./src/render/index.mjs"
|
|
140
|
+
},
|
|
141
|
+
"./render/forward": "./src/render/forward/index.cjs",
|
|
142
|
+
"./render/reverse": "./src/render/reverse/index.cjs"
|
|
125
143
|
}
|
|
126
144
|
}
|
|
@@ -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
|
+
}
|