mirror of
https://github.com/verdaccio/verdaccio.git
synced 2025-02-10 23:39:31 -05:00
fix: 🐛 several api don't accept scope package
This commit is contained in:
parent
1ffd4d7c5f
commit
f983fa3860
4 changed files with 19 additions and 10 deletions
|
@ -73,7 +73,7 @@ module.exports = function(config, auth, storage) {
|
||||||
});
|
});
|
||||||
|
|
||||||
// Get package readme
|
// Get package readme
|
||||||
route.get('/package/readme(/@:scope?)?/:package/:version?', can('access'), function(req, res, next) {
|
route.get('/package/readme/(@:scope/)?:package/:version?', can('access'), function(req, res, next) {
|
||||||
let packageName = req.params.package;
|
let packageName = req.params.package;
|
||||||
if (req.params.scope) {
|
if (req.params.scope) {
|
||||||
packageName = `@${req.params.scope}/${packageName}`;
|
packageName = `@${req.params.scope}/${packageName}`;
|
||||||
|
@ -147,9 +147,14 @@ module.exports = function(config, auth, storage) {
|
||||||
res.redirect(base);
|
res.redirect(base);
|
||||||
});
|
});
|
||||||
|
|
||||||
route.get('/sidebar(/@:scope?)?/:package', function(req, res, next) {
|
route.get('/sidebar/(@:scope/)?:package', function(req, res, next) {
|
||||||
|
let packageName = req.params.package;
|
||||||
|
if (req.params.scope) {
|
||||||
|
packageName = `@${req.params.scope}/${packageName}`;
|
||||||
|
}
|
||||||
|
|
||||||
storage.get_package({
|
storage.get_package({
|
||||||
name: req.params.package,
|
name: packageName,
|
||||||
keepUpLinkData: true,
|
keepUpLinkData: true,
|
||||||
req,
|
req,
|
||||||
callback: function(err, info) {
|
callback: function(err, info) {
|
||||||
|
|
|
@ -7,7 +7,6 @@ import Readme from '../Readme';
|
||||||
import classes from './packageDetail.scss';
|
import classes from './packageDetail.scss';
|
||||||
|
|
||||||
const PackageDetail = (props) => {
|
const PackageDetail = (props) => {
|
||||||
|
|
||||||
const displayState = (readMe) => {
|
const displayState = (readMe) => {
|
||||||
if (isNil(readMe)) {
|
if (isNil(readMe)) {
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -22,9 +22,14 @@ export default class Detail extends React.Component {
|
||||||
notFound: false,
|
notFound: false,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
get packageName() {
|
||||||
|
let params = this.props.match.params;
|
||||||
|
return `${(params.scope && '@' + params.scope + '/') || ''}${params.package}`;
|
||||||
|
}
|
||||||
|
|
||||||
async componentDidMount() {
|
async componentDidMount() {
|
||||||
try {
|
try {
|
||||||
const resp = await API.get(`package/readme/${this.props.match.params.package}`);
|
const resp = await API.get(`package/readme/${this.packageName}`);
|
||||||
this.setState({
|
this.setState({
|
||||||
readMe: resp.data
|
readMe: resp.data
|
||||||
});
|
});
|
||||||
|
@ -37,15 +42,14 @@ export default class Detail extends React.Component {
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
if (this.state.notFound) {
|
if (this.state.notFound) {
|
||||||
return <NotFound
|
return <NotFound pkg={this.packageName}/>;
|
||||||
pkg={this.props.match.params.package}/>;
|
|
||||||
} else if (isEmpty(this.state.readMe)) {
|
} else if (isEmpty(this.state.readMe)) {
|
||||||
return <Loading text={loadingMessage} />;
|
return <Loading text={loadingMessage} />;
|
||||||
}
|
}
|
||||||
return (
|
return (
|
||||||
<div className={classes.twoColumn}>
|
<div className={classes.twoColumn}>
|
||||||
<PackageDetail readMe={this.state.readMe} package={this.props.match.params.package}/>
|
<PackageDetail readMe={this.state.readMe} package={this.packageName}/>
|
||||||
<PackageSidebar packageName={this.props.match.params.package} />
|
<PackageSidebar packageName={this.packageName} />
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,7 +13,8 @@ const RouterApp = () => {
|
||||||
<div className="container">
|
<div className="container">
|
||||||
<Switch>
|
<Switch>
|
||||||
<Route exact path="/(search/:keyword)?" component={ Home } />
|
<Route exact path="/(search/:keyword)?" component={ Home } />
|
||||||
<Route path="/detail/:package*" component={Detail} />
|
<Route exact path="/detail/@:scope/:package" component={Detail} />
|
||||||
|
<Route exact path="/detail/:package" component={Detail} />
|
||||||
</Switch>
|
</Switch>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Add table
Reference in a new issue