Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

475 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Olmo

Codacy Badge

Monorepo for the whole Olmo Kit, offical documentation at olmokit.github.io/olmokit

Contribute

Develop locally

Clone this repo locally and install dependencies running

pnpm i

This will automatically run the postinstall script which builds and globally link all packages. In this way we ensure dependencies of each package are installed within the correct pnpm link structure. From then on you can simply run pnpm start to start compiling a package in watch mode. You will be prompt to pick a single package to watch.

Now in your test project bootstrapped with @olmokit/create-app you can run pnpm olmo link to use the globally linked packages from your machine.

Develop the docs locally at localhost:3000/olmokit running

pnpm docs

Publish packages

First commit and push your local work. Then, never manually bump package versions, just run form the terminal:

pnpm dev publish

Dev notes

  • Switch between php versions on linux sudo update-alternatives --set php /usr/bin/php (then press tab for autocomlete options).

TODO:

  • preview: via URL param only applied to the base controller of each Laravel Route
  • maybe implement JamieMason/syncpack for this monorepo

FIXME: Migration notes

Projects migration guide
  • Fillform deprecation:
    • in .scss files find and replace "FF-" with "OF-"
Import paths from libs
// from
import { getQueryParams } from "@acanto/core/helpers";
// to
import { getUrlQueryParams } from "@olmokit/utils";

import { changeUrlParams } from "@acanto/core/helpers";
import { navigateToMergedParams } from "@olmokit/browser";

import { removeUrlParam } from "@acanto/core/helpers";
import { navigateWithoutUrlParam } from "@olmokit/browser";

import { removeDuplicatesByKey } from "@acanto/core/helpers";
import { removeDuplicatesByKey } from "@olmokit/utils";

import { debounce } from "@acanto/core/helpers";
import { debounce } from "@olmokit/utils";

import { transitionBarbaCurtain } from "@acanto/core/transitions";
import { transitionsBarbaCurtain } from "@acanto/core/transitions";

import { $$ } from "@acanto/core/dom";
import { $all } from "@olmokit/dom";
// also replace the usages of the $$ function

import { initSwiper } from "@acanto/core/swiper";
import { swiperInit } from "@olmokit/core/swiper";

import { navigation } from "@acanto/core/swiper";
import { swiperNavigationOptions } from "@olmokit/core/swiper";

import { IMG_EMPTY_PLACEHOLDER } from "@acanto/core/img";
import { imgEmptyPixel } from "@olmokit/utils";

import { getCookie } from "@acanto/core/cookies";
import { readCookie } from "@olmokit/utils";

import { setCookie } from "@acanto/core/cookies";
import { setCookie } from "@olmokit/utils";

import { deleteCookie } from "@acanto/core/cookies";
import { removeCookie } from "@olmokit/utils";
GSAP custom version

That seem not needed anymore, it is better to install it specifically in the project that needs it, before we had for npm in the project's package.json the resolutions data, added now is what would need pnpm instead:

  resolutions": {
    "gsap": "file:src/vendor/gsap-bonus.tgz"
  },
  "pnpm": {
    "overrides": {
      "gsap": "file:src/vendor/gsap-bonus.tgz"
    }
  },

Note that today you can also use the natively supported overrides in the package.json file. It is better to deprecate all this, also update the related doc file and probably remove the vendor folder from the laravel template, or just keep it empty?.

Manteinance

Outdated packages

$ pnpm i
 WARN  deprecated rollup-plugin-terser@7.0.2: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser
 WARN  deprecated sourcemap-codec@1.4.8: Please use @jridgewell/sourcemap-codec instead

$ pnpm why stable@0.1.8
dependencies:
svg-sprite 2.0.2
└─┬ svgo 2.8.0
└── stable 0.1.8

$ pnpm why rollup-plugin-terser@7.0.2
dependencies:
workbox-webpack-plugin 7.0.0
└─┬ workbox-build 7.0.0
└── rollup-plugin-terser 7.0.2

$ pnpm why sourcemap-codec@1.4.8
dependencies:
workbox-webpack-plugin 7.0.0
└─┬ workbox-build 7.0.0
├─┬ @rollup/plugin-replace 2.4.2
│ └─┬ magic-string 0.25.9
│ └── sourcemap-codec 1.4.8
└─┬ @surma/rollup-plugin-off-main-thread 2.2.3
└─┬ magic-string 0.25.9
└── sourcemap-codec 1.4.8

Using in package.json:

  "pnpm": {
    "overrides": {
      "rollup-plugin-terser": "@rollup/plugin-terser@0.4.3",
    }
  }

does not work, workbox-webpack-plugin complains, follow the related issue

About

Monorepo for the whole Olmo Kit ecosystem

Resources

Stars

0 stars

Watchers

3 watching

Forks

Releases

Used by

Contributors

Languages