
Research
NPM targeted by malware campaign mimicking familiar library names
Socket uncovered npm malware campaign mimicking popular Node.js libraries and packages from other ecosystems; packages steal data and execute remote code.
nuxtjs-drupal-ce
Advanced tools
[![npm version][npm-version-src]][npm-version-href] [![npm downloads][npm-downloads-src]][npm-downloads-href] [](https://github.com/drunomics/nuxtjs-drupal-c
Connects Nuxt v3 with Drupal via the Lupus Custom Elements Renderer
Please refer to https://www.drupal.org/project/lupus_decoupled for more info.
The 2.x version of the module is compatible with Nuxt 3. For a Nuxt 2 compatible version, please checkout the 1.x version
nuxtjs-drupal-ce
dependency to your Nuxt projectyarn add nuxtjs-drupal-ce@beta # or npm install nuxtjs-drupal-ce@beta
nuxtjs-drupal-ce
to the modules
section of nuxt.config.js
export default defineNuxtConfig({
modules: [
'nuxtjs-drupal-ce',
],
drupalCe: {
drupalBaseUrl: 'https://your-drupal.example.com',
// more options...
}
})
The module defaults work well with Lupus Decoupled Drupal - in that case setting the
drupalBaseUrl
is enough to get started.
rm -f app.vue && npx nuxt-drupal-ce-init
drupalBaseUrl
: The Drupal base URL, e.g. https://example.com:8080
. Required.
serverDrupalBaseUrl
: Optionally, an alternative drupal base URL to apply in server context.
ceApiEndpoint
: The custom elements API endpoint. Defaults to /ce-api
.
fetchOptions
: The default fetchOptions
to apply when fetching from the Drupal. Defaults to { credentials: 'include' }
.
fetchProxyHeaders
: The HTTP request headers to pass through to Drupal, via useRequestHeaders. Defaults to ['cookie']
.
menuEndpoint
: The menu endpoint pattern used for fetching menus. Defaults to 'api/menu_items/$$$NAME$$$' as fitting
to the API provided by the Rest menu items Drupal module.
$$$NAME$$$
is replaced by the menu name being fetched.
menuBaseUrl
: The menu base URL. Defaults to drupalBaseUrl + ceApiEndpoint.
addRequestContentFormat
: If specified, the given value is added as _content_format
URL parameter to requests. Disabled by default.
addRequestFormat
: If set to true
, the _format=custom_elements
URL parameter
is added automatically to requests. Defaults to false
.
customErrorPages
: By default, error pages provided by Drupal (e.g. 403, 404 page) are shown,
while keeping the right status code. By enabling customErrorPages, the regular Nuxt error
pages are shown instead, such that the pages can be customized with Nuxt. Defaults to false
.
useLocalizedMenuEndpoint
: If enabled, the menu endpoint will use a language prefix as configured by nuxtjs/i18n module. Defaults to true
.
exposeAPIRouteRules
: If enabled, the module will create a Nitro server handler that proxies API requests to Drupal backend. Defaults to true
for SSR (it's disabled for SSG).
passThroughHeaders
: Response headers to pass through from Drupal to the client. Defaults to ['cache-control', 'content-language', 'set-cookie', 'x-drupal-cache', 'x-drupal-dynamic-cache']. Note: This is only available in SSR mode.
Runtime config values can be overridden with environment variables via NUXT_PUBLIC_
prefix. Supported runtime overrides:
drupalBaseUrl
-> NUXT_PUBLIC_DRUPAL_CE_DRUPAL_BASE_URL
serverDrupalBaseUrl
-> NUXT_PUBLIC_DRUPAL_CE_SERVER_DRUPAL_BASE_URL
menuBaseUrl
-> NUXT_PUBLIC_DRUPAL_CE_MENU_BASE_URL
ceApiEndpoint
-> NUXT_PUBLIC_DRUPAL_CE_CE_API_ENDPOINT
The following options are deprecated and only there for improved backwards compatibility.
baseURL
: The base URL of the Drupal /ce-api endpoint, e.g. http://localhost:8888/ce-api.
If set, drupalBaseUrl
is set with the origin of the provided URL.The module provides a default error handler for the fetchPage
and fetchMenu
methods:
fetchPage
: Throws an error with the status code and message provided by Drupal.fetchMenu
: Logs an error message to the console and displays a message in the frontend.You have the option to override the default error handlers by using a parameter when calling the fetch
methods.
fetchPage
:
<script lang="ts" setup>
const { fetchPage } = useDrupalCe()
function customPageError (error: Record<string, any>) {
throw createError({ statusCode: error.value.statusCode, statusMessage: 'No access.', data: {}, fatal: true })
}
const page = await fetchPage(useRoute().path, { query: useRoute().query }, customPageError)
</script>
fetchMenu
:
<script lang="ts" setup>
const { fetchMenu } = useDrupalCe()
const { getMessages } = useDrupalCe()
const messages = getMessages()
function customMenuError (error: Record<string, any>) {
messages.value.push({
type: 'error',
message: `Menu error: Unavailable. ${error.value.statusCode}`
})
}
const mainMenu = await fetchMenu('main', {}, customMenuError)
</script>
Note: The error
parameter is optional and can be omitted.
The following options were support in 1.x but got dropped:
addVueCompiler
: This is necessary if you want to render custom elements markup on runtime;
i.e. use the 'markup' content format. If you need this, you may find a solution in this
GitHub issue.
axios
: Options to pass-through to the drupal-ce
axios instance. Use fetchOptions
instead.
npm install
.npm run dev:prepare
to generate type stubs.npm run dev
to start playground in development mode.https://8080-shaal-drupalpod-8m3z0ms7mb6.ws-eu67.gitpod.io/ce-api
https://8080-shaal-drupalpod-8m3z0ms7mb6.ws-eu67.gitpod.io/ce-api
Development sponsored by drunomics hello@drunomics.com
FAQs
[![npm version][npm-version-src]][npm-version-href] [![npm downloads][npm-downloads-src]][npm-downloads-href] [](https://github.com/drunomics/nuxtjs-drupal-c
The npm package nuxtjs-drupal-ce receives a total of 301 weekly downloads. As such, nuxtjs-drupal-ce popularity was classified as not popular.
We found that nuxtjs-drupal-ce demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 4 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Socket uncovered npm malware campaign mimicking popular Node.js libraries and packages from other ecosystems; packages steal data and execute remote code.
Research
Socket's research uncovers three dangerous Go modules that contain obfuscated disk-wiping malware, threatening complete data loss.
Research
Socket uncovers malicious packages on PyPI using Gmail's SMTP protocol for command and control (C2) to exfiltrate data and execute commands.