-
Notifications
You must be signed in to change notification settings - Fork 45
/
Copy pathDockerfile
29 lines (21 loc) · 13.9 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# Stage 1: Builder
FROM node:alpine AS builder
# Install packages
RUN npm install -g --force @angular-eslint/eslint-plugin-template@17.3.0 @angular-eslint/eslint-plugin@17.3.0 @angular-eslint/template-parser@17.3.0 @angular/compiler@17.3.5 @antfu/eslint-config-basic@0.43.1 @antfu/eslint-config-ts@0.43.1 @antfu/eslint-config-vue@0.43.1 @antfu/eslint-config@v0.43.1 @apify/eslint-config@0.4.0 @audentio/eslint-config-standard@2.3.0 @babel/core@7.25.2 @babel/eslint-parser@7.25.1 @babel/eslint-plugin@7.23.5 @babel/generator@7.25.5 @babel/helper-compilation-targets@7.25.2 @babel/plugin-proposal-async-generator-functions@latest @babel/plugin-proposal-class-properties@latest @babel/plugin-proposal-class-static-block@latest @babel/plugin-proposal-decorators@7.24.7 @babel/plugin-proposal-do-expressions@7.24.7 @babel/plugin-proposal-export-default-from@7.24.7 @babel/plugin-proposal-export-namespace-from@latest @babel/plugin-proposal-function-bind@7.24.7 @babel/plugin-proposal-function-sent@7.24.7 @babel/plugin-proposal-json-strings@latest @babel/plugin-proposal-logical-assignment-operators@latest @babel/plugin-proposal-nullish-coalescing-operator@latest @babel/plugin-proposal-numeric-separator@latest @babel/plugin-proposal-object-rest-spread@latest @babel/plugin-proposal-optional-catch-binding@latest @babel/plugin-proposal-optional-chaining@latest @babel/plugin-proposal-partial-application@7.24.7 @babel/plugin-proposal-pipeline-operator@7.24.7 @babel/plugin-proposal-private-methods@latest @babel/plugin-proposal-private-property-in-object@latest @babel/plugin-proposal-throw-expressions@7.24.7 @babel/plugin-proposal-unicode-property-regex@latest @babel/plugin-syntax-dynamic-import@latest @babel/plugin-syntax-import-assertions@latest @babel/plugin-syntax-import-meta@latest @babel/plugin-syntax-jsx@latest @babel/plugin-syntax-top-level-await@latest @babel/plugin-transform-arrow-functions@7.24.7 @babel/plugin-transform-async-to-generator@7.24.7 @babel/plugin-transform-block-scoped-functions@7.24.7 @babel/plugin-transform-block-scoping@7.25.0 @babel/plugin-transform-class-properties@7.25.4 @babel/plugin-transform-classes@7.25.4 @babel/plugin-transform-computed-properties@7.24.7 @babel/plugin-transform-destructuring@7.24.8 @babel/plugin-transform-dotall-regex@7.24.7 @babel/plugin-transform-duplicate-keys@7.24.7 @babel/plugin-transform-exponentiation-operator@7.24.7 @babel/plugin-transform-export-namespace-from@latest @babel/plugin-transform-flow-strip-types@7.25.2 @babel/plugin-transform-for-of@7.24.7 @babel/plugin-transform-function-name@7.25.1 @babel/plugin-transform-instanceof@7.24.7 @babel/plugin-transform-jscript@7.24.7 @babel/plugin-transform-literals@7.25.2 @babel/plugin-transform-logical-assignment-operators@latest @babel/plugin-transform-member-expression-literals@7.24.7 @babel/plugin-transform-modules-amd@7.24.7 @babel/plugin-transform-modules-commonjs@7.24.8 @babel/plugin-transform-modules-systemjs@7.25.0 @babel/plugin-transform-modules-umd@7.24.7 @babel/plugin-transform-named-capturing-groups-regex@7.24.7 @babel/plugin-transform-new-target@7.24.7 @babel/plugin-transform-nullish-coalescing-operator@latest @babel/plugin-transform-numeric-separator@latest @babel/plugin-transform-object-assign@7.24.7 @babel/plugin-transform-object-rest-spread@latest @babel/plugin-transform-object-set-prototype-of-to-assign@7.24.7 @babel/plugin-transform-object-super@7.24.7 @babel/plugin-transform-optional-chaining@7.24.8 @babel/plugin-transform-parameters@7.24.7 @babel/plugin-transform-private-methods@7.25.4 @babel/plugin-transform-private-property-in-object@latest @babel/plugin-transform-property-literals@7.24.7 @babel/plugin-transform-property-mutators@7.24.7 @babel/plugin-transform-proto-to-assign@7.24.7 @babel/plugin-transform-react-constant-elements@7.25.1 @babel/plugin-transform-react-display-name@7.24.7 @babel/plugin-transform-react-inline-elements@7.24.7 @babel/plugin-transform-react-jsx-compat@7.24.7 @babel/plugin-transform-react-jsx-self@7.24.7 @babel/plugin-transform-react-jsx-source@7.24.7 @babel/plugin-transform-react-jsx@7.25.2 @babel/plugin-transform-regenerator@7.24.7 @babel/plugin-transform-reserved-words@7.24.7 @babel/plugin-transform-runtime@7.25.4 @babel/plugin-transform-shorthand-properties@7.24.7 @babel/plugin-transform-spread@7.24.7 @babel/plugin-transform-sticky-regex@7.24.7 @babel/plugin-transform-strict-mode@7.24.7 @babel/plugin-transform-template-literals@7.24.7 @babel/plugin-transform-typeof-symbol@7.24.8 @babel/plugin-transform-typescript@7.25.2 @babel/plugin-transform-unicode-escapes@7.24.7 @babel/plugin-transform-unicode-regex@7.24.7 @babel/preset-env@7.25.4 @babel/preset-flow@7.24.7 @babel/preset-react@7.24.7 @babel/preset-typescript@7.24.7 @br/eslint-plugin-laws-of-the-game@1.5.1 @coffeelint/cli@5.2.11 @emotion/eslint-plugin@11.11.0 @grafana/eslint-config@7.0.0 @graphql-eslint/eslint-plugin@3.20.1 @html-eslint/eslint-plugin@0.26.0 @html-eslint/parser@0.26.0 @ionic/eslint-config@0.4.0 @meteorjs/eslint-config-meteor@1.0.5 @next/eslint-plugin-next@14.2.2 @nrwl/eslint-plugin-nx@18.3.3 @nrwl/next@18.3.3 @nrwl/workspace@18.3.3 @nuxt/eslint-config@0.3.9 @nuxtjs/eslint-config-typescript@12.1.0 @nuxtjs/eslint-config@12.0.0 @nx/eslint-plugin@18.3.3 @nx/next@18.3.3 @nx/workspace@18.3.3 @react-native-community/eslint-config@3.2.0 @react-native-community/eslint-plugin@1.3.0 @react-native/babel-preset@0.75.2 @react-native/eslint-config@0.74.81 @react-native/eslint-plugin@0.74.81 @remix-run/eslint-config@2.9.0 @repath-solutions/eslint-config-commonjs@1.2.1 @repath-solutions/eslint-config-node-typescript@1.1.1 @repath-solutions/eslint-config-react-typescript@1.2.0 @repath-solutions/eslint-config@1.1.1 @repath-solutions/stylelint-config@1.0.2 @storybook/eslint-config-storybook@4.0.0 @storybook/linter-config@4.0.0 @stylistic/eslint-plugin-js@1.7.2 @stylistic/eslint-plugin-jsx@1.7.2 @stylistic/eslint-plugin-plus@1.7.2 @stylistic/eslint-plugin-ts@1.7.2 @stylistic/eslint-plugin@1.7.2 @stylistic/stylelint-plugin@3.0.1 @swc-node/register@1.10.9 @swc/core@1.7.18 @tsparticles/eslint-config@2.3.0 @types/node@20.12.7 @typescript-eslint/eslint-plugin@7.18.0 @typescript-eslint/parser@7.18.0 @typescript-eslint/utils@latest @uncovertruth/stylelint-config@4.4.0 @vue/babel-preset-app@5.0.8 @vue/cli-plugin-babel@5.0.8 @vue/cli-plugin-eslint@5.0.8 @vue/cli-plugin-unit-jest@5.0.8 @vue/cli-service@5.0.8 @vue/eslint-config-airbnb@8.0.0 @vue/eslint-config-prettier@9.0.0 @vue/eslint-config-standard@8.0.1 @vue/eslint-config-typescript@13.0.0 @wordpress/babel-plugin-import-jsx-pragma@5.6.0 @wordpress/eslint-plugin@17.13.0 @wordpress/prettier-config@4.2.0 @wordpress/stylelint-config@22.2.0 astro-eslint-parser@1.0.2 babel-eslint@10.1.0 babel-plugin-dva-hmr@latest babel-plugin-import@latest babel-plugin-module-resolver@latest babel-plugin-styled-components@latest babel-preset-react-app@10.0.1 coffeelint@2.1.0 coffeescript@2.7.0 csslint@1.0.5 cypress-mochawesome-reporter@3.8.2 cypress@13.8.1 eslint-config-airbnb-base@15.0.0 eslint-config-airbnb-typescript@18.0.0 eslint-config-airbnb@19.0.4 eslint-config-alloy@5.1.2 eslint-config-angular@0.5.0 eslint-config-babel@9.0.0 eslint-config-crowdanalyzer@4.0.0 eslint-config-cssnano@3.1.3 eslint-config-enact@4.2.1 eslint-config-es5@0.5.0 eslint-config-google@0.14.0 eslint-config-gulp@5.0.1 eslint-config-happiness@10.2.1 eslint-config-hexo@5.0.0 eslint-config-jquery@3.0.2 eslint-config-loopback@13.1.0 eslint-config-mdcs@5.0.0 eslint-config-next@14.2.2 eslint-config-nodecraft@7.5.0 eslint-config-oclif-typescript@3.1.6 eslint-config-oclif@5.1.3 eslint-config-postcss@4.0.0 eslint-config-preact@latest eslint-config-prettier@9.1.0 eslint-config-rackt@1.1.1 eslint-config-react-app@7.0.1 eslint-config-riot@4.1.2 eslint-config-rokket-labs@0.4.11 eslint-config-semistandard@17.0.0 eslint-config-simplifield@12.0.0 eslint-config-standard-jsx@11.0.0 eslint-config-standard-react@13.0.0 eslint-config-standard-with-typescript@43.0.1 eslint-config-standard@17.1.0 eslint-config-standart@0.2.0 eslint-config-taro@4.0.5 eslint-config-tesseract@0.3.0 eslint-config-universe@12.0.1 eslint-config-vue@2.0.2 eslint-config-vuetify@1.0.0 eslint-config-wesbos@4.0.1 eslint-config-xo-react@0.27.0 eslint-config-xo-space@0.35.0 eslint-config-xo@0.44.0 eslint-formatter-json@8.40.0 eslint-import-resolver-typescript@3.6.1 eslint-mdx@3.1.5 eslint-plugin-angular@4.1.0 eslint-plugin-antfu@2.1.2 eslint-plugin-astro@1.2.3 eslint-plugin-async-await@0.0.0 eslint-plugin-ava@14.0.0 eslint-plugin-babel@5.3.1 eslint-plugin-better-styled-components@1.1.2 eslint-plugin-chai-friendly@0.7.4 eslint-plugin-class-property@1.1.0 eslint-plugin-codeceptjs@1.3.0 eslint-plugin-compat@4.2.0 eslint-plugin-css-modules@2.12.0 eslint-plugin-cypress@3.0.0 eslint-plugin-deprecation@2.0.0 eslint-plugin-ember@12.0.2 eslint-plugin-enact@1.0.8 eslint-plugin-es@4.1.0 eslint-plugin-eslint-comments@3.2.0 eslint-plugin-filenames-simple@0.9.0 eslint-plugin-filenames@1.3.2 eslint-plugin-flow-vars@0.5.0 eslint-plugin-flowtype@8.0.3 eslint-plugin-formatjs@4.13.0 eslint-plugin-ft-flow@3.0.7 eslint-plugin-functional@6.5.1 eslint-plugin-github@4.10.2 eslint-plugin-graphql@4.0.0 eslint-plugin-header@3.1.1 eslint-plugin-html@8.1.1 eslint-plugin-i18n-text@1.0.1 eslint-plugin-import-helpers@1.3.1 eslint-plugin-import@2.29.1 eslint-plugin-jasmine@4.1.3 eslint-plugin-jest-dom@5.4.0 eslint-plugin-jest-formatting@3.1.0 eslint-plugin-jest@28.2.0 eslint-plugin-jsdoc@47.0.1 eslint-plugin-json@3.1.0 eslint-plugin-jsonc@2.15.1 eslint-plugin-jsx-a11y@6.8.0 eslint-plugin-jsx-expressions@1.3.2 eslint-plugin-lit@1.11.0 eslint-plugin-lodash@7.4.0 eslint-plugin-markdown@3.0.1 eslint-plugin-mdx@3.1.5 eslint-plugin-meteor@7.3.0 eslint-plugin-mocha@10.4.3 eslint-plugin-module-resolver@1.5.0 eslint-plugin-mongodb@1.0.0 eslint-plugin-monorepo@0.3.2 eslint-plugin-more@1.0.5 eslint-plugin-n@17.3.0 eslint-plugin-no-explicit-type-exports@0.12.1 eslint-plugin-no-loops@0.3.0 eslint-plugin-no-null@1.0.2 eslint-plugin-no-only-tests@3.1.0 eslint-plugin-no-relative-import-paths@1.5.5 eslint-plugin-no-secrets@0.9.1 eslint-plugin-no-unsanitized@4.0.2 eslint-plugin-no-use-extend-native@0.5.0 eslint-plugin-node@11.1.0 eslint-plugin-nodeca@1.0.3 eslint-plugin-nuxt@4.0.0 eslint-plugin-only-ascii@0.0.0 eslint-plugin-only-warn@1.1.0 eslint-plugin-optimize-regex@1.2.1 eslint-plugin-perfectionist@3.2.0 eslint-plugin-playwright@1.6.0 eslint-plugin-prefer-arrow@1.2.3 eslint-plugin-prefer-object-spread@1.2.1 eslint-plugin-prettier-vue@5.0.0 eslint-plugin-prettier@5.1.3 eslint-plugin-promise@6.1.1 eslint-plugin-qunit@8.1.1 eslint-plugin-qwik@1.8.0 eslint-plugin-react-hooks@4.6.0 eslint-plugin-react-native@4.1.0 eslint-plugin-react-refresh@0.4.6 eslint-plugin-react@7.34.1 eslint-plugin-redux-saga@1.3.2 eslint-plugin-requirejs@4.0.1 eslint-plugin-rxjs-angular@2.0.1 eslint-plugin-rxjs@5.0.3 eslint-plugin-security-node@1.1.4 eslint-plugin-security@3.0.0 eslint-plugin-simple-import-sort@12.1.0 eslint-plugin-sonarjs@0.25.1 eslint-plugin-sort-class-members@1.20.0 eslint-plugin-sort-destructure-keys@2.0.0 eslint-plugin-sort-imports-es6-autofix@0.6.0 eslint-plugin-sort-keys-fix@1.1.2 eslint-plugin-standard@5.0.0 eslint-plugin-storybook@0.8.0 eslint-plugin-svelte@2.38.0 eslint-plugin-svelte3@4.0.0 eslint-plugin-tailwindcss@3.15.1 eslint-plugin-testing-library@6.2.2 eslint-plugin-tsdoc@0.2.17 eslint-plugin-typescript-sort-keys@3.2.0 eslint-plugin-unicorn@52.0.0 eslint-plugin-unused-imports@3.1.0 eslint-plugin-vue@9.25.0 eslint-plugin-vuejs-accessibility@2.3.0 eslint-plugin-vuetify@2.4.0 eslint-plugin-wdio@8.37.0 eslint-plugin-webdriverio@1.0.1 eslint-plugin-workspaces@0.10.0 eslint-plugin-xss@0.1.12 eslint-plugin-yml@1.14.0 eslint@8.57.0 @eslint/js@8.57.0 espree@10.1.0 esprima@4.0.1 esutils@2.0.3 graphql@16.8.1 hermes-eslint@0.20.1 js-yaml@4.1.0 json5@2.2.2 jsonc-eslint-parser@2.4.0 lodash@4.17.21 metro-react-native-babel-preset@latest natural-compare@1.4.0 next@14.2.2 postcss-html@1.7.0 postcss-less@6.0.0 postcss-sass@0.5.0 postcss-scss@4.0.9 postcss-syntax@0.36.2 postcss@8.4.41 prettier-airbnb-config@1.0.0 prettier@3.2.5 react-native-dotenv@3.4.11 react-native-reanimated@3.15.0 redux-saga@1.3.0 stylelint-a11y@1.2.3 stylelint-codeguide@2.0.0 stylelint-color-format@1.1.0 stylelint-config-airbnb@0.0.0 stylelint-config-audentio@1.0.2 stylelint-config-css-modules@4.4.0 stylelint-config-html@1.1.0 stylelint-config-prestashop@latest stylelint-config-prettier-scss@latest stylelint-config-prettier@9.0.5 stylelint-config-property-sort-order-smacss@10.0.0 stylelint-config-rational-order@0.1.2 stylelint-config-recess-order@5.1.0 stylelint-config-recommended-scss@14.1.0 stylelint-config-recommended-vue@1.5.0 stylelint-config-recommended@14.0.1 stylelint-config-sass-guidelines@12.0.0 stylelint-config-standard-scss@13.1.0 stylelint-config-standard@36.0.1 stylelint-config-styled-components@0.1.1 stylelint-config-twbs-bootstrap@14.2.0 stylelint-config-uclaradio@1.0.7 stylelint-config-wikimedia@0.17.2 stylelint-config-wordpress@17.0.0 stylelint-csstree-validator@3.0.0 stylelint-declaration-block-no-ignored-properties@2.8.0 stylelint-declaration-strict-value@1.10.6 stylelint-declaration-use-variable@1.7.3 stylelint-high-performance-animation@1.10.0 stylelint-no-browser-hacks@1.3.0 stylelint-no-unsupported-browser-features@8.0.1 stylelint-order@6.0.4 stylelint-prettier@5.0.2 stylelint-processor-styled-components@1.10.0 stylelint-scss@6.5.1 stylelint-selector-bem-pattern@4.0.0 stylelint-config-tailwindcss@0.0.7 stylelint@16.9.0 sugarss@4.0.1 svelte-eslint-parser@0.35.0 svelte@4.2.15 tailwindcss@3.4.3 typescript@5.5.4 vue-eslint-parser@9.4.2 vue-template-compiler@2.7.16 vue@3.4.24 vuetify@3.5.17
# Copy modified files
COPY cf-node-package-mods-v2 /usr/local/lib/node_modules
# Stage 2: Final image
FROM node:alpine
# Copy the global npm packages and binaries from the builder stage
COPY --from=builder /usr/local /usr/local
# Set the working directory
WORKDIR /app
# Create an entrypoint script with explicit /bin/sh path
COPY <<'EOF' /entrypoint.sh
#!/bin/sh
ln -sf /usr/local/lib/node_modules /app/node_modules
exec "$@"
EOF
RUN chmod +x /entrypoint.sh
ENTRYPOINT ["/bin/sh", "/entrypoint.sh"]
CMD ["eslint", "."]