Commit Graph

46 Commits

Author SHA1 Message Date
Esteban Beltran
0abf04a20f
Toolkit: Remove unused close-milestone command (#57062)
* Toolkit: Remove unused close-milestone command

* Remove import line
2022-10-17 11:27:27 +02:00
GitStart
48ebaa48cc
Toolkit: Remove changelog command (already replaced by a github workflow) (#56073)
Co-authored-by: gitstart <gitstart@gitstart.com>
Co-authored-by: Rubens Rafael <70234898+RubensRafael@users.noreply.github.com>
Co-authored-by: Matheus Muniz <matheusmuniz100@hotmail.com>
Co-authored-by: Nitesh Singh <nitesh.singh@gitstart.dev>
Co-authored-by: Matheus Benini Ferreira <88898100+MatheusBeniniF@users.noreply.github.com>
Co-authored-by: Thiago Nascimbeni <tnascimbeni@gmail.com>
Co-authored-by: Rafael Toledo <87545086+Toledodev@users.noreply.github.com>
Co-authored-by: Murilo Amaral <87545137+MuriloAmarals@users.noreply.github.com>
2022-10-05 14:44:53 +02:00
Esteban Beltran
25bb926a0a
Toolkit: Deprecate component:create command (#56086)
* Mark component:create as deprecated

* Update message

* Update packages/grafana-toolkit/src/cli/index.ts

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>

* Add alternative message

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2022-10-04 09:43:24 +02:00
Esteban Beltran
29ca8de6c0
Toolkit: Remove unused legacy cherrypick command (#56114) 2022-10-03 09:04:11 +02:00
Jack Westbrook
d87bf30e9e
Build: Introduce ESM and Treeshaking to NPM package builds (#51517)
* Revert "Chore: Bump terser to fix security vulnerability (#53052)"

This reverts commit 7ae74d2a18.

* feat: use tsc and rollup directly with esbuild and publishConfig, files props

* refactor(grafana-data): fix isolatedModules re-export type error

* refactor(grafana-data): import paths from src not package name

* refactor(rollup): fix dts output.file

* chore(grafana-schema): delete dashboard_experimental.gen.ts - cannot work with isolatedModules

* refactor(grafana-e2e-selectors): fix export types isolatedModules error

* refactor(grafana-runtime): fix isolatedModules re-export type error

* refactor(grafana-ui): fix isolatedModules re-export type error

* feat(grafana-ui): use named imports for treeshaking

* refactor(grafana-ui): use named imports for treeshaking

* feat: react and react-dom as peerDeps for packages

* feat(grafana-ui): emotion packages as peerDeps

* feat(grafana-e2e): use tsc, rollup, esbuild for bundling

* chore(packages): clean up redundant dependencies

* chore(toolkit): deprecate unused package:build task

* chore(schema): put back dashboard_experimental and exclude to prevent isolatedModules error

* docs(packages): update readme

* chore(storybook): disable isolatedModules for builds

* chore: relax peerDeps for emotion and react

* revert(grafana-ui): put @emotion dependencies back

* refactor: replace relative package imports with package name

* build(packages): set emitDeclaration false for typecheck scripts to work

* test(publicdashboarddatasource): move test next to implementation. try to appease the betterer gods

* chore(storybook): override ts-node config for storybook compilation

* refactor(grafana-data): use ternary so babel doesnt complain about expecting flow types

* chore(toolkit): prefer files and publishConfig package.json props over copying

* build(npm): remove --contents dist arg from publishing commands

* chore(packages): introduce sideEffects prop to package.json to hint package can be treeshaken

* chore(packages): remove redundant index.js files

* feat(packages): set publishConfig.access to public

* feat(packages): use yarn berry and npm for packaging and publishing

* refactor(packages): simplify rollup configs

* chore(schema): add comment explaining need to exclude dashboard_experimental

* revert(toolkit): put back clean to prevent cli failures

* ci(packages): run packages:pack before a canary publish

* chore(gitignore): add npm-artifacts directory to ignore list

* test(publicdashboarddatasource): fix module mocking

* chore(packages): delete package.tgz when running clean

* chore(grafana-data): move dependencies from devDeps to prevent build resolution errors
2022-08-03 15:47:09 +02:00
Jack Westbrook
f4353bbbc4
Toolkit: Bump dependencies (#47826)
* chore(typescript): remove sanitize_url.d.ts in favour of npm package types

* chore(toolkit): bump all webpack related deps inline with grafana core

* refactor(toolkit): prefer webpack types and use from imports for bundling

* feat(toolkit): bundle plugins using webpack 5 and babel

* chore(toolkit): but all eslint deps inline with grafana core

* refactor(toolkit): rewrite linting step to use new eslint node api

* chore(toolkit): bump jest dependencies inline with grafana core

* refactor(toolkit): update jest config for jest 27

* fix(toolkit): resolve toolkit if using yarn berry

* docs(toolkit): update instructions for developing with yarn berry

* chore(toolkit): remove yarnlink code as won't work with yarn berry

* chore(toolkit): bump remaining dependencies

* chore(toolkit): remove unused core.start task

* feat(toolkit): use browserlist when building plugins

* chore(toolkit): add browserslist dependency

* refactor(toolkit): resolve style loaders, update postcss options for webpack5

* chore(toolkit): put back grafana/data and grafana/ui

* docs(toolkit): improve instructions for developing toolkit locally

* chore(toolkit): clean up webpack debug and warnings

* chore(input-datasource): remove pnpwebpack plugin and update browserslist to solve failing build

* chore(renovatebot): remove toolkit package.json from ignorePaths

* revert(renovate): put back toolkit package.json in ignorePaths

* feat(toolkit): introduce babel plugins

* refactor(toolkit): remove runtime automatic from preset-react for earlier versions of react

* refactor(toolkit): add missing fallbacks to webpack config

* fix(toolkit): remove spaces from copy webpack glob so files are copied

* refactor(toolkit): fix up babel typescript support and copy browserlist on build

* chore(yarn): refresh lock file

* revert(toolkit): remove browsers list so plugins compile to ES5

* revert(toolkit): remove copying .browserslistrc
2022-05-26 16:23:27 +02:00
Josh Hunt
3c6e0e8ef8
Chore: ESlint import order (#44959)
* Add and configure eslint-plugin-import

* Fix the lint:ts npm command

* Autofix + prettier all the files

* Manually fix remaining files

* Move jquery code in jest-setup to external file to safely reorder imports

* Resolve issue caused by circular dependencies within Prometheus

* Update .betterer.results

* Fix missing // @ts-ignore

* ignore iconBundle.ts

* Fix missing // @ts-ignore
2022-04-22 14:33:13 +01:00
Timur Olzhabayev
9fe034e5ca
chore(toolkit): add toolkit version to signing (#44326) 2022-01-31 09:55:21 +01:00
Dessen Xu
e79254d9aa
Toolkit: Fix bug with rootUrls not being properly parsed when signing a private plugin. (#43014)
* fix plugin sign

* modify urls

* back to urls...

* code format
2021-12-14 11:43:26 +01:00
renovate[bot]
53b283ee01
Update dependency commander to v8 (#40707)
* Update dependency commander to v8

* Chore(dependencies): Changes needed to support Commander v8

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2021-10-27 14:54:10 +01:00
Christopher Lord
8660d0692e
CLI: Add option to skip tests and linting for grafana-toolkit plugin:build (#35068)
* Add option to skip tests and linting for plugin:build

Our plugin has a separate step of CI that tests and lints, so we'd like
to be able to control whether the build step will run it too.

defaults to continuing with lint and tests.

update README for grafana-toolkit

* remove accidental duplicate documentation of coverage
2021-06-23 08:09:23 +02:00
Ryan McKinley
36fc37fd0e
Toolkit: add deprecation notice to toolkit/ci commands (#33664) 2021-05-04 10:13:29 -07:00
Torkel Ödegaard
1d689888b0
Prettier: Upgrade to 2 (#30387)
* Updated package json but not updated source files

* Update eslint plugin

* updated files
2021-01-20 07:59:48 +01:00
Steven Vachon
de3a7610d7
Print Node.js and Toolkit versions (#30230)
* Minor changes

* Print Node.js and toolkit versions when building
2021-01-12 12:17:29 -05:00
Torkel Ödegaard
dc93749287
Grunt: Removes grunt dependency and replaces some of its usage (#29461)
* Grunt: Removes grunt dependency and replaces some of it usage with alternatives

* Removed precommit toolkit task

* Fixed toolkit import

* Some cleanup of unused / not working stuff in build.go

* Removed sass errors
2020-12-01 10:32:12 +01:00
Dominik Prokop
a9e201332a
grafana/toolkit: Drop console and debugger statements by default when building plugin with toolkit (#28776) 2020-11-04 09:06:13 +01:00
Dan Cech
4629c44d49
Toolkit: implement plugin signing in grafana-toolkit (#27907)
* implement plugin signing in grafana-toolkit
2020-10-05 11:27:43 -04:00
Domas
bd9add72de
toolkit: expose maxWorkers option for plugin build & test tasks (#27724) 2020-10-01 10:50:56 +02:00
William Assis
8a22111a8e
Toolkit: Add --coverage flag to plugin build command (#27743)
* Add --coverage option to build script

* Update README
2020-09-25 08:12:00 +02:00
Levente Balogh
6b1a80675f
Grafana Toolkit: add an option for signing plugins as admin (#26817)
* feat(grafana-toolkit): add a flag to the plugin:ci-package command

* docs(grafana-toolkit): add a short comment above the flag

* fix(grafana-toolkit): fix option for signing a plugin with the admin endpoint
2020-08-07 15:34:30 +02:00
Sofia Papagiannaki
139be3d7ba
grafana/toolkit: Modify close milestone task to remove label from more than 100 pull requests and add dry run option (#25108)
* Fix close milestone to remove label from all the required pull requests

There used to be a limit to 100 pull requests.

* Add dry run option in close-milestone task
2020-05-26 17:26:16 +03:00
Ryan McKinley
b34a5b5648
Toolkit: use grabpl for manifest (#24319) 2020-05-05 19:47:58 -07:00
Hugo Häggmark
b09b49fb37
e2e: creates a separate package for selectors (#23858)
* Initial commit

* Chore: fixes after merge

* Chore: removes todos

* Chore: uncomment test

* Chore: adds missing externals to rollup config

* Refactor: selectors is master for everything

* Docs: updates Docs

* Chore: adds e2e-selectors to publish
2020-04-27 09:09:05 +02:00
Stephanie Closson
c5f21bdae9
Toolkit: Provide update plugin to allow plugins configuration to normalize (#23540)
* Toolkit: Update plugin added
- To normalize an bring a plugins "managed" config up to date

* Added changes for filter only release

* changed name

* updated test for checking files in manifest
2020-04-13 17:10:33 -06:00
Alex Khomenko
f458da4d7f
React generator (#23150)
* Toolkit: Setup templates

* Toolkit: Add plop

* Toolkit: Setup createComponent task

* Toolkit: Use lodash templates

* Toolkit: Generate story and mdx file

* Toolkit: Add story type

* Toolkit: Fix types

* Toolkit: Add test template

* Toolkit: Remove plop

* Toolkit: Tweak types

* Toolkit: Minor fixes

* Toolkit: Add internal story option

* Toolkit: Fix test

* Toolkit: Clarify prompt

* Toolkit: add prompt list for component group

* Toolkit: make generator script internal

* Toolkit: add description

* Toolkit: add missing when condition
2020-04-10 11:32:49 +03:00
Ryan McKinley
03e3ddcbdb
Plugins: add a bundle plugins folder (#20850) 2020-04-07 00:04:24 -07:00
Stephanie Closson
c5252f1b64
Toolkit: simplify the plugin ci docker image (#23267)
* removing src dir on publish

* Moved from binary to native typescript
1. Moved to a native typescrpt github publish using the existing
github client.
2. Change dist.js to detect running in a linked environment.
Todo: Optimize docker image for build size.

* Optimized build of docker container
Much smaller. From 5.47 gb to 2.88

* Feedback from discussion with Ryan
- Added gget for getting grafana versions
- Added infrastructure for testing
- Uploaded new docker image

* Fixed typo... Not sure what happened there :)

* Added command to download canary

* small fix for displaying versions in help

* Removed --dev option
Should really just rename version to (ex: 1.2.0-dev)

* removing src dir on publish

* Moved from binary to native typescript
1. Moved to a native typescrpt github publish using the existing
github client.
2. Change dist.js to detect running in a linked environment.
Todo: Optimize docker image for build size.

* Optimized build of docker container
Much smaller. From 5.47 gb to 2.88

* Feedback from discussion with Ryan
- Added gget for getting grafana versions
- Added infrastructure for testing
- Uploaded new docker image

* Fixed typo... Not sure what happened there :)

* Added command to download canary

* small fix for displaying versions in help

* Removed --dev option
Should really just rename version to (ex: 1.2.0-dev)
2020-04-02 13:57:33 -06:00
Ryan McKinley
1ff736b4b3
e2e: remove old toolkit e2e implementation (#23091) 2020-03-26 07:31:44 -07:00
Stephanie Closson
3745cccde6
Toolkit: include a github release utility (#22520)
* Adding git publish to toolkit

* grafana-toolkit new feature plugin:github-release

* Feedback from code review
1. Used async await and exec for executing commands
2. Using dist folder to get plugin information

* Reverting change to plugin.json back to original value.

* reverted changes to yarn.lock

* reverted changes to yarn.lock

* feedback from code review

* feedback from code review 2

* moved constants to recommended functions

* styling changes and reverting yarn.lock

* removing changes to package.json

* replced execLine with execa

* better error detection around the publish token

* made simpler with commitHash from build

* Testing showed a number of required changes:
- Make the sha configurable
  or through environment variable
  or through git config.
- Allow a release to be recreated
- Set name and repo from git config as this is what
ghr is expecting anyway.
- Appropriate errors if the user
  tries to run a release without
  doing a ci-build and ci-package first.

* Using spinner.
Took out extra dependencies out of project.json
wrote tests manually.

* Updated tests. Now passing

* Adding git publish to toolkit

* grafana-toolkit new feature plugin:github-release

* Feedback from code review
1. Used async await and exec for executing commands
2. Using dist folder to get plugin information

* Reverting change to plugin.json back to original value.

* reverted changes to yarn.lock

* reverted changes to yarn.lock

* feedback from code review

* feedback from code review 2

* moved constants to recommended functions

* styling changes and reverting yarn.lock

* removing changes to package.json

* replced execLine with execa

* better error detection around the publish token

* made simpler with commitHash from build

* Testing showed a number of required changes:
- Make the sha configurable
  or through environment variable
  or through git config.
- Allow a release to be recreated
- Set name and repo from git config as this is what
ghr is expecting anyway.
- Appropriate errors if the user
  tries to run a release without
  doing a ci-build and ci-package first.

* Using spinner.
Took out extra dependencies out of project.json
wrote tests manually.

* Updated tests. Now passing

* updated test for reducers, from master

* package.json and yarn.lock from master
2020-03-06 10:15:04 -07:00
Ryan McKinley
e688f13535
Toolkit: plugin ci needs to cooperate better with make/mage (#22588)
* cleanup

* cleanup
2020-03-05 06:06:06 -08:00
Ryan McKinley
0ff19e9414
Toolkit: create manifest files for plugins (#22056) 2020-02-10 19:39:24 +01:00
Ivana Huckova
2cdd73cfd4
Release: Create cherrypick task work for enterprise repo (#19424) 2019-09-26 10:30:02 +02:00
Dominik Prokop
b7752b8c02
Update changelog task to generate toolkit changelog too (#19262) 2019-09-23 11:19:34 +02:00
Dominik Prokop
809e2ca3c7
grafana/toolkit: Fix toolkit not building @grafana/toolkit (#19253)
* Fix toolkit not building

Weird TS didn't pick this up...

* Update packages/grafana-toolkit/src/cli/index.ts
2019-09-20 11:17:07 +02:00
Dominik Prokop
54ebf174a0
grafana/toolkit: Add plugin scaffolding (#19207) 2019-09-20 09:47:49 +02:00
Ryan McKinley
e4e7719428
toolkit: run make for backend plugins (#19029) 2019-09-12 01:17:41 -07:00
David
89abc77b22
Build: Optional skipping of typescript checking in dev bundler (#18772)
* Build: Removed typescript checking from dev bundler

- when switching branches and trying out features, TS checking and bundling are eating up a lot
of CPU
- most of us are using an editor with typechecking support
- this commit removes type checking from the dev bundler
- we still have type checking enabled as a precommit hook and as part of
the prod bundler

* Adds new npm script: start:noTsCheck
2019-08-30 14:02:31 +02:00
Ryan McKinley
d8f86834d9
grafana/toolkit: improve CI task (#18189) 2019-08-03 12:34:02 -07:00
Dominik Prokop
2c8809d3cf
@grafana/toolkit: integrate latest improvements (#18168)
* @grafana/toolkit: make ts-loader ignore files that are not bundled

* @grafana/toolkit: improve the circleci task (#18133)

This PR makes some minor improvements to the circle task

Adds build info to plugin.json
adds dependencies to deployed artifacts
Makes sure prettier has content before writing (avoid writing empty files)
renames 'bundle' to 'package' and saves stuff in a 'packages' file

* @grafana/toolkit: enable plugin themes to work with common stylesheet (#18160)

This makes it possible to use themes styleshheet files and stylesheet imports at the same time. The problem occurred when trying to migrate polystat panel to toolkit: grafana/grafana-polystat-panel#62
2019-07-18 13:48:35 +02:00
Dominik Prokop
5151b8ce07 grafana/toolkit: test improvements and show stats (#18137, #18138)
* Enable running tests in watch mode and by path or name regex

* Toolkit readme update

* Show webpack stats on successful compilation

* unzip the plugin, not the docs
2019-07-16 08:37:00 -07:00
Ryan McKinley
ca628832ab grafana/toolkit: improve CircleCI integration (#18071)
* don't actually install grafana in the setup step

* updat eversion changes

* add report stage

* update versions

* don't do failing test

* upate version

* print plugins

* update versions

* copy docs

* Update package.json
2019-07-12 10:25:38 +02:00
Ryan McKinley
7ec87ee76b grafana/toolkit: improve CircleCI stubs (#17995)
* validate type and id

* copy all svg and png, useful if people don't use the img folder

* update comments

* add stubs for each ci task

* use ci-work folder rather than build

* use axios for basic testing

* Packages: publish packages@6.3.0-alpha.39

* bump version

* add download task

* Packages: publish packages@6.3.0-alpha.40

* merge all dist folders into one

* fix folder paths

* Fix ts error

* Packages: publish packages@6.3.0-beta.0

* Packages: publish packages@6.3.0-beta.1

* bump next to 6.4

* Packages: publish packages@6.4.0-alpha.2

* better build and bundle tasks

* fix lint

* Packages: publish packages@6.4.0-alpha.3

* copy the file to start grafana

* Packages: publish packages@6.4.0-alpha.4

* use sudo for copy

* Packages: publish packages@6.4.0-alpha.5

* add missing service

* add service and homepath

* Packages: publish packages@6.4.0-alpha.6

* make the folder

* Update packages/grafana-toolkit/src/cli/tasks/plugin.ci.ts

* Update packages/grafana-toolkit/src/cli/tasks/plugin.ci.ts
2019-07-11 12:47:58 +02:00
Dominik Prokop
c32365f424 Packages: Use lerna for release orchestration (#17985) 2019-07-09 09:43:53 -07:00
Ryan McKinley
83366b91de
grafana/toolkit: initial CI task and various small improvements (#17914) 2019-07-05 15:09:30 -07:00
Dominik Prokop
9f351156c3 grafana/toolkit: bundle plugins with webpack (#17850) 2019-07-03 09:25:12 -07:00
Dominik Prokop
742e0d56eb
Toolkit: moved front end cli scripts to separate package and introduced very early version of plugin tools
* Move cli to grafana-toolkit

* Moving packages, fixing ts

* Add basics of plugin build task

* Add toolkit build task

* Circle - use node 10 for test-frontend

* Prettier fix

* First attempt for having shared tsconfig for plugins

* Add enzyme as peer depencency

* Do not expose internal commands when using toolkit from npm package

* Introduce plugin linting

* Fix missing file

* Fix shim extenstion

* Remove rollup typings

* Add tslint as dependency

* Toolkit - use the same versions of enzyme and tslint as core does

* Remove include property from plugin tsconfig

* Take failed suites into consideration when tests failed

* Set ts-jest preset for jest

* Cleanup tsconfig.plugins

* Add plugin:test task

* Rename file causing build failute

* Fixing those missed renames

* Add ts as peer dependency

* Remove enzyme dependency and tweak test plugin task

* Allow jest options overrides via package.json config

* Improvements

* Remove rollup node packages

* TMP : Fix ts errors when linked

* use local tslint if it exists

* support coverage commands

* Fix merge

* fix build

* Some minors

* Make jest pass when no tests discovered
2019-06-28 14:11:12 +02:00