![Oracle Drags Its Feet in the JavaScript Trademark Dispute](https://cdn.sanity.io/images/cgdhsj6q/production/919c3b22c24f93884c548d60cbb338e819ff2435-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Oracle Drags Its Feet in the JavaScript Trademark Dispute
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
@dfds-platform/tracking
Advanced tools
npm install @dfds-platform/tracking
yarn add @dfds-platform/tracking
When using the Tracking Package client side, tracking events are being dispatched to the dataLayer which is where Google Tag Manager picks up events. You have to setup Google Tag Manager to pick up evnets automatically from the dataLayer. You can follow these instructions. Alternatively, you can use an existing package to set up GTM. For example you can use this plugin in a Gatsby applicaiton. **GTM-WZLN3V4**
is the Google Tag Manager ID you should use in both development and production.
You can track events multiple ways:
Use the general tracking function track<Event>( {event: 'eventName' ...payload })
⚠️ THIS METHOD IS BEING DEPRECATED Use the old server tracking functions found within ./src/server/tracking-methods/events
see this
New events should be created by the following method:
DataContract.json
with the downloaded .json
yarn run compile:schema
within packages/tracking
This will update the general tracking function to accept the new event.
The data contract is a JSON schema which represents all the events that is accepted. The goal is that no tracking event should ever be instantiated within DFDS which is not defined within this schema. The schema is compiled into a TypeScript function type signature. This can be done by running:
yarn run compile:schema # within packages/tracking
This type contract is only being, and should only be, used by the general tracking function in this repository.
The general tracking function is responsible for two tasks:
In the future all events will be dispatched to Kafka as well.
Every library consuming the tracking package should have eslint-plugin-deprecation installed such that deprecated events will be shown as follows:
track<
Event
>({ event: 'fizz' })
The strikethrough will be accompanied with a message on when the event will be obsolete and how change it to complie with a new version of the event, if any.
yarn link
It can be handy to use developing functionality in the context of an existing app. yarn link
can be used in that case.
If you are using webpack
you can try setting resolve.symlinks
to false
in your webpack.config.js
to only resolve
dependencies from the apps node_modules
folder.
Gatsby uses webpack under the hood, so in order to set resolve.symlinks
add the following to the gatsby-node.js
file
exports.onCreateWebpackConfig = ({ getConfig, actions, stage }) => {
const config = getConfig()
config.resolve.symlinks = false
actions.replaceWebpackConfig(config)
}
cd ./packages/tracking # Navigate to the packages/tracking folder
yarn run build # Run build which will create a dist folder
yarn run watch # Run watch to watch for changes and re-build
cd ./dist # Navigate into the dist folder
yarn link # Run `yarn link`
You are now ready to use the linked package from within you app while developing. Change to you app source folder, where the package.json
file is located, and use the linked version of the @dfds-platform/tracking
package
yarn link @dfds-platform/tracking
This should always be done the GitHub repositories release page. Create a release here and an automized pipeline will do the rest for you.
See docs for testing tracking here
FAQs
DFDS Tracking
We found that @dfds-platform/tracking demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 3 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.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.