[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:
23
.woodpecker/lint.yaml
Normal file
23
.woodpecker/lint.yaml
Normal 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
|
||||||
@@ -20,7 +20,7 @@ COPY \
|
|||||||
RUN yarn && yarn build:production
|
RUN yarn && yarn build:production
|
||||||
|
|
||||||
### RUNTIME IMAGE ###
|
### RUNTIME IMAGE ###
|
||||||
FROM nginx:1.27.3-alpine AS runtime
|
FROM nginx:1.28.0-alpine AS runtime
|
||||||
|
|
||||||
# Copy bigger nested stuff.
|
# Copy bigger nested stuff.
|
||||||
COPY --from=builder /build/public/packs/js/flavours/glitch /usr/share/nginx/html/packs/js/flavours/glitch
|
COPY --from=builder /build/public/packs/js/flavours/glitch /usr/share/nginx/html/packs/js/flavours/glitch
|
||||||
|
|||||||
@@ -1,9 +1,5 @@
|
|||||||
import { debounce } from 'lodash';
|
import { debounce } from 'lodash';
|
||||||
|
|
||||||
import api from '../api';
|
|
||||||
|
|
||||||
import { showAlertForError } from './alerts';
|
|
||||||
|
|
||||||
export const SETTING_CHANGE = 'SETTING_CHANGE';
|
export const SETTING_CHANGE = 'SETTING_CHANGE';
|
||||||
export const SETTING_SAVE = 'SETTING_SAVE';
|
export const SETTING_SAVE = 'SETTING_SAVE';
|
||||||
|
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ const authorizationHeaderFromState = getState => {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {() => import('immutable').Map<string,any>} getState
|
* @param {() => import('immutable').Map<string,any>} getState
|
||||||
* @returns string
|
* @returns {string}
|
||||||
*/
|
*/
|
||||||
const baseUrlFromState = getState => {
|
const baseUrlFromState = getState => {
|
||||||
const baseUrl = getState && getState().getIn(['meta', 'base_url'], '');
|
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}
|
* @returns {import('axios').AxiosInstance}
|
||||||
*/
|
*/
|
||||||
export default function api(getState) {
|
export default function api(getState) {
|
||||||
|
|||||||
@@ -4,8 +4,6 @@ import React from 'react';
|
|||||||
import { createBrowserHistory } from 'history';
|
import { createBrowserHistory } from 'history';
|
||||||
import { Router as OriginalRouter } from 'react-router';
|
import { Router as OriginalRouter } from 'react-router';
|
||||||
|
|
||||||
import { layoutFromWindow } from 'flavours/glitch/is_mobile';
|
|
||||||
|
|
||||||
interface MastodonLocationState {
|
interface MastodonLocationState {
|
||||||
fromMastodon?: boolean;
|
fromMastodon?: boolean;
|
||||||
mastodonModalKey?: string;
|
mastodonModalKey?: string;
|
||||||
|
|||||||
@@ -5,8 +5,6 @@ import { defineMessages, injectIntl } from 'react-intl';
|
|||||||
|
|
||||||
import ImmutablePropTypes from 'react-immutable-proptypes';
|
import ImmutablePropTypes from 'react-immutable-proptypes';
|
||||||
|
|
||||||
import { preferencesLink, profileLink } from 'flavours/glitch/utils/backend_links';
|
|
||||||
|
|
||||||
import DropdownMenuContainer from '../../../containers/dropdown_menu_container';
|
import DropdownMenuContainer from '../../../containers/dropdown_menu_container';
|
||||||
|
|
||||||
const messages = defineMessages({
|
const messages = defineMessages({
|
||||||
|
|||||||
@@ -1,13 +1,11 @@
|
|||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
import { FormattedMessage } from 'react-intl';
|
|
||||||
|
|
||||||
import ImmutablePropTypes from 'react-immutable-proptypes';
|
import ImmutablePropTypes from 'react-immutable-proptypes';
|
||||||
import ImmutablePureComponent from 'react-immutable-pure-component';
|
import ImmutablePureComponent from 'react-immutable-pure-component';
|
||||||
|
|
||||||
import { Avatar } from 'flavours/glitch/components/avatar';
|
import { Avatar } from 'flavours/glitch/components/avatar';
|
||||||
import Permalink from 'flavours/glitch/components/permalink';
|
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 initialState from 'mastodon/initial_state';
|
||||||
|
|
||||||
import ActionBar from './action_bar';
|
import ActionBar from './action_bar';
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import { FormattedMessage } from 'react-intl';
|
|||||||
import { connect } from 'react-redux';
|
import { connect } from 'react-redux';
|
||||||
|
|
||||||
import { me } from 'flavours/glitch/initial_state';
|
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 { HASHTAG_PATTERN_REGEX } from 'flavours/glitch/utils/hashtags';
|
||||||
|
|
||||||
import Warning from '../components/warning';
|
import Warning from '../components/warning';
|
||||||
|
|||||||
@@ -24,7 +24,6 @@ import StatusListContainer from '../ui/containers/status_list_container';
|
|||||||
|
|
||||||
import { ColumnSettings } from './components/column_settings';
|
import { ColumnSettings } from './components/column_settings';
|
||||||
import { CriticalUpdateBanner } from './components/critical_update_banner';
|
import { CriticalUpdateBanner } from './components/critical_update_banner';
|
||||||
import { ExplorePrompt } from './components/explore_prompt';
|
|
||||||
|
|
||||||
const messages = defineMessages({
|
const messages = defineMessages({
|
||||||
title: { id: 'column.home', defaultMessage: 'Home' },
|
title: { id: 'column.home', defaultMessage: 'Home' },
|
||||||
@@ -167,7 +166,7 @@ class HomeTimeline extends PureComponent {
|
|||||||
};
|
};
|
||||||
|
|
||||||
render () {
|
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 pinned = !!columnId;
|
||||||
const { signedIn } = this.context.identity;
|
const { signedIn } = this.context.identity;
|
||||||
const banners = [];
|
const banners = [];
|
||||||
|
|||||||
@@ -4,9 +4,6 @@ import { PureComponent } from 'react';
|
|||||||
|
|
||||||
import { injectIntl, defineMessages } from 'react-intl';
|
import { injectIntl, defineMessages } from 'react-intl';
|
||||||
|
|
||||||
// Our imports
|
|
||||||
import { preferencesLink } from 'flavours/glitch/utils/backend_links';
|
|
||||||
|
|
||||||
import LocalSettingsNavigationItem from './item';
|
import LocalSettingsNavigationItem from './item';
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||||
|
|||||||
@@ -9,7 +9,6 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
|
|||||||
|
|
||||||
// Our imports
|
// Our imports
|
||||||
import { expandSpoilers } from 'flavours/glitch/initial_state';
|
import { expandSpoilers } from 'flavours/glitch/initial_state';
|
||||||
import { preferenceLink } from 'flavours/glitch/utils/backend_links';
|
|
||||||
|
|
||||||
import DeprecatedLocalSettingsPageItem from './deprecated_item';
|
import DeprecatedLocalSettingsPageItem from './deprecated_item';
|
||||||
import LocalSettingsPageItem from './item';
|
import LocalSettingsPageItem from './item';
|
||||||
|
|||||||
@@ -8,7 +8,6 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
|
|||||||
import Button from 'flavours/glitch/components/button';
|
import Button from 'flavours/glitch/components/button';
|
||||||
import { Icon } from 'flavours/glitch/components/icon';
|
import { Icon } from 'flavours/glitch/components/icon';
|
||||||
import illustration from 'flavours/glitch/images/logo_warn_glitch.svg';
|
import illustration from 'flavours/glitch/images/logo_warn_glitch.svg';
|
||||||
import { preferenceLink } from 'flavours/glitch/utils/backend_links';
|
|
||||||
|
|
||||||
const messages = defineMessages({
|
const messages = defineMessages({
|
||||||
discardChanges: { id: 'confirmations.deprecated_settings.confirm', defaultMessage: 'Use Mastodon preferences' },
|
discardChanges: { id: 'confirmations.deprecated_settings.confirm', defaultMessage: 'Use Mastodon preferences' },
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ import { defineMessages, injectIntl } from 'react-intl';
|
|||||||
import NavigationPortal from 'flavours/glitch/components/navigation_portal';
|
import NavigationPortal from 'flavours/glitch/components/navigation_portal';
|
||||||
import { timelinePreview, trendsEnabled } from 'flavours/glitch/initial_state';
|
import { timelinePreview, trendsEnabled } from 'flavours/glitch/initial_state';
|
||||||
import { transientSingleColumn } from 'flavours/glitch/is_mobile';
|
import { transientSingleColumn } from 'flavours/glitch/is_mobile';
|
||||||
import { preferencesLink } from 'flavours/glitch/utils/backend_links';
|
|
||||||
|
|
||||||
import ColumnLink from './column_link';
|
import ColumnLink from './column_link';
|
||||||
import DisabledAccountBanner from './disabled_account_banner';
|
import DisabledAccountBanner from './disabled_account_banner';
|
||||||
|
|||||||
1543
streaming/index.js
1543
streaming/index.js
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user