[chore] Add js lint step (#35)

Reviewed-on: https://codeberg.org/superseriousbusiness/masto-fe-standalone/pulls/35
Co-authored-by: tobi <tobi.smethurst@protonmail.com>
Co-committed-by: tobi <tobi.smethurst@protonmail.com>
This commit is contained in:
tobi
2025-04-26 09:18:46 +00:00
committed by tobi
parent 370a666d27
commit 6920d0b8a2
14 changed files with 29 additions and 1566 deletions

23
.woodpecker/lint.yaml Normal file
View File

@@ -0,0 +1,23 @@
steps:
lint:
image: node:22-alpine
pull: true
# https://woodpecker-ci.org/docs/usage/volumes
volumes:
- /woodpecker/masto-fe-standalone/node_modules:/woodpecker/src/codeberg.org/superseriousbusiness/masto-fe-standalone/node_modules
- /woodpecker/masto-fe-standalone/.eslintcache:/woodpecker/src/codeberg.org/superseriousbusiness/masto-fe-standalone/.eslintcache
# https://woodpecker-ci.org/docs/administration/configuration/backends/docker#run-user
backend_options:
docker:
user: 1000:1000
# https://woodpecker-ci.org/docs/usage/workflow-syntax#commands
commands:
- yarn
- yarn lint:js
# https://woodpecker-ci.org/docs/usage/workflow-syntax#when---conditional-execution
when:
- event: pull_request

View File

@@ -20,7 +20,7 @@ COPY \
RUN yarn && yarn build:production
### RUNTIME IMAGE ###
FROM nginx:1.27.3-alpine AS runtime
FROM nginx:1.28.0-alpine AS runtime
# Copy bigger nested stuff.
COPY --from=builder /build/public/packs/js/flavours/glitch /usr/share/nginx/html/packs/js/flavours/glitch

View File

@@ -1,9 +1,5 @@
import { debounce } from 'lodash';
import api from '../api';
import { showAlertForError } from './alerts';
export const SETTING_CHANGE = 'SETTING_CHANGE';
export const SETTING_SAVE = 'SETTING_SAVE';

View File

@@ -53,7 +53,7 @@ const authorizationHeaderFromState = getState => {
/**
* @param {() => import('immutable').Map<string,any>} getState
* @returns string
* @returns {string}
*/
const baseUrlFromState = getState => {
const baseUrl = getState && getState().getIn(['meta', 'base_url'], '');
@@ -61,7 +61,7 @@ const baseUrlFromState = getState => {
};
/**
* @param {() => import('immutable').Map} getState
* @param {() => import('immutable').Map<string,any>} getState
* @returns {import('axios').AxiosInstance}
*/
export default function api(getState) {

View File

@@ -4,8 +4,6 @@ import React from 'react';
import { createBrowserHistory } from 'history';
import { Router as OriginalRouter } from 'react-router';
import { layoutFromWindow } from 'flavours/glitch/is_mobile';
interface MastodonLocationState {
fromMastodon?: boolean;
mastodonModalKey?: string;

View File

@@ -5,8 +5,6 @@ import { defineMessages, injectIntl } from 'react-intl';
import ImmutablePropTypes from 'react-immutable-proptypes';
import { preferencesLink, profileLink } from 'flavours/glitch/utils/backend_links';
import DropdownMenuContainer from '../../../containers/dropdown_menu_container';
const messages = defineMessages({

View File

@@ -1,13 +1,11 @@
import PropTypes from 'prop-types';
import { FormattedMessage } from 'react-intl';
import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { Avatar } from 'flavours/glitch/components/avatar';
import Permalink from 'flavours/glitch/components/permalink';
import { profileLink } from 'flavours/glitch/utils/backend_links';
// eslint-disable-next-line import/no-restricted-paths
import initialState from 'mastodon/initial_state';
import ActionBar from './action_bar';

View File

@@ -5,7 +5,7 @@ import { FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
import { me } from 'flavours/glitch/initial_state';
import { profileLink, privacyPolicyLink } from 'flavours/glitch/utils/backend_links';
import { privacyPolicyLink } from 'flavours/glitch/utils/backend_links';
import { HASHTAG_PATTERN_REGEX } from 'flavours/glitch/utils/hashtags';
import Warning from '../components/warning';

View File

@@ -24,7 +24,6 @@ import StatusListContainer from '../ui/containers/status_list_container';
import { ColumnSettings } from './components/column_settings';
import { CriticalUpdateBanner } from './components/critical_update_banner';
import { ExplorePrompt } from './components/explore_prompt';
const messages = defineMessages({
title: { id: 'column.home', defaultMessage: 'Home' },
@@ -167,7 +166,7 @@ class HomeTimeline extends PureComponent {
};
render () {
const { intl, hasUnread, columnId, multiColumn, tooSlow, hasAnnouncements, unreadAnnouncements, showAnnouncements } = this.props;
const { intl, hasUnread, columnId, multiColumn, hasAnnouncements, unreadAnnouncements, showAnnouncements } = this.props;
const pinned = !!columnId;
const { signedIn } = this.context.identity;
const banners = [];

View File

@@ -4,9 +4,6 @@ import { PureComponent } from 'react';
import { injectIntl, defineMessages } from 'react-intl';
// Our imports
import { preferencesLink } from 'flavours/glitch/utils/backend_links';
import LocalSettingsNavigationItem from './item';
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

View File

@@ -9,7 +9,6 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
// Our imports
import { expandSpoilers } from 'flavours/glitch/initial_state';
import { preferenceLink } from 'flavours/glitch/utils/backend_links';
import DeprecatedLocalSettingsPageItem from './deprecated_item';
import LocalSettingsPageItem from './item';

View File

@@ -8,7 +8,6 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import Button from 'flavours/glitch/components/button';
import { Icon } from 'flavours/glitch/components/icon';
import illustration from 'flavours/glitch/images/logo_warn_glitch.svg';
import { preferenceLink } from 'flavours/glitch/utils/backend_links';
const messages = defineMessages({
discardChanges: { id: 'confirmations.deprecated_settings.confirm', defaultMessage: 'Use Mastodon preferences' },

View File

@@ -6,7 +6,6 @@ import { defineMessages, injectIntl } from 'react-intl';
import NavigationPortal from 'flavours/glitch/components/navigation_portal';
import { timelinePreview, trendsEnabled } from 'flavours/glitch/initial_state';
import { transientSingleColumn } from 'flavours/glitch/is_mobile';
import { preferencesLink } from 'flavours/glitch/utils/backend_links';
import ColumnLink from './column_link';
import DisabledAccountBanner from './disabled_account_banner';

File diff suppressed because it is too large Load Diff