mirror of
https://github.com/verdaccio/verdaccio.git
synced 2025-01-27 22:59:51 -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
|
||||
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;
|
||||
if (req.params.scope) {
|
||||
packageName = `@${req.params.scope}/${packageName}`;
|
||||
|
@ -147,9 +147,14 @@ module.exports = function(config, auth, storage) {
|
|||
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({
|
||||
name: req.params.package,
|
||||
name: packageName,
|
||||
keepUpLinkData: true,
|
||||
req,
|
||||
callback: function(err, info) {
|
||||
|
|
|
@ -7,7 +7,6 @@ import Readme from '../Readme';
|
|||
import classes from './packageDetail.scss';
|
||||
|
||||
const PackageDetail = (props) => {
|
||||
|
||||
const displayState = (readMe) => {
|
||||
if (isNil(readMe)) {
|
||||
return;
|
||||
|
|
|
@ -22,9 +22,14 @@ export default class Detail extends React.Component {
|
|||
notFound: false,
|
||||
};
|
||||
|
||||
get packageName() {
|
||||
let params = this.props.match.params;
|
||||
return `${(params.scope && '@' + params.scope + '/') || ''}${params.package}`;
|
||||
}
|
||||
|
||||
async componentDidMount() {
|
||||
try {
|
||||
const resp = await API.get(`package/readme/${this.props.match.params.package}`);
|
||||
const resp = await API.get(`package/readme/${this.packageName}`);
|
||||
this.setState({
|
||||
readMe: resp.data
|
||||
});
|
||||
|
@ -37,15 +42,14 @@ export default class Detail extends React.Component {
|
|||
|
||||
render() {
|
||||
if (this.state.notFound) {
|
||||
return <NotFound
|
||||
pkg={this.props.match.params.package}/>;
|
||||
return <NotFound pkg={this.packageName}/>;
|
||||
} else if (isEmpty(this.state.readMe)) {
|
||||
return <Loading text={loadingMessage} />;
|
||||
}
|
||||
return (
|
||||
<div className={classes.twoColumn}>
|
||||
<PackageDetail readMe={this.state.readMe} package={this.props.match.params.package}/>
|
||||
<PackageSidebar packageName={this.props.match.params.package} />
|
||||
<PackageDetail readMe={this.state.readMe} package={this.packageName}/>
|
||||
<PackageSidebar packageName={this.packageName} />
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
|
|
@ -13,7 +13,8 @@ const RouterApp = () => {
|
|||
<div className="container">
|
||||
<Switch>
|
||||
<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>
|
||||
</div>
|
||||
</div>
|
||||
|
|
Loading…
Add table
Reference in a new issue