@ryanatkn/gro 0.144.0 → 0.144.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,7 +3,7 @@ import { has_server, gro_plugin_server } from './gro_plugin_server.js';
3
3
  import { gro_plugin_sveltekit_app } from './gro_plugin_sveltekit_app.js';
4
4
  import { has_sveltekit_app, has_sveltekit_library } from './sveltekit_helpers.js';
5
5
  import { gro_plugin_gen } from './gro_plugin_gen.js';
6
- import { load_moss_plugin } from './moss_helpers.js';
6
+ import { gro_plugin_moss, has_moss_dep } from './gro_plugin_moss.js';
7
7
  /**
8
8
  * This is the default config that's passed to `gro.config.ts`
9
9
  * if it exists in the current project, and if not, this is the final config.
@@ -14,15 +14,15 @@ import { load_moss_plugin } from './moss_helpers.js';
14
14
  * - if `src/lib/server/server.ts`, assumes a Node server
15
15
  */
16
16
  const config = async (cfg) => {
17
- const [moss_plugin_result, has_sveltekit_library_result, has_server_result, has_sveltekit_app_result,] = await Promise.all([
18
- load_moss_plugin(),
19
- has_sveltekit_library(),
17
+ const [moss_plugin_result, has_server_result, has_sveltekit_library_result, has_sveltekit_app_result,] = await Promise.all([
18
+ has_moss_dep(),
20
19
  has_server(),
20
+ has_sveltekit_library(),
21
21
  has_sveltekit_app(),
22
22
  ]);
23
23
  cfg.plugins = () => [
24
24
  // put things that generate files before SvelteKit so it can see them
25
- moss_plugin_result.ok ? moss_plugin_result.gro_plugin_moss() : null,
25
+ moss_plugin_result.ok ? gro_plugin_moss() : null,
26
26
  gro_plugin_gen(),
27
27
  has_server_result.ok ? gro_plugin_server() : null,
28
28
  has_sveltekit_library_result.ok ? gro_plugin_sveltekit_library() : null,
@@ -1,6 +1,12 @@
1
+ import type { Result } from '@ryanatkn/belt/result.js';
1
2
  import type { Plugin } from './plugin.js';
2
3
  import type { Args } from './args.js';
3
4
  import type { File_Filter } from './path.js';
5
+ import { type Package_Json } from './package_json.js';
6
+ export declare const MOSS_PACKAGE_DEP_NAME = "@ryanatkn/moss";
7
+ export declare const has_moss_dep: (package_json?: Package_Json, dep_name?: string) => Result<object, {
8
+ message: string;
9
+ }>;
4
10
  export declare const generate_classes_css: (classes: Iterable<string>) => string;
5
11
  export interface Task_Args extends Args {
6
12
  watch?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"gro_plugin_moss.d.ts","sourceRoot":"../src/lib/","sources":["gro_plugin_moss.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,WAAW,CAAC;AAGpC,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,WAAW,CAAC;AAE3C,eAAO,MAAM,oBAAoB,YAAa,QAAQ,CAAC,MAAM,CAAC,KAAG,MAmBhE,CAAC;AAIF,MAAM,WAAW,SAAU,SAAQ,IAAI;IACtC,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,OAAO;IACvB,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IACjC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,eAAe,8EAMzB,OAAO,KAAkB,MAmE3B,CAAC"}
1
+ {"version":3,"file":"gro_plugin_moss.d.ts","sourceRoot":"../src/lib/","sources":["gro_plugin_moss.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,0BAA0B,CAAC;AAErD,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,WAAW,CAAC;AAGpC,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAU,KAAK,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAE7D,eAAO,MAAM,qBAAqB,mBAAmB,CAAC;AAEtD,eAAO,MAAM,YAAY,kBACT,YAAY,wBAEzB,MAAM,CAAC,MAAM,EAAE;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC,CASlC,CAAC;AAEF,eAAO,MAAM,oBAAoB,YAAa,QAAQ,CAAC,MAAM,CAAC,KAAG,MAmBhE,CAAC;AAIF,MAAM,WAAW,SAAU,SAAQ,IAAI;IACtC,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,OAAO;IACvB,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IACjC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,eAAe,8EAMzB,OAAO,KAAkB,MAmE3B,CAAC"}
@@ -5,6 +5,17 @@ import { writeFileSync } from 'node:fs';
5
5
  import { collect_css_classes, Css_Classes } from '@ryanatkn/moss/css_class_helpers.js';
6
6
  import { css_classes_by_name } from '@ryanatkn/moss/css_classes.js';
7
7
  import { format_file } from './format_file.js';
8
+ import { has_dep } from './package_json.js';
9
+ export const MOSS_PACKAGE_DEP_NAME = '@ryanatkn/moss';
10
+ export const has_moss_dep = (package_json, dep_name = MOSS_PACKAGE_DEP_NAME) => {
11
+ if (!has_dep(dep_name, package_json)) {
12
+ return {
13
+ ok: false,
14
+ message: `no dependency found in package.json for ${dep_name}`,
15
+ };
16
+ }
17
+ return { ok: true };
18
+ };
8
19
  export const generate_classes_css = (classes) => {
9
20
  let css = '';
10
21
  for (const c of classes) {
@@ -1,7 +1,7 @@
1
1
  import type { Result } from '@ryanatkn/belt/result.js';
2
2
  import { type Package_Json } from './package_json.js';
3
3
  export declare const MOSS_PACKAGE_DEP_NAME = "@ryanatkn/moss";
4
- export declare const load_moss_plugin: (package_json?: Package_Json, dep_name?: string, plugin_path?: string, local_plugin_path?: string, pm_cli?: string) => Promise<Result<{
4
+ export declare const load_moss_plugin: (package_json?: Package_Json, dep_name?: string, plugin_path?: string, local_plugin_path?: string) => Promise<Result<{
5
5
  gro_plugin_moss: any;
6
6
  }, {
7
7
  message: string;
@@ -1 +1 @@
1
- {"version":3,"file":"moss_helpers.d.ts","sourceRoot":"../src/lib/","sources":["moss_helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,0BAA0B,CAAC;AAIrD,OAAO,EAAU,KAAK,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAG7D,eAAO,MAAM,qBAAqB,mBAAmB,CAAC;AAGtD,eAAO,MAAM,gBAAgB,kBACb,YAAY,2FAKzB,OAAO,CAAC,MAAM,CAAC;IAAC,eAAe,EAAE,GAAG,CAAA;CAAC,EAAE;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC,CAAC,CA4B3D,CAAC"}
1
+ {"version":3,"file":"moss_helpers.d.ts","sourceRoot":"../src/lib/","sources":["moss_helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,0BAA0B,CAAC;AAIrD,OAAO,EAAU,KAAK,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAG7D,eAAO,MAAM,qBAAqB,mBAAmB,CAAC;AAGtD,eAAO,MAAM,gBAAgB,kBACb,YAAY,0EAIzB,OAAO,CAAC,MAAM,CAAC;IAAC,eAAe,EAAE,GAAG,CAAA;CAAC,EAAE;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC,CAAC,CA4B3D,CAAC"}
@@ -1,15 +1,15 @@
1
1
  import { existsSync } from 'node:fs';
2
2
  import { resolve } from 'node:path';
3
3
  import { has_dep } from './package_json.js';
4
- import { NODE_MODULES_DIRNAME, PM_CLI_DEFAULT } from './constants.js';
4
+ import { NODE_MODULES_DIRNAME } from './constants.js';
5
5
  export const MOSS_PACKAGE_DEP_NAME = '@ryanatkn/moss';
6
6
  // TODO plugin type?
7
7
  export const load_moss_plugin = async (package_json, dep_name = MOSS_PACKAGE_DEP_NAME, plugin_path = `${NODE_MODULES_DIRNAME}/${dep_name}/dist/gro_plugin_moss.js`, // TODO maybe lookup from its `package_json.exports`? kinda unnecessary
8
- local_plugin_path = 'src/lib/gro_plugin_moss.ts', pm_cli = PM_CLI_DEFAULT) => {
8
+ local_plugin_path = 'src/lib/gro_plugin_moss.ts') => {
9
9
  if (!has_dep(dep_name, package_json)) {
10
10
  return {
11
11
  ok: false,
12
- message: `no dependency found in package.json for ${dep_name}, install it with \`${pm_cli} install -D ${dep_name}\``,
12
+ message: `no dependency found in package.json for ${dep_name}`,
13
13
  };
14
14
  }
15
15
  let path = undefined;
package/dist/package.d.ts CHANGED
@@ -745,6 +745,9 @@ export declare const src_json: {
745
745
  './gro_plugin_moss.js': {
746
746
  path: string;
747
747
  declarations: ({
748
+ name: string;
749
+ kind: "variable";
750
+ } | {
748
751
  name: string;
749
752
  kind: "function";
750
753
  } | {
@@ -1 +1 @@
1
- {"version":3,"file":"package.d.ts","sourceRoot":"../src/lib/","sources":["package.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwQD,CAAC;AAEzB,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmxBD,CAAC"}
1
+ {"version":3,"file":"package.d.ts","sourceRoot":"../src/lib/","sources":["package.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwQD,CAAC;AAEzB,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqxBD,CAAC"}
package/dist/package.js CHANGED
@@ -1,7 +1,7 @@
1
1
  // generated by src/lib/package.gen.ts
2
2
  export const package_json = {
3
3
  name: '@ryanatkn/gro',
4
- version: '0.144.0',
4
+ version: '0.144.1',
5
5
  description: 'task runner and toolkit extending SvelteKit',
6
6
  motto: 'generate, run, optimize',
7
7
  glyph: '🌰',
@@ -57,7 +57,7 @@ export const package_json = {
57
57
  '@changesets/types': '^6.0.0',
58
58
  '@ryanatkn/eslint-config': '^0.5.5',
59
59
  '@ryanatkn/fuz': '^0.130.3',
60
- '@ryanatkn/moss': '^0.18.2',
60
+ '@ryanatkn/moss': '^0.19.0',
61
61
  '@sveltejs/adapter-static': '^3.0.6',
62
62
  '@sveltejs/kit': '^2.7.3',
63
63
  '@sveltejs/package': '^2.3.7',
@@ -265,7 +265,7 @@ export const package_json = {
265
265
  };
266
266
  export const src_json = {
267
267
  name: '@ryanatkn/gro',
268
- version: '0.144.0',
268
+ version: '0.144.1',
269
269
  modules: {
270
270
  '.': {
271
271
  path: 'index.ts',
@@ -600,6 +600,8 @@ export const src_json = {
600
600
  './gro_plugin_moss.js': {
601
601
  path: 'gro_plugin_moss.ts',
602
602
  declarations: [
603
+ { name: 'MOSS_PACKAGE_DEP_NAME', kind: 'variable' },
604
+ { name: 'has_moss_dep', kind: 'function' },
603
605
  { name: 'generate_classes_css', kind: 'function' },
604
606
  { name: 'Task_Args', kind: 'type' },
605
607
  { name: 'Options', kind: 'type' },
@@ -12,7 +12,7 @@ export declare const SVELTEKIT_ENV_MATCHER: RegExp;
12
12
  export declare const has_sveltekit_app: () => Result<object, {
13
13
  message: string;
14
14
  }>;
15
- export declare const has_sveltekit_library: (package_json?: Package_Json, sveltekit_config?: Parsed_Sveltekit_Config, dep_name?: string, pm_cli?: string) => Result<object, {
15
+ export declare const has_sveltekit_library: (package_json?: Package_Json, sveltekit_config?: Parsed_Sveltekit_Config, dep_name?: string) => Result<object, {
16
16
  message: string;
17
17
  }>;
18
18
  export declare const sveltekit_sync: (sveltekit_cli?: string | Cli, pm_cli?: string) => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"sveltekit_helpers.d.ts","sourceRoot":"../src/lib/","sources":["sveltekit_helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,0BAA0B,CAAC;AAErD,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,uBAAuB,CAAC;AAGlD,OAAO,EAAC,YAAY,EAAU,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAA2B,KAAK,uBAAuB,EAAC,MAAM,uBAAuB,CAAC;AAE7F,OAAO,EAAmC,KAAK,GAAG,EAAC,MAAM,UAAU,CAAC;AAIpE,eAAO,MAAM,aAAa,eAAe,CAAC;AAE1C,eAAO,MAAM,gBAAgB,iBAAiB,CAAC;AAE/C,eAAO,MAAM,kBAAkB,mBAAmB,CAAC;AACnD,eAAO,MAAM,uBAAuB,sBAAsB,CAAC;AAE3D,eAAO,MAAM,QAAQ,SAAS,CAAC;AAE/B,eAAO,MAAM,qBAAqB,QAAgD,CAAC;AAEnF,eAAO,MAAM,iBAAiB,QAAO,MAAM,CAAC,MAAM,EAAE;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC,CAMpE,CAAC;AAEF,eAAO,MAAM,qBAAqB,kBAClB,YAAY,qBACT,uBAAuB,yCAGvC,MAAM,CAAC,MAAM,EAAE;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC,CAkBlC,CAAC;AAEF,eAAO,MAAM,cAAc,mBACX,MAAM,GAAG,GAAG,sBAEzB,OAAO,CAAC,IAAI,CASd,CAAC;AAGF;;GAEG;AACH,eAAO,MAAM,2BAA2B,mBACxB,MAAM,GAAG,GAAG,KACzB,OAAO,CAAC,IAAI,CAMd,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kCAAkC,mBAC/B,MAAM,GAAG,GAAG,KACzB,OAAO,CAAC,IAAI,CAUd,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACtC;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;OAEG;IACH,CAAC,CAAC,EAAE,OAAO,CAAC;IACZ;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,CAAC,CAAC,EAAE,MAAM,CAAC;IACX;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,CAAC,CAAC,EAAE,MAAM,CAAC;IACX;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;OAEG;IACH,CAAC,CAAC,EAAE,OAAO,CAAC;IACZ;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,kBAAkB,YACrB,sBAAsB,GAAG,SAAS,OACtC,MAAM,GAAG,GAAG,OACZ,MAAM,UACH,MAAM,KACZ,OAAO,CAAC,IAAI,CAmBd,CAAC;AAGF;;GAEG;AACH,eAAO,MAAM,qBAAqB,cACtB,MAAM,WACR,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,KAC9B,MASF,CAAC"}
1
+ {"version":3,"file":"sveltekit_helpers.d.ts","sourceRoot":"../src/lib/","sources":["sveltekit_helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,0BAA0B,CAAC;AAErD,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,uBAAuB,CAAC;AAGlD,OAAO,EAAC,YAAY,EAAU,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAA2B,KAAK,uBAAuB,EAAC,MAAM,uBAAuB,CAAC;AAE7F,OAAO,EAAmC,KAAK,GAAG,EAAC,MAAM,UAAU,CAAC;AAIpE,eAAO,MAAM,aAAa,eAAe,CAAC;AAE1C,eAAO,MAAM,gBAAgB,iBAAiB,CAAC;AAE/C,eAAO,MAAM,kBAAkB,mBAAmB,CAAC;AACnD,eAAO,MAAM,uBAAuB,sBAAsB,CAAC;AAE3D,eAAO,MAAM,QAAQ,SAAS,CAAC;AAE/B,eAAO,MAAM,qBAAqB,QAAgD,CAAC;AAEnF,eAAO,MAAM,iBAAiB,QAAO,MAAM,CAAC,MAAM,EAAE;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC,CAMpE,CAAC;AAEF,eAAO,MAAM,qBAAqB,kBAClB,YAAY,qBACT,uBAAuB,wBAEvC,MAAM,CAAC,MAAM,EAAE;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC,CAkBlC,CAAC;AAEF,eAAO,MAAM,cAAc,mBACX,MAAM,GAAG,GAAG,sBAEzB,OAAO,CAAC,IAAI,CASd,CAAC;AAGF;;GAEG;AACH,eAAO,MAAM,2BAA2B,mBACxB,MAAM,GAAG,GAAG,KACzB,OAAO,CAAC,IAAI,CAMd,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kCAAkC,mBAC/B,MAAM,GAAG,GAAG,KACzB,OAAO,CAAC,IAAI,CAUd,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACtC;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;OAEG;IACH,CAAC,CAAC,EAAE,OAAO,CAAC;IACZ;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,CAAC,CAAC,EAAE,MAAM,CAAC;IACX;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,CAAC,CAAC,EAAE,MAAM,CAAC;IACX;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;OAEG;IACH,CAAC,CAAC,EAAE,OAAO,CAAC;IACZ;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,kBAAkB,YACrB,sBAAsB,GAAG,SAAS,OACtC,MAAM,GAAG,GAAG,OACZ,MAAM,UACH,MAAM,KACZ,OAAO,CAAC,IAAI,CAmBd,CAAC;AAGF;;GAEG;AACH,eAAO,MAAM,qBAAqB,cACtB,MAAM,WACR,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,KAC9B,MASF,CAAC"}
@@ -19,7 +19,7 @@ export const has_sveltekit_app = () => {
19
19
  // TODO check for routes?
20
20
  return { ok: true };
21
21
  };
22
- export const has_sveltekit_library = (package_json, sveltekit_config = default_sveltekit_config, dep_name = SVELTE_PACKAGE_DEP_NAME, pm_cli = PM_CLI_DEFAULT) => {
22
+ export const has_sveltekit_library = (package_json, sveltekit_config = default_sveltekit_config, dep_name = SVELTE_PACKAGE_DEP_NAME) => {
23
23
  const has_sveltekit_app_result = has_sveltekit_app();
24
24
  if (!has_sveltekit_app_result.ok) {
25
25
  return has_sveltekit_app_result;
@@ -30,7 +30,7 @@ export const has_sveltekit_library = (package_json, sveltekit_config = default_s
30
30
  if (!has_dep(dep_name, package_json)) {
31
31
  return {
32
32
  ok: false,
33
- message: `no dependency found in package.json for ${dep_name}, install it with \`${pm_cli} install -D ${dep_name}\``,
33
+ message: `no dependency found in package.json for ${dep_name}`,
34
34
  };
35
35
  }
36
36
  return { ok: true };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ryanatkn/gro",
3
- "version": "0.144.0",
3
+ "version": "0.144.1",
4
4
  "description": "task runner and toolkit extending SvelteKit",
5
5
  "motto": "generate, run, optimize",
6
6
  "glyph": "🌰",
@@ -70,7 +70,7 @@
70
70
  "@changesets/types": "^6.0.0",
71
71
  "@ryanatkn/eslint-config": "^0.5.5",
72
72
  "@ryanatkn/fuz": "^0.130.3",
73
- "@ryanatkn/moss": "^0.18.2",
73
+ "@ryanatkn/moss": "^0.19.0",
74
74
  "@sveltejs/adapter-static": "^3.0.6",
75
75
  "@sveltejs/kit": "^2.7.3",
76
76
  "@sveltejs/package": "^2.3.7",
@@ -4,7 +4,7 @@ import {has_server, gro_plugin_server} from './gro_plugin_server.js';
4
4
  import {gro_plugin_sveltekit_app} from './gro_plugin_sveltekit_app.js';
5
5
  import {has_sveltekit_app, has_sveltekit_library} from './sveltekit_helpers.js';
6
6
  import {gro_plugin_gen} from './gro_plugin_gen.js';
7
- import {load_moss_plugin} from './moss_helpers.js';
7
+ import {gro_plugin_moss, has_moss_dep} from './gro_plugin_moss.js';
8
8
 
9
9
  /**
10
10
  * This is the default config that's passed to `gro.config.ts`
@@ -18,20 +18,20 @@ import {load_moss_plugin} from './moss_helpers.js';
18
18
  const config: Create_Gro_Config = async (cfg) => {
19
19
  const [
20
20
  moss_plugin_result,
21
- has_sveltekit_library_result,
22
21
  has_server_result,
22
+ has_sveltekit_library_result,
23
23
  has_sveltekit_app_result,
24
24
  ] = await Promise.all([
25
- load_moss_plugin(),
26
- has_sveltekit_library(),
25
+ has_moss_dep(),
27
26
  has_server(),
27
+ has_sveltekit_library(),
28
28
  has_sveltekit_app(),
29
29
  ]);
30
30
 
31
31
  cfg.plugins = () =>
32
32
  [
33
33
  // put things that generate files before SvelteKit so it can see them
34
- moss_plugin_result.ok ? moss_plugin_result.gro_plugin_moss() : null,
34
+ moss_plugin_result.ok ? gro_plugin_moss() : null,
35
35
  gro_plugin_gen(),
36
36
  has_server_result.ok ? gro_plugin_server() : null,
37
37
  has_sveltekit_library_result.ok ? gro_plugin_sveltekit_library() : null,
@@ -4,12 +4,30 @@ import {Unreachable_Error} from '@ryanatkn/belt/error.js';
4
4
  import {writeFileSync} from 'node:fs';
5
5
  import {collect_css_classes, Css_Classes} from '@ryanatkn/moss/css_class_helpers.js';
6
6
  import {css_classes_by_name} from '@ryanatkn/moss/css_classes.js';
7
+ import type {Result} from '@ryanatkn/belt/result.js';
7
8
 
8
9
  import type {Plugin} from './plugin.js';
9
10
  import type {Args} from './args.js';
10
11
  import type {Cleanup_Watch} from './filer.js';
11
12
  import {format_file} from './format_file.js';
12
13
  import type {File_Filter} from './path.js';
14
+ import {has_dep, type Package_Json} from './package_json.js';
15
+
16
+ export const MOSS_PACKAGE_DEP_NAME = '@ryanatkn/moss';
17
+
18
+ export const has_moss_dep = (
19
+ package_json?: Package_Json,
20
+ dep_name = MOSS_PACKAGE_DEP_NAME,
21
+ ): Result<object, {message: string}> => {
22
+ if (!has_dep(dep_name, package_json)) {
23
+ return {
24
+ ok: false,
25
+ message: `no dependency found in package.json for ${dep_name}`,
26
+ };
27
+ }
28
+
29
+ return {ok: true};
30
+ };
13
31
 
14
32
  export const generate_classes_css = (classes: Iterable<string>): string => {
15
33
  let css = '';
@@ -3,7 +3,7 @@ import {existsSync} from 'node:fs';
3
3
  import {resolve} from 'node:path';
4
4
 
5
5
  import {has_dep, type Package_Json} from './package_json.js';
6
- import {NODE_MODULES_DIRNAME, PM_CLI_DEFAULT} from './constants.js';
6
+ import {NODE_MODULES_DIRNAME} from './constants.js';
7
7
 
8
8
  export const MOSS_PACKAGE_DEP_NAME = '@ryanatkn/moss';
9
9
 
@@ -13,12 +13,11 @@ export const load_moss_plugin = async (
13
13
  dep_name = MOSS_PACKAGE_DEP_NAME,
14
14
  plugin_path = `${NODE_MODULES_DIRNAME}/${dep_name}/dist/gro_plugin_moss.js`, // TODO maybe lookup from its `package_json.exports`? kinda unnecessary
15
15
  local_plugin_path = 'src/lib/gro_plugin_moss.ts',
16
- pm_cli = PM_CLI_DEFAULT, // TODO source from config when possible, is just needed for error messages
17
16
  ): Promise<Result<{gro_plugin_moss: any}, {message: string}>> => {
18
17
  if (!has_dep(dep_name, package_json)) {
19
18
  return {
20
19
  ok: false,
21
- message: `no dependency found in package.json for ${dep_name}, install it with \`${pm_cli} install -D ${dep_name}\``,
20
+ message: `no dependency found in package.json for ${dep_name}`,
22
21
  };
23
22
  }
24
23
 
@@ -5,7 +5,7 @@ import type {Src_Json} from './src_json.js';
5
5
 
6
6
  export const package_json = {
7
7
  name: '@ryanatkn/gro',
8
- version: '0.144.0',
8
+ version: '0.144.1',
9
9
  description: 'task runner and toolkit extending SvelteKit',
10
10
  motto: 'generate, run, optimize',
11
11
  glyph: '🌰',
@@ -62,7 +62,7 @@ export const package_json = {
62
62
  '@changesets/types': '^6.0.0',
63
63
  '@ryanatkn/eslint-config': '^0.5.5',
64
64
  '@ryanatkn/fuz': '^0.130.3',
65
- '@ryanatkn/moss': '^0.18.2',
65
+ '@ryanatkn/moss': '^0.19.0',
66
66
  '@sveltejs/adapter-static': '^3.0.6',
67
67
  '@sveltejs/kit': '^2.7.3',
68
68
  '@sveltejs/package': '^2.3.7',
@@ -271,7 +271,7 @@ export const package_json = {
271
271
 
272
272
  export const src_json = {
273
273
  name: '@ryanatkn/gro',
274
- version: '0.144.0',
274
+ version: '0.144.1',
275
275
  modules: {
276
276
  '.': {
277
277
  path: 'index.ts',
@@ -606,6 +606,8 @@ export const src_json = {
606
606
  './gro_plugin_moss.js': {
607
607
  path: 'gro_plugin_moss.ts',
608
608
  declarations: [
609
+ {name: 'MOSS_PACKAGE_DEP_NAME', kind: 'variable'},
610
+ {name: 'has_moss_dep', kind: 'function'},
609
611
  {name: 'generate_classes_css', kind: 'function'},
610
612
  {name: 'Task_Args', kind: 'type'},
611
613
  {name: 'Options', kind: 'type'},
@@ -33,7 +33,6 @@ export const has_sveltekit_library = (
33
33
  package_json?: Package_Json,
34
34
  sveltekit_config: Parsed_Sveltekit_Config = default_sveltekit_config,
35
35
  dep_name = SVELTE_PACKAGE_DEP_NAME,
36
- pm_cli = PM_CLI_DEFAULT, // TODO source from config when possible, is just needed for error messages
37
36
  ): Result<object, {message: string}> => {
38
37
  const has_sveltekit_app_result = has_sveltekit_app();
39
38
  if (!has_sveltekit_app_result.ok) {
@@ -47,7 +46,7 @@ export const has_sveltekit_library = (
47
46
  if (!has_dep(dep_name, package_json)) {
48
47
  return {
49
48
  ok: false,
50
- message: `no dependency found in package.json for ${dep_name}, install it with \`${pm_cli} install -D ${dep_name}\``,
49
+ message: `no dependency found in package.json for ${dep_name}`,
51
50
  };
52
51
  }
53
52