From 8fbb3bffecb6055f33965a5a34751a8377e0bbb0 Mon Sep 17 00:00:00 2001 From: Josemar Luedke Date: Fri, 28 Jul 2023 19:24:07 -0700 Subject: [PATCH] feat: Move core addon to v2 and add Glint --- .eslintrc.js | 1 + .github/workflows/ci.yml | 2 + .gitignore | 1 + package.json | 1 + packages/core/.ember-cli | 9 - packages/core/.watchmanconfig | 3 - packages/core/addon-main.js | 4 + packages/core/app/components/close-button.js | 1 - packages/core/app/components/collapsible.js | 1 - .../core/app/components/visually-hidden.js | 1 - .../core/app/helpers/use-frontile-class.js | 4 - packages/core/app/utils/safe-styles.js | 1 - packages/core/babel.config.json | 8 + packages/core/config/ember-try.js | 3 - packages/core/config/environment.js | 5 - packages/core/ember-cli-build.js | 17 -- packages/core/index.js | 10 - packages/core/package.json | 111 +++++--- packages/core/rollup.config.mjs | 60 +++++ .../components/close-button.hbs | 0 .../{addon => src}/components/close-button.md | 0 .../{addon => src}/components/close-button.ts | 13 + .../{addon => src}/components/collapsible.md | 0 .../collapsible/demo/initial-height.md | 0 .../components/collapsible/demo/simple.md | 0 .../components/collapsible/index.hbs | 0 .../components/collapsible/index.ts | 5 +- .../components/visually-hidden.hbs | 0 .../components/visually-hidden.md | 0 .../components/visually-hidden.ts | 3 + .../helpers/use-frontile-class.ts | 18 +- packages/core/src/template-registry.ts | 9 + .../core/{addon => src}/utils/safe-styles.ts | 0 packages/core/testem.js | 1 - packages/core/tests/dummy/app/app.js | 12 - .../tests/dummy/app/config/environment.d.ts | 16 -- packages/core/tests/dummy/app/index.html | 25 -- packages/core/tests/dummy/app/router.js | 11 - packages/core/tests/dummy/app/styles/app.css | 0 .../core/tests/dummy/config/environment.js | 51 ---- .../tests/dummy/config/optional-features.json | 6 - packages/core/tests/dummy/config/targets.js | 11 - packages/core/tests/dummy/public/robots.txt | 3 - packages/core/tests/index.html | 40 --- packages/core/tests/test-helper.ts | 13 - packages/core/tsconfig.json | 28 +- packages/core/types/dummy/index.d.ts | 0 packages/core/types/global.d.ts | 6 - packages/core/types/index.d.ts | 1 - .../unpublished-development-types/index.d.ts | 15 ++ packages/forms/package.json | 1 + yarn.lock | 244 +++++++++++++++++- 52 files changed, 449 insertions(+), 326 deletions(-) delete mode 100644 packages/core/.ember-cli delete mode 100644 packages/core/.watchmanconfig create mode 100644 packages/core/addon-main.js delete mode 100644 packages/core/app/components/close-button.js delete mode 100644 packages/core/app/components/collapsible.js delete mode 100644 packages/core/app/components/visually-hidden.js delete mode 100644 packages/core/app/helpers/use-frontile-class.js delete mode 100644 packages/core/app/utils/safe-styles.js create mode 100644 packages/core/babel.config.json delete mode 100644 packages/core/config/ember-try.js delete mode 100644 packages/core/config/environment.js delete mode 100644 packages/core/ember-cli-build.js delete mode 100644 packages/core/index.js create mode 100644 packages/core/rollup.config.mjs rename packages/core/{addon => src}/components/close-button.hbs (100%) rename packages/core/{addon => src}/components/close-button.md (100%) rename packages/core/{addon => src}/components/close-button.ts (75%) rename packages/core/{addon => src}/components/collapsible.md (100%) rename packages/core/{addon => src}/components/collapsible/demo/initial-height.md (100%) rename packages/core/{addon => src}/components/collapsible/demo/simple.md (100%) rename packages/core/{addon => src}/components/collapsible/index.hbs (100%) rename packages/core/{addon => src}/components/collapsible/index.ts (97%) rename packages/core/{addon => src}/components/visually-hidden.hbs (100%) rename packages/core/{addon => src}/components/visually-hidden.md (100%) rename packages/core/{addon => src}/components/visually-hidden.ts (85%) rename packages/core/{addon => src}/helpers/use-frontile-class.ts (64%) create mode 100644 packages/core/src/template-registry.ts rename packages/core/{addon => src}/utils/safe-styles.ts (100%) delete mode 100644 packages/core/testem.js delete mode 100644 packages/core/tests/dummy/app/app.js delete mode 100644 packages/core/tests/dummy/app/config/environment.d.ts delete mode 100644 packages/core/tests/dummy/app/index.html delete mode 100644 packages/core/tests/dummy/app/router.js delete mode 100644 packages/core/tests/dummy/app/styles/app.css delete mode 100644 packages/core/tests/dummy/config/environment.js delete mode 100644 packages/core/tests/dummy/config/optional-features.json delete mode 100644 packages/core/tests/dummy/config/targets.js delete mode 100644 packages/core/tests/dummy/public/robots.txt delete mode 100644 packages/core/tests/index.html delete mode 100644 packages/core/tests/test-helper.ts delete mode 100644 packages/core/types/dummy/index.d.ts delete mode 100644 packages/core/types/global.d.ts delete mode 100644 packages/core/types/index.d.ts create mode 100644 packages/core/unpublished-development-types/index.d.ts diff --git a/.eslintrc.js b/.eslintrc.js index cbc7007f..d4f86d5f 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -28,6 +28,7 @@ module.exports = { '.template-lintrc.js', 'testem.js', 'config/**/*.js', + 'packages/*/addon-main.js', 'packages/*/.ember-cli.js', 'packages/*/ember-cli-build.js', 'packages/*/index.js', diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6d974a8b..79491e87 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -27,6 +27,8 @@ jobs: run: yarn lint:js - name: Lint HBS run: yarn lint:hbs + - name: Build V2 Addons + run: yarn workspace @frontile/core run build - name: Test run: yarn test diff --git a/.gitignore b/.gitignore index fe86b583..93fef701 100644 --- a/.gitignore +++ b/.gitignore @@ -9,6 +9,7 @@ /node_modules/ /packages/**/node_modules/ /packages/**/dist/ +/packages/**/declarations/ /site/dist/ /site/node_modules/ /site/lib/**/node_modules/ diff --git a/package.json b/package.json index 2017ae3c..6b936e5b 100644 --- a/package.json +++ b/package.json @@ -8,6 +8,7 @@ "test-app" ], "scripts": { + "build": "yarn workspaces run build", "lint:hbs": "ember-template-lint .", "lint:js": "eslint . --ext .js,.ts", "start": "yarn workspace site start", diff --git a/packages/core/.ember-cli b/packages/core/.ember-cli deleted file mode 100644 index ee64cfed..00000000 --- a/packages/core/.ember-cli +++ /dev/null @@ -1,9 +0,0 @@ -{ - /** - Ember CLI sends analytics information by default. The data is completely - anonymous, but there are times when you might want to disable this behavior. - - Setting `disableAnalytics` to true will prevent any data from being sent. - */ - "disableAnalytics": false -} diff --git a/packages/core/.watchmanconfig b/packages/core/.watchmanconfig deleted file mode 100644 index e7834e3e..00000000 --- a/packages/core/.watchmanconfig +++ /dev/null @@ -1,3 +0,0 @@ -{ - "ignore_dirs": ["tmp", "dist"] -} diff --git a/packages/core/addon-main.js b/packages/core/addon-main.js new file mode 100644 index 00000000..f868d6b9 --- /dev/null +++ b/packages/core/addon-main.js @@ -0,0 +1,4 @@ +'use strict'; + +const { addonV1Shim } = require('@embroider/addon-shim'); +module.exports = addonV1Shim(__dirname); diff --git a/packages/core/app/components/close-button.js b/packages/core/app/components/close-button.js deleted file mode 100644 index cb8d87a8..00000000 --- a/packages/core/app/components/close-button.js +++ /dev/null @@ -1 +0,0 @@ -export { default } from '@frontile/core/components/close-button'; diff --git a/packages/core/app/components/collapsible.js b/packages/core/app/components/collapsible.js deleted file mode 100644 index e8fae23d..00000000 --- a/packages/core/app/components/collapsible.js +++ /dev/null @@ -1 +0,0 @@ -export { default } from '@frontile/core/components/collapsible'; diff --git a/packages/core/app/components/visually-hidden.js b/packages/core/app/components/visually-hidden.js deleted file mode 100644 index 8f2f899d..00000000 --- a/packages/core/app/components/visually-hidden.js +++ /dev/null @@ -1 +0,0 @@ -export { default } from '@frontile/core/components/visually-hidden'; diff --git a/packages/core/app/helpers/use-frontile-class.js b/packages/core/app/helpers/use-frontile-class.js deleted file mode 100644 index ff051ac5..00000000 --- a/packages/core/app/helpers/use-frontile-class.js +++ /dev/null @@ -1,4 +0,0 @@ -export { - default, - useFrontileClass -} from '@frontile/core/helpers/use-frontile-class'; diff --git a/packages/core/app/utils/safe-styles.js b/packages/core/app/utils/safe-styles.js deleted file mode 100644 index 26b3f0d0..00000000 --- a/packages/core/app/utils/safe-styles.js +++ /dev/null @@ -1 +0,0 @@ -export { default } from '@frontile/core/utils/safe-styles'; diff --git a/packages/core/babel.config.json b/packages/core/babel.config.json new file mode 100644 index 00000000..739f8261 --- /dev/null +++ b/packages/core/babel.config.json @@ -0,0 +1,8 @@ +{ + "presets": [["@babel/preset-typescript"]], + "plugins": [ + "@embroider/addon-dev/template-colocation-plugin", + ["@babel/plugin-proposal-decorators", { "legacy": true }], + "@babel/plugin-proposal-class-properties" + ] +} diff --git a/packages/core/config/ember-try.js b/packages/core/config/ember-try.js deleted file mode 100644 index 64b9f3d5..00000000 --- a/packages/core/config/ember-try.js +++ /dev/null @@ -1,3 +0,0 @@ -'use strict'; - -module.exports = require('../../../config/ember-try'); diff --git a/packages/core/config/environment.js b/packages/core/config/environment.js deleted file mode 100644 index 331ab30d..00000000 --- a/packages/core/config/environment.js +++ /dev/null @@ -1,5 +0,0 @@ -'use strict'; - -module.exports = function (/* environment, appConfig */) { - return {}; -}; diff --git a/packages/core/ember-cli-build.js b/packages/core/ember-cli-build.js deleted file mode 100644 index 529fc008..00000000 --- a/packages/core/ember-cli-build.js +++ /dev/null @@ -1,17 +0,0 @@ -'use strict'; - -const EmberAddon = require('ember-cli/lib/broccoli/ember-addon'); - -module.exports = function (defaults) { - const app = new EmberAddon(defaults, {}); - - /* - This build file specifies the options for the dummy test app of this - addon, located in `/tests/dummy` - This build file does *not* influence how the addon or the app using it - behave. You most likely want to be modifying `./index.js` or app's build file - */ - - const { maybeEmbroider } = require('@embroider/test-setup'); - return maybeEmbroider(app); -}; diff --git a/packages/core/index.js b/packages/core/index.js deleted file mode 100644 index 3dbfe3b0..00000000 --- a/packages/core/index.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -module.exports = { - name: require('./package').name, - included(...args) { - this._super.included.apply(this, args); - - this.import('node_modules/focus-visible/dist/focus-visible.js'); - } -}; diff --git a/packages/core/package.json b/packages/core/package.json index 88f1a568..f5fdda62 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -13,16 +13,28 @@ "doc": "doc", "test": "tests" }, + "files": [ + "addon-main.js", + "declarations", + "dist", + "tailwind" + ], "scripts": { - "build": "ember build", - "lint:hbs": "ember-template-lint .", - "lint:js": "eslint .", - "start": "ember serve", - "test": "ember test", - "test:all": "ember try:each", - "try:one": "ember try:one", - "prepack": "ember ts:precompile", - "postpack": "ember ts:clean" + "build": "concurrently 'npm:build:*'", + "build:js": "rollup --config", + "build:types": "glint --declaration", + "lint": "concurrently 'npm:lint:*(!fix)' --names 'lint:'", + "lint:fix": "concurrently 'npm:lint:*:fix' --names 'fix:'", + "lint:hbs": "ember-template-lint . --no-error-on-unmatched-pattern", + "lint:js": "eslint . --cache", + "lint:hbs:fix": "ember-template-lint . --fix --no-error-on-unmatched-pattern", + "lint:js:fix": "eslint . --fix", + "lint:types": "glint", + "start": "concurrently 'npm:start:*'", + "start:js": "rollup --config --watch --no-watch.clearScreen", + "start:types": "glint -d --watch", + "test": "echo 'A v2 addon does not have tests, run tests in test-app'", + "prepack": "concurrently 'npm:build'" }, "peerDependencies": { "ember-source": "^4.0.0 || ^5.0.0" @@ -30,43 +42,27 @@ "dependencies": { "@ember/render-modifiers": "^2.1.0", "@ember/test-waiters": "^3.0.2", + "@embroider/addon-shim": "^1.8.6", "@frontile/tailwindcss-plugin-helpers": "^0.15.0", - "ember-cli-babel": "^7.26.11", - "ember-cli-htmlbars": "^6.2.0", - "ember-cli-typescript": "^5.2.1", + "ember-auto-import": "^2.6.3", "focus-visible": "^5.2.0" }, "devDependencies": { - "@babel/core": "^7.22.9", - "@ember/edition-utils": "^1.2.0", - "@ember/optional-features": "^2.0.0", - "@ember/test-helpers": "^3.2.0", - "@embroider/test-setup": "^3.0.1", - "@glimmer/component": "^1.1.2", - "@types/ember-qunit": "^6.1.1", - "@types/ember-resolver": "^9.0.0", - "@types/htmlbars-inline-precompile": "^3.0.0", - "@types/qunit": "^2.19.6", - "@types/rsvp": "^4.0.4", - "broccoli-asset-rev": "^3.0.0", - "ember-auto-import": "^2.6.3", - "ember-cli": "^5.1.0", - "ember-cli-dependency-checker": "^3.3.2", - "ember-cli-inject-live-reload": "^2.1.0", - "ember-cli-typescript-blueprints": "^3.0.0", - "ember-cli-uglify": "^3.0.0", - "ember-disable-prototype-extensions": "^1.1.3", - "ember-load-initializers": "^2.1.2", - "ember-qunit": "^7.0.0", - "ember-resolver": "^11.0.0", + "@babel/core": "7.22.9", + "@babel/plugin-proposal-class-properties": "7.18.6", + "@babel/plugin-proposal-decorators": "7.22.7", + "@babel/preset-typescript": "7.22.5", + "@embroider/addon-dev": "3.2.0", + "@glint/core": "1.0.2", + "@glint/environment-ember-loose": "1.0.2", + "@glint/template": "1.0.2", + "@rollup/plugin-babel": "6.0.3", + "@tsconfig/ember": "^3.0.0", + "concurrently": "^8.2.0", "ember-source": "^5.1.2", - "ember-try": "^2.0.0", - "loader.js": "^4.7.0", - "qunit": "^2.19.4", - "qunit-dom": "^2.0.0", + "rollup": "^3.27.0", "tailwindcss": "^3.3.3", - "typescript": "^5.1.6", - "webpack": "^5.88.2" + "typescript": "^5.1.6" }, "engines": { "node": ">= 10.*" @@ -78,6 +74,39 @@ "edition": "octane" }, "ember-addon": { - "configPath": "tests/dummy/config" + "version": 2, + "type": "addon", + "main": "addon-main.js", + "app-js": { + "./components/close-button.js": "./dist/_app_/components/close-button.js", + "./components/collapsible/index.js": "./dist/_app_/components/collapsible/index.js", + "./components/visually-hidden.js": "./dist/_app_/components/visually-hidden.js", + "./helpers/use-frontile-class.js": "./dist/_app_/helpers/use-frontile-class.js", + "./utils/safe-styles.js": "./dist/_app_/utils/safe-styles.js" + } + }, + "exports": { + ".": { + "types": "./declarations/index.d.ts", + "default": "./dist/index.js" + }, + "./*": { + "types": "./declarations/*.d.ts", + "default": "./dist/*.js" + }, + "./addon-main.js": "./addon-main.js", + "./tailwind": { + "default": "./tailwind/index.js" + }, + "./tailwind/*": { + "default": "./tailwind/*.js" + } + }, + "typesVersions": { + "*": { + "*": [ + "declarations/*" + ] + } } } diff --git a/packages/core/rollup.config.mjs b/packages/core/rollup.config.mjs new file mode 100644 index 00000000..ba9554cc --- /dev/null +++ b/packages/core/rollup.config.mjs @@ -0,0 +1,60 @@ +import { babel } from '@rollup/plugin-babel'; +import { Addon } from '@embroider/addon-dev/rollup'; + +const addon = new Addon({ + srcDir: 'src', + destDir: 'dist', +}); + +// Add extensions here, such as ts, gjs, etc that you may import +const extensions = ['.js', '.ts']; + +export default { + // This provides defaults that work well alongside `publicEntrypoints` below. + // You can augment this if you need to. + output: addon.output(), + + plugins: [ + // These are the modules that users should be able to import from your + // addon. Anything not listed here may get optimized away. + addon.publicEntrypoints([ + 'components/**/*.js', + 'helpers/**/*.js', + 'utils/**/*.js', + 'template-registry.js', + ]), + + // These are the modules that should get reexported into the traditional + // "app" tree. Things in here should also be in publicEntrypoints above, but + // not everything in publicEntrypoints necessarily needs to go here. + addon.appReexports([ + 'components/**/*.js', + 'helpers/**/*.js', + 'utils/**/*.js', + ]), + + // Follow the V2 Addon rules about dependencies. Your code can import from + // `dependencies` and `peerDependencies` as well as standard Ember-provided + // package names. + addon.dependencies(), + + // This babel config should *not* apply presets or compile away ES modules. + // It exists only to provide development niceties for you, like automatic + // template colocation. + // See `babel.config.json` for the actual Babel configuration! + babel({ + extensions, + babelHelpers: 'bundled', + }), + + // Ensure that standalone .hbs files are properly integrated as Javascript. + addon.hbs(), + + // addons are allowed to contain imports of .css files, which we want rollup + // to leave alone and keep in the published output. + addon.keepAssets(['**/*.css']), + + // Remove leftover build artifacts when starting a new build. + addon.clean(), + ], +}; diff --git a/packages/core/addon/components/close-button.hbs b/packages/core/src/components/close-button.hbs similarity index 100% rename from packages/core/addon/components/close-button.hbs rename to packages/core/src/components/close-button.hbs diff --git a/packages/core/addon/components/close-button.md b/packages/core/src/components/close-button.md similarity index 100% rename from packages/core/addon/components/close-button.md rename to packages/core/src/components/close-button.md diff --git a/packages/core/addon/components/close-button.ts b/packages/core/src/components/close-button.ts similarity index 75% rename from packages/core/addon/components/close-button.ts rename to packages/core/src/components/close-button.ts index 05cc1595..4f350b79 100644 --- a/packages/core/addon/components/close-button.ts +++ b/packages/core/src/components/close-button.ts @@ -1,7 +1,15 @@ import Component from '@glimmer/component'; import { action } from '@ember/object'; +import 'focus-visible/dist/focus-visible.js'; export interface CloseButtonArgs { + /** + * The title of the close button + * + * @defaultValue 'Close' + */ + title?: string; + /** * The icon size * @@ -13,6 +21,11 @@ export interface CloseButtonArgs { * The function to call when button is clicked */ onClick?: (event: Event) => void; + + /** + * Additional class for close button element + */ + class?: string; } export interface CloseButtonSignature { diff --git a/packages/core/addon/components/collapsible.md b/packages/core/src/components/collapsible.md similarity index 100% rename from packages/core/addon/components/collapsible.md rename to packages/core/src/components/collapsible.md diff --git a/packages/core/addon/components/collapsible/demo/initial-height.md b/packages/core/src/components/collapsible/demo/initial-height.md similarity index 100% rename from packages/core/addon/components/collapsible/demo/initial-height.md rename to packages/core/src/components/collapsible/demo/initial-height.md diff --git a/packages/core/addon/components/collapsible/demo/simple.md b/packages/core/src/components/collapsible/demo/simple.md similarity index 100% rename from packages/core/addon/components/collapsible/demo/simple.md rename to packages/core/src/components/collapsible/demo/simple.md diff --git a/packages/core/addon/components/collapsible/index.hbs b/packages/core/src/components/collapsible/index.hbs similarity index 100% rename from packages/core/addon/components/collapsible/index.hbs rename to packages/core/src/components/collapsible/index.hbs diff --git a/packages/core/addon/components/collapsible/index.ts b/packages/core/src/components/collapsible/index.ts similarity index 97% rename from packages/core/addon/components/collapsible/index.ts rename to packages/core/src/components/collapsible/index.ts index 2d4b5540..b7deeb1e 100644 --- a/packages/core/addon/components/collapsible/index.ts +++ b/packages/core/src/components/collapsible/index.ts @@ -1,7 +1,7 @@ import Component from '@glimmer/component'; import { action } from '@ember/object'; import { buildWaiter } from '@ember/test-waiters'; -import safeStyles from '@frontile/core/utils/safe-styles'; +import safeStyles from '../../utils/safe-styles.ts'; const waiter = buildWaiter('@frontile/core:collapsible'); @@ -23,6 +23,9 @@ export interface CollapsibleArgs { export interface CollapsibleSignature { Args: CollapsibleArgs; Element: HTMLDivElement; + Blocks: { + default: []; + }; } export default class Collapsible extends Component { diff --git a/packages/core/addon/components/visually-hidden.hbs b/packages/core/src/components/visually-hidden.hbs similarity index 100% rename from packages/core/addon/components/visually-hidden.hbs rename to packages/core/src/components/visually-hidden.hbs diff --git a/packages/core/addon/components/visually-hidden.md b/packages/core/src/components/visually-hidden.md similarity index 100% rename from packages/core/addon/components/visually-hidden.md rename to packages/core/src/components/visually-hidden.md diff --git a/packages/core/addon/components/visually-hidden.ts b/packages/core/src/components/visually-hidden.ts similarity index 85% rename from packages/core/addon/components/visually-hidden.ts rename to packages/core/src/components/visually-hidden.ts index 18b6b70f..2f0ef20d 100644 --- a/packages/core/addon/components/visually-hidden.ts +++ b/packages/core/src/components/visually-hidden.ts @@ -2,6 +2,9 @@ import Component from '@glimmer/component'; export interface VisuallyHiddenSignature { Element: HTMLDivElement; + Blocks: { + default: []; + }; } export default class VisuallyHidden extends Component {} diff --git a/packages/core/addon/helpers/use-frontile-class.ts b/packages/core/src/helpers/use-frontile-class.ts similarity index 64% rename from packages/core/addon/helpers/use-frontile-class.ts rename to packages/core/src/helpers/use-frontile-class.ts index 8f642723..551057ff 100644 --- a/packages/core/addon/helpers/use-frontile-class.ts +++ b/packages/core/src/helpers/use-frontile-class.ts @@ -34,4 +34,20 @@ export function useFrontileClass( return classes.join(' '); } -export default helper(useFrontileClass) as never; +export interface UseFrontileClassSignature { + Args: { + Positional: string | unknown[]; + Named: { part?: string; class?: string }; + }; + Return: string; +} + +const useClass = helper(useFrontileClass); + +export default useClass; + +declare module '@glint/environment-ember-loose/registry' { + export default interface Registry { + 'use-frontile-class': typeof useClass; + } +} diff --git a/packages/core/src/template-registry.ts b/packages/core/src/template-registry.ts new file mode 100644 index 00000000..641ec763 --- /dev/null +++ b/packages/core/src/template-registry.ts @@ -0,0 +1,9 @@ +import type VisuallyHidden from './components/visually-hidden.ts'; +import type CloseButton from './components/close-button.ts'; +import type Collapsible from './components/collapsible'; + +export default interface Registry { + VisuallyHidden: typeof VisuallyHidden; + CloseButton: typeof CloseButton; + Collapsible: typeof Collapsible; +} diff --git a/packages/core/addon/utils/safe-styles.ts b/packages/core/src/utils/safe-styles.ts similarity index 100% rename from packages/core/addon/utils/safe-styles.ts rename to packages/core/src/utils/safe-styles.ts diff --git a/packages/core/testem.js b/packages/core/testem.js deleted file mode 100644 index 31d830ab..00000000 --- a/packages/core/testem.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('../../testem'); diff --git a/packages/core/tests/dummy/app/app.js b/packages/core/tests/dummy/app/app.js deleted file mode 100644 index 523bad60..00000000 --- a/packages/core/tests/dummy/app/app.js +++ /dev/null @@ -1,12 +0,0 @@ -import Application from '@ember/application'; -import Resolver from 'ember-resolver'; -import loadInitializers from 'ember-load-initializers'; -import config from 'dummy/config/environment'; - -export default class App extends Application { - modulePrefix = config.modulePrefix; - podModulePrefix = config.podModulePrefix; - Resolver = Resolver; -} - -loadInitializers(App, config.modulePrefix); diff --git a/packages/core/tests/dummy/app/config/environment.d.ts b/packages/core/tests/dummy/app/config/environment.d.ts deleted file mode 100644 index 4cd48662..00000000 --- a/packages/core/tests/dummy/app/config/environment.d.ts +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Type declarations for - * import config from './config/environment' - * - * For now these need to be managed by the developer - * since different ember addons can materialize new entries. - */ -declare const config: { - environment: string; - modulePrefix: string; - podModulePrefix: string; - locationType: string; - rootURL: string; -}; - -export default config; diff --git a/packages/core/tests/dummy/app/index.html b/packages/core/tests/dummy/app/index.html deleted file mode 100644 index 6504e97c..00000000 --- a/packages/core/tests/dummy/app/index.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - @frontile/core - - - - {{content-for "head"}} - - - - - {{content-for "head-footer"}} - - - {{content-for "body"}} - - - - - {{content-for "body-footer"}} - - diff --git a/packages/core/tests/dummy/app/router.js b/packages/core/tests/dummy/app/router.js deleted file mode 100644 index 80e7d57d..00000000 --- a/packages/core/tests/dummy/app/router.js +++ /dev/null @@ -1,11 +0,0 @@ -import EmberRouter from '@ember/routing/router'; -import config from 'dummy/config/environment'; - -export default class Router extends EmberRouter { - location = config.locationType; - rootURL = config.rootURL; -} - -Router.map(function () { - // there are no routes in this dummy app -}); diff --git a/packages/core/tests/dummy/app/styles/app.css b/packages/core/tests/dummy/app/styles/app.css deleted file mode 100644 index e69de29b..00000000 diff --git a/packages/core/tests/dummy/config/environment.js b/packages/core/tests/dummy/config/environment.js deleted file mode 100644 index 90207563..00000000 --- a/packages/core/tests/dummy/config/environment.js +++ /dev/null @@ -1,51 +0,0 @@ -'use strict'; - -module.exports = function (environment) { - const ENV = { - modulePrefix: 'dummy', - environment, - rootURL: '/', - locationType: 'history', - EmberENV: { - FEATURES: { - // Here you can enable experimental features on an ember canary build - // e.g. EMBER_NATIVE_DECORATOR_SUPPORT: true - }, - EXTEND_PROTOTYPES: { - // Prevent Ember Data from overriding Date.parse. - Date: false - } - }, - - APP: { - // Here you can pass flags/options to your application instance - // when it is created - } - }; - - if (environment === 'development') { - // ENV.APP.LOG_RESOLVER = true; - // ENV.APP.LOG_ACTIVE_GENERATION = true; - // ENV.APP.LOG_TRANSITIONS = true; - // ENV.APP.LOG_TRANSITIONS_INTERNAL = true; - // ENV.APP.LOG_VIEW_LOOKUPS = true; - } - - if (environment === 'test') { - // Testem prefers this... - ENV.locationType = 'none'; - - // keep test console output quieter - ENV.APP.LOG_ACTIVE_GENERATION = false; - ENV.APP.LOG_VIEW_LOOKUPS = false; - - ENV.APP.rootElement = '#ember-testing'; - ENV.APP.autoboot = false; - } - - if (environment === 'production') { - // here you can enable a production-specific feature - } - - return ENV; -}; diff --git a/packages/core/tests/dummy/config/optional-features.json b/packages/core/tests/dummy/config/optional-features.json deleted file mode 100644 index b26286e2..00000000 --- a/packages/core/tests/dummy/config/optional-features.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "application-template-wrapper": false, - "default-async-observers": true, - "jquery-integration": false, - "template-only-glimmer-components": true -} diff --git a/packages/core/tests/dummy/config/targets.js b/packages/core/tests/dummy/config/targets.js deleted file mode 100644 index ddd4c596..00000000 --- a/packages/core/tests/dummy/config/targets.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; - -const browsers = [ - 'last 1 Chrome versions', - 'last 1 Firefox versions', - 'last 1 Safari versions' -]; - -module.exports = { - browsers -}; diff --git a/packages/core/tests/dummy/public/robots.txt b/packages/core/tests/dummy/public/robots.txt deleted file mode 100644 index f5916452..00000000 --- a/packages/core/tests/dummy/public/robots.txt +++ /dev/null @@ -1,3 +0,0 @@ -# http://www.robotstxt.org -User-agent: * -Disallow: diff --git a/packages/core/tests/index.html b/packages/core/tests/index.html deleted file mode 100644 index 30796be3..00000000 --- a/packages/core/tests/index.html +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - @frontile/core Tests - - - - {{content-for "head"}} - {{content-for "test-head"}} - - - - - - {{content-for "head-footer"}} - {{content-for "test-head-footer"}} - - - {{content-for "body"}} - {{content-for "test-body"}} - -
-
-
-
-
-
- - - - - - - - {{content-for "body-footer"}} - {{content-for "test-body-footer"}} - - diff --git a/packages/core/tests/test-helper.ts b/packages/core/tests/test-helper.ts deleted file mode 100644 index eafdb90a..00000000 --- a/packages/core/tests/test-helper.ts +++ /dev/null @@ -1,13 +0,0 @@ -// @ts-ignore -import Application from 'dummy/app'; -import config from 'dummy/config/environment'; -import QUnit from 'qunit'; -import { setApplication } from '@ember/test-helpers'; -import { start } from 'ember-qunit'; -import { setup } from 'qunit-dom'; - -// @ts-ignore -setApplication(Application.create(config.APP)); - -setup(QUnit.assert); -start(); diff --git a/packages/core/tsconfig.json b/packages/core/tsconfig.json index 3ca5d013..9a574e5b 100644 --- a/packages/core/tsconfig.json +++ b/packages/core/tsconfig.json @@ -1,23 +1,11 @@ { - "extends": "../../tsconfig.base.json", - "compilerOptions": { - "baseUrl": ".", - "paths": { - "dummy/tests/*": ["tests/*"], - "dummy/*": ["tests/dummy/app/*", "app/*"], - "@frontile/core": ["addon"], - "@frontile/core/*": ["addon/*"], - "@frontile/core/test-support": ["addon-test-support"], - "@frontile/core/test-support/*": ["addon-test-support/*"], - "*": ["types/*"] - } + "extends": "@tsconfig/ember/tsconfig.json", + "include": ["src/**/*", "unpublished-development-types/**/*"], + "glint": { + "environment": "ember-loose" }, - "include": [ - "app/**/*", - "addon/**/*", - "tests/**/*", - "types/**/*", - "test-support/**/*", - "addon-test-support/**/*" - ] + "compilerOptions": { + "allowImportingTsExtensions": true, + "declarationDir": "declarations" + } } diff --git a/packages/core/types/dummy/index.d.ts b/packages/core/types/dummy/index.d.ts deleted file mode 100644 index e69de29b..00000000 diff --git a/packages/core/types/global.d.ts b/packages/core/types/global.d.ts deleted file mode 100644 index bfefa125..00000000 --- a/packages/core/types/global.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -// Types for compiled templates -declare module '@frontile/core/templates/*' { - import { TemplateFactory } from 'htmlbars-inline-precompile'; - const tmpl: TemplateFactory; - export default tmpl; -} diff --git a/packages/core/types/index.d.ts b/packages/core/types/index.d.ts deleted file mode 100644 index 33a43970..00000000 --- a/packages/core/types/index.d.ts +++ /dev/null @@ -1 +0,0 @@ -import 'ember-source/types'; diff --git a/packages/core/unpublished-development-types/index.d.ts b/packages/core/unpublished-development-types/index.d.ts new file mode 100644 index 00000000..ad686689 --- /dev/null +++ b/packages/core/unpublished-development-types/index.d.ts @@ -0,0 +1,15 @@ +// Add any types here that you need for local development only. +// These will *not* be published as part of your addon, so be careful that your published code does not rely on them! + +import 'ember-source/types'; +import '@glint/environment-ember-loose'; +import type RenderModifiersRegistry from '@ember/render-modifiers/template-registry'; +import type CoreRegistry from '../src/template-registry.ts'; + +declare module '@glint/environment-ember-loose/registry' { + export default interface Registry + extends RenderModifiersRegistry, + CoreRegistry { + // ... + } +} diff --git a/packages/forms/package.json b/packages/forms/package.json index 786e1d97..31fec54b 100644 --- a/packages/forms/package.json +++ b/packages/forms/package.json @@ -28,6 +28,7 @@ "dependencies": { "@frontile/core": "^0.15.0", "@frontile/tailwindcss-plugin-helpers": "^0.15.0", + "ember-auto-import": "^2.6.3", "ember-cli-babel": "^7.26.11", "ember-cli-htmlbars": "^6.2.0", "ember-cli-typescript": "^5.2.1", diff --git a/yarn.lock b/yarn.lock index d58b92c7..5b429509 100644 --- a/yarn.lock +++ b/yarn.lock @@ -32,7 +32,7 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.22.9.tgz#71cdb00a1ce3a329ce4cbec3a44f9fef35669730" integrity sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ== -"@babel/core@^7.12.0", "@babel/core@^7.14.5", "@babel/core@^7.16.10", "@babel/core@^7.16.7", "@babel/core@^7.21.4", "@babel/core@^7.22.9", "@babel/core@^7.3.4": +"@babel/core@7.22.9", "@babel/core@^7.12.0", "@babel/core@^7.14.5", "@babel/core@^7.16.10", "@babel/core@^7.16.7", "@babel/core@^7.21.4", "@babel/core@^7.22.9", "@babel/core@^7.3.4": version "7.22.9" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.22.9.tgz#bd96492c68822198f33e8a256061da3cf391f58f" integrity sha512-G2EgeufBcYw27U4hhoIwFcgc1XU7TlXJ3mv04oOv1WCuo900U/anZSPzEqNjwdjgffkk2Gs0AN0dW1CKVLcG7w== @@ -150,7 +150,7 @@ dependencies: "@babel/types" "^7.22.5" -"@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.22.5": +"@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.18.6", "@babel/helper-module-imports@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz#1a8f4c9f4027d23f520bd76b364d44434a72660c" integrity sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg== @@ -282,7 +282,7 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" "@babel/plugin-transform-optional-chaining" "^7.22.5" -"@babel/plugin-proposal-class-properties@^7.1.0", "@babel/plugin-proposal-class-properties@^7.16.5", "@babel/plugin-proposal-class-properties@^7.16.7": +"@babel/plugin-proposal-class-properties@7.18.6", "@babel/plugin-proposal-class-properties@^7.1.0", "@babel/plugin-proposal-class-properties@^7.16.5", "@babel/plugin-proposal-class-properties@^7.16.7": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== @@ -290,7 +290,7 @@ "@babel/helper-create-class-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-proposal-decorators@^7.13.5", "@babel/plugin-proposal-decorators@^7.16.7": +"@babel/plugin-proposal-decorators@7.22.7", "@babel/plugin-proposal-decorators@^7.13.5", "@babel/plugin-proposal-decorators@^7.16.7": version "7.22.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.22.7.tgz#9b5b73c2e404f0869ef8a8a53765f8203c5467a7" integrity sha512-omXqPF7Onq4Bb7wHxXjM3jSMSJvUUbvDvmmds7KI5n9Cq6Ln5I05I1W2nRlRof1rGdiUxJrxwe285WF96XlBXQ== @@ -402,6 +402,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" +"@babel/plugin-syntax-jsx@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz#a6b68e84fb76e759fc3b93e901876ffabbe1d918" + integrity sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-logical-assignment-operators@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" @@ -842,7 +849,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-typescript@^7.13.0", "@babel/plugin-transform-typescript@^7.16.8": +"@babel/plugin-transform-typescript@^7.13.0", "@babel/plugin-transform-typescript@^7.16.8", "@babel/plugin-transform-typescript@^7.22.5": version "7.22.9" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.9.tgz#91e08ad1eb1028ecc62662a842e93ecfbf3c7234" integrity sha512-BnVR1CpKiuD0iobHPaM1iLvcwPYN2uVFAqoLVSpEDKWuOikoCv5HbKLxclhKYUXlWkX86DoZGtqI4XhbOsyrMg== @@ -1005,6 +1012,17 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" +"@babel/preset-typescript@7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.22.5.tgz#16367d8b01d640e9a507577ed4ee54e0101e51c8" + integrity sha512-YbPaal9LxztSGhmndR46FmAbkJ/1fAsw293tSU+I5E5h+cnJ3d4GTwyUgGYmOXJYdGA+uNePle4qbaRzj2NISQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-validator-option" "^7.22.5" + "@babel/plugin-syntax-jsx" "^7.22.5" + "@babel/plugin-transform-modules-commonjs" "^7.22.5" + "@babel/plugin-transform-typescript" "^7.22.5" + "@babel/regjsgen@^0.8.0": version "0.8.0" resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310" @@ -1191,6 +1209,22 @@ ember-cli-version-checker "^5.1.2" semver "^7.3.5" +"@embroider/addon-dev@3.2.0": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@embroider/addon-dev/-/addon-dev-3.2.0.tgz#8287dfe05673564e498677bd78667fe170805b34" + integrity sha512-ISihBJQEHJQ3HBYMKh5wBP5VHiUWNRTtDs7diQCb75WTHa7lXP3UhONuJ4cX5CuWmGSwJjwKg0Z5hXxXbN0Olg== + dependencies: + "@embroider/core" "^3.2.0" + "@rollup/pluginutils" "^4.1.1" + assert-never "^1.2.1" + content-tag "^1.0.0" + fs-extra "^10.0.0" + minimatch "^3.0.4" + rollup-plugin-copy-assets "^2.0.3" + rollup-plugin-delete "^2.0.0" + walk-sync "^3.0.0" + yargs "^17.0.1" + "@embroider/addon-shim@1.8.3": version "1.8.3" resolved "https://registry.yarnpkg.com/@embroider/addon-shim/-/addon-shim-1.8.3.tgz#2368510b8ce42d50d02cb3289c32e260dfa34bd9" @@ -1199,7 +1233,7 @@ "@embroider/shared-internals" "^1.8.3" semver "^7.3.5" -"@embroider/addon-shim@^1.0.0", "@embroider/addon-shim@^1.8.3", "@embroider/addon-shim@^1.8.4": +"@embroider/addon-shim@^1.0.0", "@embroider/addon-shim@^1.8.3", "@embroider/addon-shim@^1.8.4", "@embroider/addon-shim@^1.8.6": version "1.8.6" resolved "https://registry.yarnpkg.com/@embroider/addon-shim/-/addon-shim-1.8.6.tgz#b676991b4fa32c3a98dc7db7dc6cd655029c3f09" integrity sha512-siC9kP78uucEbpDcVyxjkwa76pcs5rVzDVpWO4PDc9EAXRX+pzmUuSTLAK3GztUwx7/PWhz1BenAivqdSvSgfg== @@ -1623,7 +1657,7 @@ "@handlebars/parser" "~2.0.0" simple-html-tokenizer "^0.5.11" -"@glimmer/syntax@^0.84.3": +"@glimmer/syntax@^0.84.2", "@glimmer/syntax@^0.84.3": version "0.84.3" resolved "https://registry.yarnpkg.com/@glimmer/syntax/-/syntax-0.84.3.tgz#4045a1708cef7fd810cff42fe6deeba40c7286d0" integrity sha512-ioVbTic6ZisLxqTgRBL2PCjYZTFIwobifCustrozRU2xGDiYvVIL0vt25h2c1ioDsX59UgVlDkIK4YTAQQSd2A== @@ -1708,6 +1742,31 @@ "@glimmer/interfaces" "0.84.2" "@glimmer/util" "0.84.2" +"@glint/core@1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@glint/core/-/core-1.0.2.tgz#eb684b6b7c830b8e0a8e3ddda550bc269d1cbb5e" + integrity sha512-0bVt/lT/NurpD8nBG9RTPKYlcpg51UDGCKgLoBEFOiTXv3aCSxAVKPud1IYaitGBKE0C+s5pl2PHkgptotVS+w== + dependencies: + "@glimmer/syntax" "^0.84.2" + escape-string-regexp "^4.0.0" + semver "^7.3.8" + silent-error "^1.1.1" + uuid "^8.3.2" + vscode-languageserver "^8.0.1" + vscode-languageserver-textdocument "^1.0.5" + vscode-uri "^3.0.2" + yargs "^17.5.1" + +"@glint/environment-ember-loose@1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@glint/environment-ember-loose/-/environment-ember-loose-1.0.2.tgz#701d084625707e9ba9ca2cf5269bbea443b15d62" + integrity sha512-tVLYzAx6c/4vcSaijiAubwR27/+K2tujuozArxeNud58MTwncGxhUkCHSM9xl+wn4VJjsjkzI6+nmzjEdkszSg== + +"@glint/template@1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@glint/template/-/template-1.0.2.tgz#dcb96f048df52e7d0e78cf194fa07b3c42f15278" + integrity sha512-kFWfJrS7XM0NjC5YSN0CWA9FiN0mhUvWVlQ2O7YRz/uhrO8+TVYNLst0WKELRbfCXbdI7wyYQkazNgz6FoL9CA== + "@handlebars/parser@~2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@handlebars/parser/-/parser-2.0.0.tgz#5e8b7298f31ff8f7b260e6b7363c7e9ceed7d9c5" @@ -2876,6 +2935,31 @@ "@pnpm/error" "5.0.2" find-up "^5.0.0" +"@rollup/plugin-babel@6.0.3": + version "6.0.3" + resolved "https://registry.yarnpkg.com/@rollup/plugin-babel/-/plugin-babel-6.0.3.tgz#07ccde15de278c581673034ad6accdb4a153dfeb" + integrity sha512-fKImZKppa1A/gX73eg4JGo+8kQr/q1HBQaCGKECZ0v4YBBv3lFqi14+7xyApECzvkLTHCifx+7ntcrvtBIRcpg== + dependencies: + "@babel/helper-module-imports" "^7.18.6" + "@rollup/pluginutils" "^5.0.1" + +"@rollup/pluginutils@^4.1.1": + version "4.2.1" + resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-4.2.1.tgz#e6c6c3aba0744edce3fb2074922d3776c0af2a6d" + integrity sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ== + dependencies: + estree-walker "^2.0.1" + picomatch "^2.2.2" + +"@rollup/pluginutils@^5.0.1": + version "5.0.2" + resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-5.0.2.tgz#012b8f53c71e4f6f9cb317e311df1404f56e7a33" + integrity sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA== + dependencies: + "@types/estree" "^1.0.0" + estree-walker "^2.0.2" + picomatch "^2.3.1" + "@simple-dom/document@^1.4.0": version "1.4.0" resolved "https://registry.yarnpkg.com/@simple-dom/document/-/document-1.4.0.tgz#af60855f957f284d436983798ef1006cca1a1678" @@ -2979,6 +3063,11 @@ resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== +"@tsconfig/ember@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@tsconfig/ember/-/ember-3.0.0.tgz#a9e34e021a6188eeef4347abdc340a30850b656c" + integrity sha512-KF9F9f4i+8LE31OKS014n5uEDt1mB/6ZvyQz/Mam28nAKDTSMBlOWHgTOj0TY8l4BfbEE+BgUuWCSoUHhb2BMw== + "@types/acorn@^4.0.3": version "4.0.6" resolved "https://registry.yarnpkg.com/@types/acorn/-/acorn-4.0.6.tgz#d61ca5480300ac41a7d973dd5b84d0a591154a22" @@ -6118,6 +6207,21 @@ concat-stream@^2.0.0: readable-stream "^3.0.2" typedarray "^0.0.6" +concurrently@^8.2.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/concurrently/-/concurrently-8.2.0.tgz#cdc9f621a4d913366600355d68254df2c5e782f3" + integrity sha512-nnLMxO2LU492mTUj9qX/az/lESonSZu81UznYDoXtz1IQf996ixVqPAgHXwvHiHCAef/7S8HIK+fTFK7Ifk8YA== + dependencies: + chalk "^4.1.2" + date-fns "^2.30.0" + lodash "^4.17.21" + rxjs "^7.8.1" + shell-quote "^1.8.1" + spawn-command "0.0.2" + supports-color "^8.1.1" + tree-kill "^1.2.2" + yargs "^17.7.2" + config-chain@^1.1.12: version "1.1.13" resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.13.tgz#fad0795aa6a6cdaff9ed1b68e9dff94372c232f4" @@ -6178,6 +6282,11 @@ content-disposition@0.5.4: dependencies: safe-buffer "5.2.1" +content-tag@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/content-tag/-/content-tag-1.0.1.tgz#9fb83580083a7a83f94ae8f2850171a284129b6b" + integrity sha512-7NqA1EmPLgpahxyz8NdLwJVbBzjwHCOsvrKsl1ISfpNNd2Sy/nPSWj4+1HacDMMm8yYoM3Bj2EiCrC9F4ktifg== + content-type@~1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" @@ -6606,6 +6715,20 @@ define-property@^2.0.2: is-descriptor "^1.0.2" isobject "^3.0.1" +del@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/del/-/del-5.1.0.tgz#d9487c94e367410e6eff2925ee58c0c84a75b3a7" + integrity sha512-wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA== + dependencies: + globby "^10.0.1" + graceful-fs "^4.2.2" + is-glob "^4.0.1" + is-path-cwd "^2.2.0" + is-path-inside "^3.0.1" + p-map "^3.0.0" + rimraf "^3.0.0" + slash "^3.0.0" + delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" @@ -8157,6 +8280,11 @@ estree-walker@^0.6.1: resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.6.1.tgz#53049143f40c6eb918b23671d1fe3219f3a1b362" integrity sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w== +estree-walker@^2.0.1, estree-walker@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" + integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== + esutils@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" @@ -9326,6 +9454,20 @@ globby@10.0.0: merge2 "^1.2.3" slash "^3.0.0" +globby@^10.0.1: + version "10.0.2" + resolved "https://registry.yarnpkg.com/globby/-/globby-10.0.2.tgz#277593e745acaa4646c3ab411289ec47a0392543" + integrity sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg== + dependencies: + "@types/glob" "^7.1.1" + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.0.3" + glob "^7.1.3" + ignore "^5.1.1" + merge2 "^1.2.3" + slash "^3.0.0" + globby@^11.0.2, globby@^11.0.3, globby@^11.1.0: version "11.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" @@ -10262,7 +10404,12 @@ is-obj@^2.0.0: resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== -is-path-inside@^3.0.3: +is-path-cwd@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" + integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== + +is-path-inside@^3.0.1, is-path-inside@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== @@ -13018,6 +13165,13 @@ p-map-series@^2.1.0: resolved "https://registry.yarnpkg.com/p-map-series/-/p-map-series-2.1.0.tgz#7560d4c452d9da0c07e692fdbfe6e2c81a2a91f2" integrity sha512-RpYIIK1zXSNEOdwxcfe7FdvGcs7+y5n8rifMhMNWvaxRNMPINJHF5GDeuVxWqnfrcHPSCnp7Oo5yNXHId9Av2Q== +p-map@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-3.0.0.tgz#d704d9af8a2ba684e2600d9a215983d4141a979d" + integrity sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ== + dependencies: + aggregate-error "^3.0.0" + p-map@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" @@ -13319,7 +13473,7 @@ picocolors@^1.0.0: resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== @@ -14447,6 +14601,20 @@ rimraf@~2.6.2: dependencies: glob "^7.1.3" +rollup-plugin-copy-assets@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/rollup-plugin-copy-assets/-/rollup-plugin-copy-assets-2.0.3.tgz#9a9098894c3ded16d2eee8c4108055e332b5f59f" + integrity sha512-ETShhQGb9SoiwcNrvb3BhUNSGR89Jao0+XxxfzzLW1YsUzx8+rMO4z9oqWWmo6OHUmfNQRvqRj0cAyPkS9lN9w== + dependencies: + fs-extra "^7.0.1" + +rollup-plugin-delete@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/rollup-plugin-delete/-/rollup-plugin-delete-2.0.0.tgz#262acf80660d48c3b167fb0baabd0c3ab985c153" + integrity sha512-/VpLMtDy+8wwRlDANuYmDa9ss/knGsAgrDhM+tEwB1npHwNu4DYNmDfUL55csse/GHs9Q+SMT/rw9uiaZ3pnzA== + dependencies: + del "^5.1.0" + rollup-pluginutils@^2.0.1: version "2.8.2" resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz#72f2af0748b592364dbd3389e600e5a9444a351e" @@ -14471,6 +14639,13 @@ rollup@^0.57.1: signal-exit "^3.0.2" sourcemap-codec "^1.4.1" +rollup@^3.27.0: + version "3.27.0" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.27.0.tgz#15bd07e2e1cbfa9255bf6a3f04a432621c2f3550" + integrity sha512-aOltLCrYZ0FhJDm7fCqwTjIUEVjWjcydKBV/Zeid6Mn8BWgDCUBBWT5beM5ieForYNo/1ZHuGJdka26kvQ3Gzg== + optionalDependencies: + fsevents "~2.3.2" + route-recognizer@^0.3.4: version "0.3.4" resolved "https://registry.yarnpkg.com/route-recognizer/-/route-recognizer-0.3.4.tgz#39ab1ffbce1c59e6d2bdca416f0932611e4f3ca3" @@ -14754,7 +14929,7 @@ shebang-regex@^3.0.0: resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== -shell-quote@^1.6.1: +shell-quote@^1.6.1, shell-quote@^1.8.1: version "1.8.1" resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.1.tgz#6dbf4db75515ad5bac63b4f1894c3a154c766680" integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== @@ -15053,6 +15228,11 @@ spawn-args@^0.2.0: resolved "https://registry.yarnpkg.com/spawn-args/-/spawn-args-0.2.0.tgz#fb7d0bd1d70fd4316bd9e3dec389e65f9d6361bb" integrity sha512-73BoniQDcRWgnLAf/suKH6V5H54gd1KLzwYN9FB6J/evqTV33htH9xwV/4BHek+++jzxpVlZQKKZkqstPQPmQg== +spawn-command@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/spawn-command/-/spawn-command-0.0.2.tgz#9544e1a43ca045f8531aac1a48cb29bdae62338e" + integrity sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ== + spdx-correct@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.2.0.tgz#4f5ab0668f0059e34f9c00dce331784a12de4e9c" @@ -15437,7 +15617,7 @@ supports-color@^7.1.0, supports-color@^7.2.0: dependencies: has-flag "^4.0.0" -supports-color@^8.0.0, supports-color@^8.1.0: +supports-color@^8.0.0, supports-color@^8.1.0, supports-color@^8.1.1: version "8.1.1" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== @@ -15891,6 +16071,11 @@ traverse@^0.6.6, traverse@^0.6.7: resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.6.7.tgz#46961cd2d57dd8706c36664acde06a248f1173fe" integrity sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg== +tree-kill@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" + integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== + tree-sync@^1.2.2: version "1.4.0" resolved "https://registry.yarnpkg.com/tree-sync/-/tree-sync-1.4.0.tgz#314598d13abaf752547d9335b8f95d9a137100d6" @@ -16486,6 +16671,41 @@ vfile@^4.0.0: unist-util-stringify-position "^2.0.0" vfile-message "^2.0.0" +vscode-jsonrpc@8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/vscode-jsonrpc/-/vscode-jsonrpc-8.1.0.tgz#cb9989c65e219e18533cc38e767611272d274c94" + integrity sha512-6TDy/abTQk+zDGYazgbIPc+4JoXdwC8NHU9Pbn4UJP1fehUyZmM4RHp5IthX7A6L5KS30PRui+j+tbbMMMafdw== + +vscode-languageserver-protocol@3.17.3: + version "3.17.3" + resolved "https://registry.yarnpkg.com/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.3.tgz#6d0d54da093f0c0ee3060b81612cce0f11060d57" + integrity sha512-924/h0AqsMtA5yK22GgMtCYiMdCOtWTSGgUOkgEDX+wk2b0x4sAfLiO4NxBxqbiVtz7K7/1/RgVrVI0NClZwqA== + dependencies: + vscode-jsonrpc "8.1.0" + vscode-languageserver-types "3.17.3" + +vscode-languageserver-textdocument@^1.0.5: + version "1.0.8" + resolved "https://registry.yarnpkg.com/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.8.tgz#9eae94509cbd945ea44bca8dcfe4bb0c15bb3ac0" + integrity sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q== + +vscode-languageserver-types@3.17.3: + version "3.17.3" + resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.17.3.tgz#72d05e47b73be93acb84d6e311b5786390f13f64" + integrity sha512-SYU4z1dL0PyIMd4Vj8YOqFvHu7Hz/enbWtpfnVbJHU4Nd1YNYx8u0ennumc6h48GQNeOLxmwySmnADouT/AuZA== + +vscode-languageserver@^8.0.1: + version "8.1.0" + resolved "https://registry.yarnpkg.com/vscode-languageserver/-/vscode-languageserver-8.1.0.tgz#5024253718915d84576ce6662dd46a791498d827" + integrity sha512-eUt8f1z2N2IEUDBsKaNapkz7jl5QpskN2Y0G01T/ItMxBxw1fJwvtySGB9QMecatne8jFIWJGWI61dWjyTLQsw== + dependencies: + vscode-languageserver-protocol "3.17.3" + +vscode-uri@^3.0.2: + version "3.0.7" + resolved "https://registry.yarnpkg.com/vscode-uri/-/vscode-uri-3.0.7.tgz#6d19fef387ee6b46c479e5fb00870e15e58c1eb8" + integrity sha512-eOpPHogvorZRobNqJGhapa0JdwaxpjVvyBp0QIUMRMSf8ZAlqOdEquKuRmw9Qwu0qXtJIWqFtMkmvJjUZmMjVA== + w3c-hr-time@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" @@ -16979,7 +17199,7 @@ yargs@^16.2.0: y18n "^5.0.5" yargs-parser "^20.2.2" -yargs@^17.0.1, yargs@^17.7.2: +yargs@^17.0.1, yargs@^17.5.1, yargs@^17.7.2: version "17.7.2" resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==